X-Git-Url: https://git.saurik.com/cydia.git/blobdiff_plain/7b92341eedc4f3d845bf39b0404f1a113e784f7b..a591888ad5f386ccbedba4bcf68ab773e8152f3d:/UICaboodle/BrowserView.mm diff --git a/UICaboodle/BrowserView.mm b/UICaboodle/BrowserView.mm index 4b8f14fb..c7af5b39 100644 --- a/UICaboodle/BrowserView.mm +++ b/UICaboodle/BrowserView.mm @@ -211,12 +211,13 @@ enum CYWebPolicyDecision { } /*- (WebView *) webView:(WebView *)view createWebViewWithRequest:(NSURLRequest *)request { - NSLog(@"createWebViewWithRequest:%@", request); - WebView *created(nil); // XXX + id delegate([self delegate]); + WebView *created(nil); + if (created == nil && [delegate respondsToSelector:@selector(webView:createWebViewWithRequest:)]) + created = [delegate webView:view createWebViewWithRequest:request]; if (created == nil && [UIWebView instancesRespondToSelector:@selector(webView:createWebViewWithRequest:)]) - return [super webView:view createWebViewWithRequest:request]; - else - return created; + created = [super webView:view createWebViewWithRequest:request]; + return created; }*/ // webView:decidePolicyForNavigationAction:request:frame:decisionListener: (2.0+) {{{ @@ -317,9 +318,8 @@ static void $UIWebViewWebViewDelegate$webView$didReceiveTitle$forFrame$(UIWebVie static NSURLRequest *$UIWebViewWebViewDelegate$webView$resource$willSendRequest$redirectResponse$fromDataSource$(UIWebViewWebViewDelegate *self, SEL sel, WebView *view, id identifier, NSURLRequest *request, NSURLResponse *response, WebDataSource *source) { UIWebView *uiWebView(MSHookIvar(self, "uiWebView")); if ([uiWebView respondsToSelector:@selector(webView:resource:willSendRequest:redirectResponse:fromDataSource:)]) - return [uiWebView webView:view resource:identifier willSendRequest:request redirectResponse:response fromDataSource:source]; - else - return request; + request = [uiWebView webView:view resource:identifier willSendRequest:request redirectResponse:response fromDataSource:source]; + return request; } - (NSURLRequest *) webView:(WebView *)view resource:(id)identifier willSendRequest:(NSURLRequest *)request redirectResponse:(NSURLResponse *)response fromDataSource:(WebDataSource *)source { @@ -331,7 +331,7 @@ static NSURLRequest *$UIWebViewWebViewDelegate$webView$resource$willSendRequest$ return request; } // }}} -// webView:runJavaScriptAlertPanelWithMessage:initiatedByFrame: (2.2+) {{{ +// webView:runJavaScriptAlertPanelWithMessage:initiatedByFrame: (2.1+) {{{ - (void) webView:(WebView *)view runJavaScriptAlertPanelWithMessage:(NSString *)message initiatedByFrame:(WebFrame *)frame { id delegate([self delegate]); if ([UIWebView instancesRespondToSelector:@selector(webView:runJavaScriptAlertPanelWithMessage:initiatedByFrame:)]) @@ -340,7 +340,7 @@ static NSURLRequest *$UIWebViewWebViewDelegate$webView$resource$willSendRequest$ [super webView:view runJavaScriptAlertPanelWithMessage:message initiatedByFrame:frame]; } // }}} -// webView:runJavaScriptConfirmPanelWithMessage:initiatedByFrame: (2.2+) {{{ +// webView:runJavaScriptConfirmPanelWithMessage:initiatedByFrame: (2.1+) {{{ - (BOOL) webView:(WebView *)view runJavaScriptConfirmPanelWithMessage:(NSString *)message initiatedByFrame:(WebFrame *)frame { id delegate([self delegate]); if ([UIWebView instancesRespondToSelector:@selector(webView:runJavaScriptConfirmPanelWithMessage:initiatedByFrame:)]) @@ -350,7 +350,7 @@ static NSURLRequest *$UIWebViewWebViewDelegate$webView$resource$willSendRequest$ return NO; } // }}} -// webView:runJavaScriptTextInputPanelWithPrompt:defaultText:initiatedByFrame: (2.2+) {{{ +// webView:runJavaScriptTextInputPanelWithPrompt:defaultText:initiatedByFrame: (2.1+) {{{ - (NSString *) webView:(WebView *)view runJavaScriptTextInputPanelWithPrompt:(NSString *)prompt defaultText:(NSString *)text initiatedByFrame:(WebFrame *)frame { id delegate([self delegate]); if ([UIWebView instancesRespondToSelector:@selector(webView:runJavaScriptTextInputPanelWithPrompt:defaultText:initiatedByFrame:)]) @@ -421,6 +421,9 @@ static void $UIWebViewWebViewDelegate$webViewClose$(UIWebViewWebViewDelegate *se if (challenge_ != nil) [challenge_ release]; + if (request_ != nil) + [request_ release]; + //NSNotificationCenter *center = [NSNotificationCenter defaultCenter]; if (custom_ != nil) @@ -433,11 +436,11 @@ static void $UIWebViewWebViewDelegate$webViewClose$(UIWebViewWebViewDelegate *se if (closer_ != nil) [closer_ release]; - if (sensitive_ != nil) - [sensitive_ release]; if (title_ != nil) [title_ release]; + [loading_ release]; + [reloaditem_ release]; [loadingitem_ release]; @@ -493,15 +496,24 @@ static void $UIWebViewWebViewDelegate$webViewClose$(UIWebViewWebViewDelegate *se - (void) setButtonImage:(NSString *)button withStyle:(NSString *)style toFunction:(id)function { if (custom_ != nil) [custom_ autorelease]; - custom_ = button == nil ? nil : [[UIImage imageWithData:[NSData dataWithContentsOfURL:[NSURL URLWithString:button]]] retain]; + if (button == nil) + custom_ = nil; + else + custom_ = [[UIImage imageWithData:[NSData dataWithContentsOfURL:[NSURL URLWithString:button]]] retain]; if (style_ != nil) [style_ autorelease]; - style_ = style == nil ? nil : [style retain]; + if (style == nil) + style_ = nil; + else + style_ = [style retain]; if (function_ != nil) [function_ autorelease]; - function_ = function == nil ? nil : [function retain]; + if (function == nil) + function_ = nil; + else + function_ = [function retain]; [self applyRightButton]; } @@ -509,15 +521,24 @@ static void $UIWebViewWebViewDelegate$webViewClose$(UIWebViewWebViewDelegate *se - (void) setButtonTitle:(NSString *)button withStyle:(NSString *)style toFunction:(id)function { if (custom_ != nil) [custom_ autorelease]; - custom_ = button == nil ? nil : [button retain]; + if (button == nil) + custom_ = nil; + else + custom_ = [button retain]; if (style_ != nil) [style_ autorelease]; - style_ = style == nil ? nil : [style retain]; + if (style == nil) + style_ = nil; + else + style_ = [style retain]; if (function_ != nil) [function_ autorelease]; - function_ = function == nil ? nil : [function retain]; + if (function == nil) + function_ = nil; + else + function_ = [function retain]; [self applyRightButton]; } @@ -525,7 +546,10 @@ static void $UIWebViewWebViewDelegate$webViewClose$(UIWebViewWebViewDelegate *se - (void) setPopupHook:(id)function { if (closer_ != nil) [closer_ autorelease]; - closer_ = function == nil ? nil : [function retain]; + if (function == nil) + closer_ = nil; + else + closer_ = [function retain]; } - (void) setViewportWidth:(float)width { @@ -564,13 +588,15 @@ static void $UIWebViewWebViewDelegate$webViewClose$(UIWebViewWebViewDelegate *se NSLog(@"decidePolicyForNavigationAction:%@ request:%@ frame:%@", action, request, frame); #endif - if (!error_ && [frame parentFrame] == nil) { - if (request_ != nil) - [request_ autorelease]; - if (request == nil) - request_ = nil; - else - request_ = [request retain]; + if ([frame parentFrame] == nil) { + if (!error_) { + if (request_ != nil) + [request_ autorelease]; + if (request == nil) + request_ = nil; + else + request_ = [request retain]; + } } } @@ -696,7 +722,10 @@ static void $UIWebViewWebViewDelegate$webViewClose$(UIWebViewWebViewDelegate *se if ([frame parentFrame] != nil) return; + if (title_ != nil) + [title_ autorelease]; title_ = [title retain]; + [[self navigationItem] setTitle:title_]; } @@ -835,7 +864,7 @@ static void $UIWebViewWebViewDelegate$webViewClose$(UIWebViewWebViewDelegate *se - (void) applyRightButton { if ([self isLoading]) { [[self navigationItem] setRightBarButtonItem:loadingitem_ animated:YES]; - // XXX: why do we do this again here? + // XXX: why do we do this again here? (if we don't, just remove indicator_) [[loadingitem_ view] addSubview:indicator_]; [self applyLoadingTitle]; } else if (custom_ != nil) {