1 #import <UICaboodle/RVPage.h>
2 #import <UICaboodle/RVBook.h>
4 #import <UIKit/UIKit.h>
6 #include <WebKit/DOMNodeList.h>
7 #include <WebKit/WebFrame.h>
8 #include <WebKit/WebScriptObject.h>
9 #include <WebKit/WebView.h>
11 #import <JavaScriptCore/JavaScriptCore.h>
13 @
class NSMutableArray
;
18 @
class UIProgressIndicator
;
20 @
class UIDocumentWebView
;
25 @
class IndirectDelegate
;
27 @protocol CYWebViewDelegate
<UIWebViewDelegate
>
28 - (void) webView
:(WebView
*)view decidePolicyForNavigationAction
:(NSDictionary
*)action request
:(NSURLRequest
*)request frame
:(WebFrame
*)frame decisionListener
:(id
<WebPolicyDecisionListener
>)listener
;
29 - (void) webView
:(WebView
*)view decidePolicyForNewWindowAction
:(NSDictionary
*)action request
:(NSURLRequest
*)request newFrameName
:(NSString
*)name decisionListener
:(id
<WebPolicyDecisionListener
>)listener
;
30 - (void) webView
:(WebView
*)view didClearWindowObject
:(WebScriptObject
*)window forFrame
:(WebFrame
*)frame
;
31 - (void) webView
:(WebView
*)view didFailLoadWithError
:(NSError
*)error forFrame
:(WebFrame
*)frame
;
32 - (void) webView
:(WebView
*)view didFailProvisionalLoadWithError
:(NSError
*)error forFrame
:(WebFrame
*)frame
;
33 - (void) webView
:(WebView
*)view didFinishLoadForFrame
:(WebFrame
*)frame
;
34 - (void) webView
:(WebView
*)view didReceiveTitle
:(NSString
*)title forFrame
:(WebFrame
*)frame
;
35 - (void) webView
:(WebView
*)view didStartProvisionalLoadForFrame
:(WebFrame
*)frame
;
36 - (NSURLRequest
*) webView
:(WebView
*)view resource
:(id
)resource willSendRequest
:(NSURLRequest
*)request redirectResponse
:(NSURLResponse
*)response fromDataSource
:(WebDataSource
*)source
;
37 - (void) webViewClose
:(WebView
*)view
;
38 - (bool) webView
:(WebView
*)view shouldRunJavaScriptAlertPanelWithMessage
:(NSString
*)message initiatedByFrame
:(WebFrame
*)frame
;
39 - (bool) webView
:(WebView
*)view shouldRunJavaScriptConfirmPanelWithMessage
:(NSString
*)message initiatedByFrame
:(WebFrame
*)frame
;
40 - (bool) webView
:(WebView
*)view shouldRunJavaScriptTextInputPanelWithPrompt
:(NSString
*)prompt defaultText
:(NSString
*)text initiatedByFrame
:(WebFrame
*)frame
;
43 @interface CYWebView
: UIWebView
44 - (id
<CYWebViewDelegate
>) delegate
;
47 @interface
WebScriptObject (UICaboodle
)
49 - (id
) objectAtIndex
:(unsigned)index
;
52 @protocol BrowserControllerDelegate
53 - (CYViewController
*) pageForURL
:(NSURL
*)url hasTag
:(int *)tag
;
56 @interface BrowserController
: CYViewController
<
61 _transient CYWebView
*webview_
;
62 _transient UIScrollView
*scroller_
;
64 UIProgressIndicator
*indicator_
;
65 IndirectDelegate
*indirect_
;
66 NSURLAuthenticationChallenge
*challenge_
;
69 NSURLRequest
*request_
;
71 _transient NSNumber
*sensitive_
;
74 NSMutableSet
*loading_
;
76 // XXX: NSString * or UIImage *
80 WebScriptObject
*function_
;
81 WebScriptObject
*closer_
;
86 UIBarButtonItem
*reloaditem_
;
87 UIBarButtonItem
*loadingitem_
;
92 - (void) loadURL
:(NSURL
*)url cachePolicy
:(NSURLRequestCachePolicy
)policy
;
93 - (void) loadURL
:(NSURL
*)url
;
95 - (void) loadRequest
:(NSURLRequest
*)request
;
100 - (id
) initWithWidth
:(float)width
;
101 - (id
) initWithWidth
:(float)width ofClass
:(Class
)_class
;
103 - (void) callFunction
:(WebScriptObject
*)function
;
105 - (void) webView
:(WebView
*)view didClearWindowObject
:(WebScriptObject
*)window forFrame
:(WebFrame
*)frame
;
106 - (NSURLRequest
*) webView
:(WebView
*)view resource
:(id
)identifier willSendRequest
:(NSURLRequest
*)request redirectResponse
:(NSURLResponse
*)response fromDataSource
:(WebDataSource
*)source
;
108 + (float) defaultWidth
;
110 - (void) setButtonImage
:(NSString
*)button withStyle
:(NSString
*)style toFunction
:(id
)function
;
111 - (void) setButtonTitle
:(NSString
*)button withStyle
:(NSString
*)style toFunction
:(id
)function
;
112 - (void) setPopupHook
:(id
)function
;
114 - (void) alertView
:(UIAlertView
*)alert clickedButtonAtIndex
:(NSInteger
)button
;
115 - (void) customButtonClicked
;
116 - (void) applyRightButton
;
118 - (void) _didStartLoading
;
119 - (void) _didFinishLoading
;