]> git.saurik.com Git - cydia.git/blame - UICaboodle/BrowserView.h
Add cydia.setPasteboard*() for clipboard access.
[cydia.git] / UICaboodle / BrowserView.h
CommitLineData
a9dbe12c 1#import <UICaboodle/RVPage.h>
a9dbe12c
JF
2
3#import <UIKit/UIKit.h>
ab398adf 4
22f8bed9 5#include <WebKit/DOMNodeList.h>
22f8bed9 6#include <WebKit/WebFrame.h>
22f8bed9 7#include <WebKit/WebScriptObject.h>
c21004b9 8#include <WebKit/WebView.h>
22f8bed9
JF
9
10#import <JavaScriptCore/JavaScriptCore.h>
11
46d3a5cf
JF
12#include "substrate.h"
13
ab398adf
JF
14@class NSMutableArray;
15@class NSString;
16@class NSURL;
17@class NSURLRequest;
18
ab398adf 19@class UIScroller;
facbc56d 20@class UIDocumentWebView;
ab398adf 21
a9543575
JF
22@class WebView;
23
ab398adf 24@class Database;
facbc56d 25@class IndirectDelegate;
43f3d7f6 26
2634b249 27@protocol CYWebViewDelegate <UIWebViewDelegate>
72bdb258 28- (void) webView:(WebView *)view addMessageToConsole:(NSDictionary *)message;
2634b249
JF
29- (void) webView:(WebView *)view decidePolicyForNavigationAction:(NSDictionary *)action request:(NSURLRequest *)request frame:(WebFrame *)frame decisionListener:(id<WebPolicyDecisionListener>)listener;
30- (void) webView:(WebView *)view decidePolicyForNewWindowAction:(NSDictionary *)action request:(NSURLRequest *)request newFrameName:(NSString *)name decisionListener:(id<WebPolicyDecisionListener>)listener;
31- (void) webView:(WebView *)view didClearWindowObject:(WebScriptObject *)window forFrame:(WebFrame *)frame;
32- (void) webView:(WebView *)view didFailLoadWithError:(NSError *)error forFrame:(WebFrame *)frame;
33- (void) webView:(WebView *)view didFailProvisionalLoadWithError:(NSError *)error forFrame:(WebFrame *)frame;
34- (void) webView:(WebView *)view didFinishLoadForFrame:(WebFrame *)frame;
35- (void) webView:(WebView *)view didReceiveTitle:(NSString *)title forFrame:(WebFrame *)frame;
36- (void) webView:(WebView *)view didStartProvisionalLoadForFrame:(WebFrame *)frame;
37- (NSURLRequest *) webView:(WebView *)view resource:(id)resource willSendRequest:(NSURLRequest *)request redirectResponse:(NSURLResponse *)response fromDataSource:(WebDataSource *)source;
38- (void) webViewClose:(WebView *)view;
39- (bool) webView:(WebView *)view shouldRunJavaScriptAlertPanelWithMessage:(NSString *)message initiatedByFrame:(WebFrame *)frame;
40- (bool) webView:(WebView *)view shouldRunJavaScriptConfirmPanelWithMessage:(NSString *)message initiatedByFrame:(WebFrame *)frame;
41- (bool) webView:(WebView *)view shouldRunJavaScriptTextInputPanelWithPrompt:(NSString *)prompt defaultText:(NSString *)text initiatedByFrame:(WebFrame *)frame;
7e37a676 42- (void) webViewUpdateViewSettings:(UIWebView *)view;
2634b249
JF
43@end
44
45@interface CYWebView : UIWebView
46- (id<CYWebViewDelegate>) delegate;
47@end
48
43f3d7f6 49@interface WebScriptObject (UICaboodle)
96f3833b 50- (NSUInteger) count;
43f3d7f6
JF
51- (id) objectAtIndex:(unsigned)index;
52@end
53
2e6c1426 54@protocol BrowserControllerDelegate
54043703
JF
55- (void) retainNetworkActivityIndicator;
56- (void) releaseNetworkActivityIndicator;
028dbd1c 57- (CYViewController *) pageForURL:(NSURL *)url forExternal:(BOOL)external;
302bf91c 58- (void) unloadData;
43f3d7f6 59@end
ab398adf 60
9b623dac 61@interface BrowserController : CYViewController <
2634b249 62 CYWebViewDelegate,
2634b249 63 UIWebViewDelegate
c21004b9 64> {
3931b718
JF
65 _transient CYWebView *webview_;
66 _transient UIScrollView *scroller_;
2634b249 67
7a11fbb9 68 UIActivityIndicatorView *indicator_;
facbc56d 69 IndirectDelegate *indirect_;
0ce617c8 70 NSURLAuthenticationChallenge *challenge_;
fe468f45
JF
71
72 bool error_;
a374f380 73 _H<NSURLRequest> request_;
ab398adf 74
3931b718 75 _transient NSNumber *sensitive_;
2634b249 76
ab398adf 77 NSString *title_;
caa427d1 78 NSMutableSet *loading_;
a0376fc1 79
2634b249 80 // XXX: NSString * or UIImage *
46d3a5cf
JF
81 _H<NSObject> custom_;
82 _H<NSString> style_;
caa427d1 83
46d3a5cf 84 _H<WebScriptObject> function_;
3e9c9e85
JF
85
86 float width_;
245cce8a 87 Class class_;
bc11cf5b 88
2634b249
JF
89 UIBarButtonItem *reloaditem_;
90 UIBarButtonItem *loadingitem_;
5cdfcd6f
JF
91
92 bool visible_;
93 bool hidesNavigationBar_;
8366df5e 94 bool allowsNavigationAction_;
ab398adf
JF
95}
96
ea173384
JF
97+ (void) _initialize;
98
eb09425a
JF
99- (void) setURL:(NSURL *)url;
100
ab398adf
JF
101- (void) loadURL:(NSURL *)url cachePolicy:(NSURLRequestCachePolicy)policy;
102- (void) loadURL:(NSURL *)url;
103
104- (void) loadRequest:(NSURLRequest *)request;
12b59862 105- (bool) isLoading;
ab398adf 106
b13b8664
JF
107- (void) reloadURLWithCache:(BOOL)cache;
108- (void) reloadURL;
109
b5e7eebb 110- (id) init;
eb09425a 111- (id) initWithURL:(NSURL *)url;
b5e7eebb
GP
112- (id) initWithWidth:(float)width;
113- (id) initWithWidth:(float)width ofClass:(Class)_class;
ab398adf 114
caa427d1
JF
115- (void) callFunction:(WebScriptObject *)function;
116
2634b249
JF
117- (void) webView:(WebView *)view didClearWindowObject:(WebScriptObject *)window forFrame:(WebFrame *)frame;
118- (NSURLRequest *) webView:(WebView *)view resource:(id)identifier willSendRequest:(NSURLRequest *)request redirectResponse:(NSURLResponse *)response fromDataSource:(WebDataSource *)source;
43f3d7f6 119
3e9c9e85
JF
120+ (float) defaultWidth;
121
caa427d1
JF
122- (void) setButtonImage:(NSString *)button withStyle:(NSString *)style toFunction:(id)function;
123- (void) setButtonTitle:(NSString *)button withStyle:(NSString *)style toFunction:(id)function;
5cdfcd6f 124- (void) setHidesNavigationBar:(bool)value;
caa427d1 125
c21004b9 126- (void) alertView:(UIAlertView *)alert clickedButtonAtIndex:(NSInteger)button;
a5938ea5 127- (void) customButtonClicked;
c21004b9
JF
128- (void) applyRightButton;
129
2634b249
JF
130- (void) _didStartLoading;
131- (void) _didFinishLoading;
132
c21004b9
JF
133- (void) close;
134
f196b921
JF
135- (void) dispatchEvent:(NSString *)event;
136
8dbdaafa
JF
137- (void) setViewportWidthOnMainThread:(float)value;
138
a5938ea5 139@end