]> git.saurik.com Git - cydia.git/blobdiff - UICaboodle/BrowserView.h
Export cydia.setHidesNavigationBar() to JavaScript.
[cydia.git] / UICaboodle / BrowserView.h
index a3e1830bf86fedb1932a1fece3bb3d4097f34478..f44e6bac0bb0c2bda0bd06796d5619a1c74ad386 100644 (file)
@@ -1,32 +1,22 @@
-#import "ResetView.h"
+#import <UICaboodle/RVPage.h>
+#import <UICaboodle/RVBook.h>
 
+#import <UIKit/UIKit.h>
 
-#include <WebKit/DOMCSSPrimitiveValue.h>
-#include <WebKit/DOMCSSStyleDeclaration.h>
-#include <WebKit/DOMDocument.h>
-#include <WebKit/DOMHTMLBodyElement.h>
 #include <WebKit/DOMNodeList.h>
-#include <WebKit/DOMRGBColor.h>
-
 #include <WebKit/WebFrame.h>
-#include <WebKit/WebPolicyDelegate.h>
-#include <WebKit/WebPreferences.h>
 #include <WebKit/WebScriptObject.h>
-
-#import <WebKit/WebView.h>
-#import <WebKit/WebView-WebPrivate.h>
-
-#include <WebCore/Page.h>
-#include <WebCore/Settings.h>
+#include <WebKit/WebView.h>
 
 #import <JavaScriptCore/JavaScriptCore.h>
 
+#include "substrate.h"
+
 @class NSMutableArray;
 @class NSString;
 @class NSURL;
 @class NSURLRequest;
 
-@class UIProgressIndicator;
 @class UIScroller;
 @class UIDocumentWebView;
 
 
 @class Database;
 @class IndirectDelegate;
-@class CydiaObject;
 
-@interface BrowserView : RVPage {
-    UIScroller *scroller_;
-    UIWebDocumentView *webview_;
-    UIProgressIndicator *indicator_;
+@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;
+- (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<CYWebViewDelegate>) delegate;
+@end
+
+@interface WebScriptObject (UICaboodle)
+- (NSUInteger) count;
+- (id) objectAtIndex:(unsigned)index;
+@end
+
+@protocol BrowserControllerDelegate
+- (void) retainNetworkActivityIndicator;
+- (void) releaseNetworkActivityIndicator;
+- (CYViewController *) pageForURL:(NSURL *)url forExternal:(BOOL)external;
+@end
+
+@interface BrowserController : CYViewController <
+    CYWebViewDelegate,
+    HookProtocol,
+    UIWebViewDelegate
+> {
+    _transient CYWebView *webview_;
+    _transient UIScrollView *scroller_;
+
+    UIActivityIndicatorView *indicator_;
     IndirectDelegate *indirect_;
-    CydiaObject *cydia_;
     NSURLAuthenticationChallenge *challenge_;
 
     bool error_;
     NSURLRequest *request_;
 
-    NSNumber *confirm_;
+    _transient NSNumber *sensitive_;
+
     NSString *title_;
-    bool loading_;
-    bool reloading_;
+    NSMutableSet *loading_;
 
-    NSString *button_;
-    NSString *style_;
-    WebScriptObject *function_;
+    // XXX: NSString * or UIImage *
+    _H<NSObject> custom_;
+    _H<NSString> style_;
 
-    bool pushed_;
+    _H<WebScriptObject> function_;
+    WebScriptObject *closer_;
 
     float width_;
-    bool popup_;
+    Class class_;
+
+    UIBarButtonItem *reloaditem_;
+    UIBarButtonItem *loadingitem_;
+
+    bool visible_;
+    bool hidesNavigationBar_;
 }
 
-- (void) alertSheet:(UIActionSheet *)sheet buttonClicked:(int)button;
++ (void) _initialize;
+
+- (void) setURL:(NSURL *)url;
 
 - (void) loadURL:(NSURL *)url cachePolicy:(NSURLRequestCachePolicy)policy;
 - (void) loadURL:(NSURL *)url;
 
 - (void) loadRequest:(NSURLRequest *)request;
+- (bool) isLoading;
+
+- (void) reloadURLWithCache:(BOOL)cache;
 - (void) reloadURL;
 
-- (WebView *) webView;
-- (UIWebDocumentView *) documentView;
+- (id) init;
+- (id) initWithURL:(NSURL *)url;
+- (id) initWithWidth:(float)width;
+- (id) initWithWidth:(float)width ofClass:(Class)_class;
 
-- (id) initWithBook:(RVBook *)book;
-- (id) initWithBook:(RVBook *)book forWidth:(float)width;
+- (void) callFunction:(WebScriptObject *)function;
 
-- (void) webView:(WebView *)sender didFinishLoadForFrame:(WebFrame *)frame;
-- (void) webView:(WebView *)sender didClearWindowObject:(WebScriptObject *)window forFrame:(WebFrame *)frame;
+- (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;
 
-- (id) _rightButtonTitle;
+- (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) applyRightButton;
+
+- (void) _didStartLoading;
+- (void) _didFinishLoading;
+
+- (void) close;
+
+- (void) dispatchEvent:(NSString *)event;
+
+- (void) setViewportWidthOnMainThread:(float)value;
 
 @end