| OLD | NEW |
| 1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #import "ios/web/web_state/ui/crw_wk_web_view_web_controller.h" | 5 #import "ios/web/web_state/ui/crw_wk_web_view_web_controller.h" |
| 6 | 6 |
| 7 #import <WebKit/WebKit.h> | 7 #import <WebKit/WebKit.h> |
| 8 | 8 |
| 9 #include "base/containers/mru_cache.h" | 9 #include "base/containers/mru_cache.h" |
| 10 #include "base/ios/ios_util.h" | 10 #include "base/ios/ios_util.h" |
| (...skipping 871 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 882 base::WeakNSObject<CRWWKWebViewWebController> weakSelf(self); | 882 base::WeakNSObject<CRWWKWebViewWebController> weakSelf(self); |
| 883 id crashHandler = ^{ | 883 id crashHandler = ^{ |
| 884 [weakSelf webViewWebProcessDidCrash]; | 884 [weakSelf webViewWebProcessDidCrash]; |
| 885 }; | 885 }; |
| 886 return [[CRWWKWebViewCrashDetector alloc] initWithWebView:webView | 886 return [[CRWWKWebViewCrashDetector alloc] initWithWebView:webView |
| 887 crashHandler:crashHandler]; | 887 crashHandler:crashHandler]; |
| 888 } | 888 } |
| 889 | 889 |
| 890 - (void)webViewWebProcessDidCrash { | 890 - (void)webViewWebProcessDidCrash { |
| 891 _webProcessIsDead = YES; | 891 _webProcessIsDead = YES; |
| 892 if ([self.delegate respondsToSelector: | 892 SEL cancelDialogsSelector = |
| 893 @selector(webControllerWebProcessDidCrash:)]) { | 893 @selector(cancelJavaScriptDialogsForWebController:); |
| 894 if ([self.UIDelegate respondsToSelector:cancelDialogsSelector]) |
| 895 [self.UIDelegate cancelJavaScriptDialogsForWebController:self]; |
| 896 SEL rendererCrashSelector = @selector(webControllerWebProcessDidCrash:); |
| 897 if ([self.delegate respondsToSelector:rendererCrashSelector]) |
| 894 [self.delegate webControllerWebProcessDidCrash:self]; | 898 [self.delegate webControllerWebProcessDidCrash:self]; |
| 895 } | |
| 896 } | 899 } |
| 897 | 900 |
| 898 - (void)queryPageReferrerPolicy:(void(^)(NSString*))responseHandler { | 901 - (void)queryPageReferrerPolicy:(void(^)(NSString*))responseHandler { |
| 899 DCHECK(responseHandler); | 902 DCHECK(responseHandler); |
| 900 [self evaluateJavaScript:@"__gCrWeb.getPageReferrerPolicy()" | 903 [self evaluateJavaScript:@"__gCrWeb.getPageReferrerPolicy()" |
| 901 stringResultHandler:^(NSString* referrer, NSError* error) { | 904 stringResultHandler:^(NSString* referrer, NSError* error) { |
| 902 DCHECK_NE(error.code, WKErrorJavaScriptExceptionOccurred); | 905 DCHECK_NE(error.code, WKErrorJavaScriptExceptionOccurred); |
| 903 responseHandler(!error ? referrer : nil); | 906 responseHandler(!error ? referrer : nil); |
| 904 }]; | 907 }]; |
| 905 } | 908 } |
| (...skipping 971 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1877 runJavaScriptTextInputPanelWithPrompt:prompt | 1880 runJavaScriptTextInputPanelWithPrompt:prompt |
| 1878 defaultText:defaultText | 1881 defaultText:defaultText |
| 1879 requestURL:requestURL | 1882 requestURL:requestURL |
| 1880 completionHandler:completionHandler]; | 1883 completionHandler:completionHandler]; |
| 1881 } else if (completionHandler) { | 1884 } else if (completionHandler) { |
| 1882 completionHandler(nil); | 1885 completionHandler(nil); |
| 1883 } | 1886 } |
| 1884 } | 1887 } |
| 1885 | 1888 |
| 1886 @end | 1889 @end |
| OLD | NEW |