X-Git-Url: https://git.saurik.com/cydia.git/blobdiff_plain/c390d3ab34d681832980e545b276467787a70d0a..9bb3b29517f87de33c5e2e47b2a75da4417284a3:/UICaboodle/BrowserView.h diff --git a/UICaboodle/BrowserView.h b/UICaboodle/BrowserView.h index 48dac915..f224326a 100644 --- a/UICaboodle/BrowserView.h +++ b/UICaboodle/BrowserView.h @@ -1,11 +1,20 @@ -#import "ResetView.h" +#import +#import + +#import + +#include +#include +#include +#include + +#import @class NSMutableArray; @class NSString; @class NSURL; @class NSURLRequest; -@class UIProgressIndicator; @class UIScroller; @class UIDocumentWebView; @@ -14,32 +23,103 @@ @class Database; @class IndirectDelegate; -@interface BrowserView : RVPage { - _transient Database *database_; - UIScroller *scroller_; - UIWebDocumentView *webview_; - NSMutableArray *urls_; - UIProgressIndicator *indicator_; +@protocol CYWebViewDelegate +- (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) +- (NSUInteger) count; +- (id) objectAtIndex:(unsigned)index; +@end + +@protocol BrowserControllerDelegate +- (void) retainNetworkActivityIndicator; +- (void) releaseNetworkActivityIndicator; +- (CYViewController *) pageForURL:(NSURL *)url hasTag:(int *)tag; +@end + +@interface BrowserController : CYViewController < + CYWebViewDelegate, + HookProtocol, + UIWebViewDelegate +> { + _transient CYWebView *webview_; + _transient UIScrollView *scroller_; + + UIActivityIndicatorView *indicator_; IndirectDelegate *indirect_; + NSURLAuthenticationChallenge *challenge_; + + bool error_; + NSURLRequest *request_; + + _transient NSNumber *sensitive_; NSString *title_; - bool loading_; - bool reloading_; + NSMutableSet *loading_; + + // XXX: NSString * or UIImage * + id custom_; + NSString *style_; - bool pushed_; + WebScriptObject *function_; + WebScriptObject *closer_; + + float width_; + Class class_; + + UIBarButtonItem *reloaditem_; + UIBarButtonItem *loadingitem_; } ++ (void) _initialize; + - (void) loadURL:(NSURL *)url cachePolicy:(NSURLRequestCachePolicy)policy; - (void) loadURL:(NSURL *)url; - (void) loadRequest:(NSURLRequest *)request; - (void) reloadURL; +- (bool) isLoading; + +- (id) init; +- (id) initWithWidth:(float)width; +- (id) initWithWidth:(float)width ofClass:(Class)_class; + +- (void) callFunction:(WebScriptObject *)function; + +- (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) setButtonImage:(NSString *)button withStyle:(NSString *)style toFunction:(id)function; +- (void) setButtonTitle:(NSString *)button withStyle:(NSString *)style toFunction:(id)function; +- (void) setPopupHook:(id)function; -- (WebView *) webView; +- (void) alertView:(UIAlertView *)alert clickedButtonAtIndex:(NSInteger)button; +- (void) customButtonClicked; +- (void) applyRightButton; -- (id) initWithBook:(RVBook *)book database:(Database *)database; +- (void) _didStartLoading; +- (void) _didFinishLoading; -- (void) webView:(WebView *)sender didFinishLoadForFrame:(WebFrame *)frame; -- (void) webView:(WebView *)sender didClearWindowObject:(WebScriptObject *)window forFrame:(WebFrame *)frame; +- (void) close; @end