#import <JavaScriptCore/JavaScriptCore.h>
+#include "substrate.h"
+
@class NSMutableArray;
@class NSString;
@class NSURL;
@class NSURLRequest;
-@class UIProgressIndicator;
@class UIScroller;
@class UIDocumentWebView;
@class IndirectDelegate;
@protocol CYWebViewDelegate <UIWebViewDelegate>
+- (void) webView:(WebView *)view addMessageToConsole:(NSDictionary *)message;
- (void) webView:(WebView *)view decidePolicyForNavigationAction:(NSDictionary *)action request:(NSURLRequest *)request frame:(WebFrame *)frame decisionListener:(id<WebPolicyDecisionListener>)listener;
- (void) webView:(WebView *)view decidePolicyForNewWindowAction:(NSDictionary *)action request:(NSURLRequest *)request newFrameName:(NSString *)name decisionListener:(id<WebPolicyDecisionListener>)listener;
- (void) webView:(WebView *)view didClearWindowObject:(WebScriptObject *)window forFrame:(WebFrame *)frame;
- (bool) webView:(WebView *)view shouldRunJavaScriptAlertPanelWithMessage:(NSString *)message initiatedByFrame:(WebFrame *)frame;
- (bool) webView:(WebView *)view shouldRunJavaScriptConfirmPanelWithMessage:(NSString *)message initiatedByFrame:(WebFrame *)frame;
- (bool) webView:(WebView *)view shouldRunJavaScriptTextInputPanelWithPrompt:(NSString *)prompt defaultText:(NSString *)text initiatedByFrame:(WebFrame *)frame;
+- (void) webViewUpdateViewSettings:(UIWebView *)view;
@end
@interface CYWebView : UIWebView
@end
@protocol BrowserControllerDelegate
-- (CYViewController *) pageForURL:(NSURL *)url hasTag:(int *)tag;
+- (void) retainNetworkActivityIndicator;
+- (void) releaseNetworkActivityIndicator;
+- (CYViewController *) pageForURL:(NSURL *)url forExternal:(BOOL)external;
@end
@interface BrowserController : CYViewController <
HookProtocol,
UIWebViewDelegate
> {
- CYWebView *webview_;
- UIScrollView *scroller_;
+ _transient CYWebView *webview_;
+ _transient UIScrollView *scroller_;
- UIProgressIndicator *indicator_;
+ UIActivityIndicatorView *indicator_;
IndirectDelegate *indirect_;
NSURLAuthenticationChallenge *challenge_;
bool error_;
NSURLRequest *request_;
- NSNumber *sensitive_;
+ _transient NSNumber *sensitive_;
NSString *title_;
NSMutableSet *loading_;
// XXX: NSString * or UIImage *
- id custom_;
- NSString *style_;
+ _H<NSObject> custom_;
+ _H<NSString> style_;
- WebScriptObject *function_;
+ _H<WebScriptObject> function_;
WebScriptObject *closer_;
float width_;
UIBarButtonItem *reloaditem_;
UIBarButtonItem *loadingitem_;
+
+ bool visible_;
+ bool hidesNavigationBar_;
}
+ (void) _initialize;
+- (void) setURL:(NSURL *)url;
+
- (void) loadURL:(NSURL *)url cachePolicy:(NSURLRequestCachePolicy)policy;
- (void) loadURL:(NSURL *)url;
- (void) loadRequest:(NSURLRequest *)request;
-- (void) reloadURL;
- (bool) isLoading;
+- (void) reloadURLWithCache:(BOOL)cache;
+- (void) reloadURL;
+
- (id) init;
+- (id) initWithURL:(NSURL *)url;
- (id) initWithWidth:(float)width;
- (id) initWithWidth:(float)width ofClass:(Class)_class;
- (void) setButtonImage:(NSString *)button withStyle:(NSString *)style toFunction:(id)function;
- (void) setButtonTitle:(NSString *)button withStyle:(NSString *)style toFunction:(id)function;
- (void) setPopupHook:(id)function;
+- (void) setHidesNavigationBar:(bool)value;
- (void) alertView:(UIAlertView *)alert clickedButtonAtIndex:(NSInteger)button;
- (void) customButtonClicked;
- (void) close;
+- (void) dispatchEvent:(NSString *)event;
+
+- (void) setViewportWidthOnMainThread:(float)value;
+
@end