1 /* Cydia - iPhone UIKit Front-End for Debian APT
2 * Copyright (C) 2008-2015 Jay Freeman (saurik)
5 /* GNU General Public License, Version 3 {{{ */
7 * Cydia is free software: you can redistribute it and/or modify
8 * it under the terms of the GNU General Public License as published
9 * by the Free Software Foundation, either version 3 of the License,
10 * or (at your option) any later version.
12 * Cydia is distributed in the hope that it will be useful, but
13 * WITHOUT ANY WARRANTY; without even the implied warranty of
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 * GNU General Public License for more details.
17 * You should have received a copy of the GNU General Public License
18 * along with Cydia. If not, see <http://www.gnu.org/licenses/>.
22 #ifndef CyteKit_WebViewController_H
23 #define CyteKit_WebViewController_H
25 #include "CyteKit/ViewController.h"
26 #include "CyteKit/WebView.h"
28 #include <UIKit/UIKit.h>
29 #include <MessageUI/MessageUI.h>
31 @
class IndirectDelegate
;
33 @interface Diversion
: NSObject
34 - (id
) initWithFrom
:(NSString
*)from to
:(NSString
*)to
;
37 @protocol CyteWebViewControllerDelegate
38 - (void) retainNetworkActivityIndicator
;
39 - (void) releaseNetworkActivityIndicator
;
40 - (CyteViewController
*) pageForURL
:(NSURL
*)url forExternal
:(BOOL
)external withReferrer
:(NSString
*)referrer
;
44 @interface CyteWebViewController
: CyteViewController
<
46 MFMailComposeViewControllerDelegate
,
52 - (CyteWebView
*) webView
;
53 - (CyteWebViewController
*) indirect
;
55 - (void) setRequest
:(NSURLRequest
*)request
;
56 - (NSURLRequest
*) request
;
58 - (void) setURL
:(NSURL
*)url
;
59 - (void) setURL
:(NSURL
*)url withReferrer
:(NSString
*)referrer
;
61 - (void) loadURL
:(NSURL
*)url cachePolicy
:(NSURLRequestCachePolicy
)policy
;
62 - (void) loadURL
:(NSURL
*)url
;
64 - (void) loadRequest
:(NSURLRequest
*)request
;
69 - (id
) initWithURL
:(NSURL
*)url
;
70 - (id
) initWithRequest
:(NSURLRequest
*)request
;
72 - (id
) initWithWidth
:(float)width
;
73 - (id
) initWithWidth
:(float)width ofClass
:(Class
)_class
;
75 + (void) setApplicationNameForUserAgent
:(NSString
*)userAgent
;
76 - (NSString
*) applicationNameForUserAgent
;
78 - (void) callFunction
:(WebScriptObject
*)function
;
79 - (void) reloadURLWithCache
:(BOOL
)cache
;
81 - (void) webView
:(WebView
*)view didClearWindowObject
:(WebScriptObject
*)window forFrame
:(WebFrame
*)frame
;
83 - (NSURLRequest
*) webView
:(WebView
*)view resource
:(id
)identifier willSendRequest
:(NSURLRequest
*)request redirectResponse
:(NSURLResponse
*)response fromDataSource
:(WebDataSource
*)source
;
84 - (NSURLRequest
*) webThreadWebView
:(WebView
*)view resource
:(id
)identifier willSendRequest
:(NSURLRequest
*)request redirectResponse
:(NSURLResponse
*)response fromDataSource
:(WebDataSource
*)source
;
86 + (float) defaultWidth
;
88 - (void) setButtonImage
:(NSString
*)button withStyle
:(NSString
*)style toFunction
:(id
)function
;
89 - (void) setButtonTitle
:(NSString
*)button withStyle
:(NSString
*)style toFunction
:(id
)function
;
90 - (void) setHidesNavigationBar
:(bool)value
;
92 - (void) alertView
:(UIAlertView
*)alert clickedButtonAtIndex
:(NSInteger
)button
;
93 - (void) customButtonClicked
;
95 - (void) applyRightButton
;
96 - (UIBarButtonItem
*) rightButton
;
98 - (void) applyLeftButton
;
99 - (UIBarButtonItem
*) leftButton
;
101 - (void) removeButton
;
103 - (void) _didStartLoading
;
104 - (void) _didFinishLoading
;
108 - (void) dispatchEvent
:(NSString
*)event
;
110 - (void) setViewportWidthOnMainThread
:(float)value
;
112 - (void) setScrollAlwaysBounceVertical
:(bool)value
;
113 - (void) setScrollIndicatorStyle
:(UIScrollViewIndicatorStyle
)style
;
115 - (void) registerFrame
:(WebFrame
*)frame
;
117 + (void) addDiversion
:(Diversion
*)diversion
;
121 #endif//CyteKit_WebViewController_H