X-Git-Url: https://git.saurik.com/cydia.git/blobdiff_plain/a9dbe12cff9b5de401da271e92ac72a285227670..5cdfcd6ff1223d3200b8f8a051b07f137e353604:/UICaboodle/BrowserView.h diff --git a/UICaboodle/BrowserView.h b/UICaboodle/BrowserView.h index d7743091..f44e6bac 100644 --- a/UICaboodle/BrowserView.h +++ b/UICaboodle/BrowserView.h @@ -10,12 +10,13 @@ #import +#include "substrate.h" + @class NSMutableArray; @class NSString; @class NSURL; @class NSURLRequest; -@class UIProgressIndicator; @class UIScroller; @class UIDocumentWebView; @@ -24,97 +25,117 @@ @class Database; @class IndirectDelegate; +@protocol CYWebViewDelegate +- (void) webView:(WebView *)view addMessageToConsole:(NSDictionary *)message; +- (void) webView:(WebView *)view decidePolicyForNavigationAction:(NSDictionary *)action request:(NSURLRequest *)request frame:(WebFrame *)frame decisionListener:(id)listener; +- (void) webView:(WebView *)view decidePolicyForNewWindowAction:(NSDictionary *)action request:(NSURLRequest *)request newFrameName:(NSString *)name decisionListener:(id)listener; +- (void) webView:(WebView *)view didClearWindowObject:(WebScriptObject *)window forFrame:(WebFrame *)frame; +- (void) webView:(WebView *)view didFailLoadWithError:(NSError *)error forFrame:(WebFrame *)frame; +- (void) webView:(WebView *)view didFailProvisionalLoadWithError:(NSError *)error forFrame:(WebFrame *)frame; +- (void) webView:(WebView *)view didFinishLoadForFrame:(WebFrame *)frame; +- (void) webView:(WebView *)view didReceiveTitle:(NSString *)title forFrame:(WebFrame *)frame; +- (void) webView:(WebView *)view didStartProvisionalLoadForFrame:(WebFrame *)frame; +- (NSURLRequest *) webView:(WebView *)view resource:(id)resource willSendRequest:(NSURLRequest *)request redirectResponse:(NSURLResponse *)response fromDataSource:(WebDataSource *)source; +- (void) webViewClose:(WebView *)view; +- (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 +- (id) delegate; +@end + @interface WebScriptObject (UICaboodle) -- (unsigned) count; +- (NSUInteger) count; - (id) objectAtIndex:(unsigned)index; @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 + CYWebViewDelegate, + HookProtocol, + UIWebViewDelegate > { - UIScroller *scroller_; - UIWebDocumentView *document_; - UIProgressIndicator *indicator_; + _transient CYWebView *webview_; + _transient UIScrollView *scroller_; + + UIActivityIndicatorView *indicator_; IndirectDelegate *indirect_; NSURLAuthenticationChallenge *challenge_; bool error_; NSURLRequest *request_; - NSNumber *confirm_; - NSNumber *sensitive_; + _transient NSNumber *sensitive_; + NSString *title_; NSMutableSet *loading_; - bool reloading_; - NSString *button_; - NSString *style_; + // XXX: NSString * or UIImage * + _H custom_; + _H style_; - WebScriptObject *function_; + _H function_; WebScriptObject *closer_; - WebScriptObject *special_; - WebScriptObject *finish_; - - bool pushed_; float width_; - bool popup_; - - CGSize size_; - bool editing_; - Class class_; - id reloaditem_; - id loadingitem_; + 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) fixScroller; - -- (WebView *) webView; -- (UIWebDocumentView *) documentView; +- (void) reloadURLWithCache:(BOOL)cache; +- (void) reloadURL; - (id) init; +- (id) initWithURL:(NSURL *)url; - (id) initWithWidth:(float)width; - (id) initWithWidth:(float)width ofClass:(Class)_class; -- (NSString *) stringByEvaluatingJavaScriptFromString:(NSString *)script; - (void) callFunction:(WebScriptObject *)function; -- (void) webView:(WebView *)sender didFinishLoadForFrame:(WebFrame *)frame; -- (void) webView:(WebView *)sender didClearWindowObject:(WebScriptObject *)window forFrame:(WebFrame *)frame; - -- (NSURLRequest *) webView:(WebView *)sender resource:(id)identifier willSendRequest:(NSURLRequest *)request redirectResponse:(NSURLResponse *)redirectResponse fromDataSource:(WebDataSource *)source; +- (void) webView:(WebView *)view didClearWindowObject:(WebScriptObject *)window forFrame:(WebFrame *)frame; +- (NSURLRequest *) webView:(WebView *)view resource:(id)identifier willSendRequest:(NSURLRequest *)request redirectResponse:(NSURLResponse *)response fromDataSource:(WebDataSource *)source; + (float) defaultWidth; -- (void) setViewportWidth:(float)width; - (void) setButtonImage:(NSString *)button withStyle:(NSString *)style toFunction:(id)function; - (void) setButtonTitle:(NSString *)button withStyle:(NSString *)style toFunction:(id)function; -- (void) setFinishHook:(id)function; - (void) setPopupHook:(id)function; - -- (bool) promptForSensitive:(NSString *)name; -- (bool) allowSensitiveRequests; +- (void) setHidesNavigationBar:(bool)value; - (void) alertView:(UIAlertView *)alert clickedButtonAtIndex:(NSInteger)button; - (void) customButtonClicked; - (void) applyRightButton; -- (void) _startLoading; +- (void) _didStartLoading; +- (void) _didFinishLoading; + - (void) close; +- (void) dispatchEvent:(NSString *)event; + +- (void) setViewportWidthOnMainThread:(float)value; + @end