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 |