Chromium Code Reviews| 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/ios/ios_util.h" | 9 #include "base/ios/ios_util.h" |
| 10 #include "base/ios/weak_nsobject.h" | 10 #include "base/ios/weak_nsobject.h" |
| (...skipping 24 matching lines...) Expand all Loading... | |
| 35 #import "ios/web/web_state/js/page_script_util.h" | 35 #import "ios/web/web_state/js/page_script_util.h" |
| 36 #import "ios/web/web_state/ui/crw_web_controller+protected.h" | 36 #import "ios/web/web_state/ui/crw_web_controller+protected.h" |
| 37 #import "ios/web/web_state/ui/crw_wk_web_view_crash_detector.h" | 37 #import "ios/web/web_state/ui/crw_wk_web_view_crash_detector.h" |
| 38 #import "ios/web/web_state/ui/web_view_js_utils.h" | 38 #import "ios/web/web_state/ui/web_view_js_utils.h" |
| 39 #import "ios/web/web_state/ui/wk_back_forward_list_item_holder.h" | 39 #import "ios/web/web_state/ui/wk_back_forward_list_item_holder.h" |
| 40 #import "ios/web/web_state/ui/wk_web_view_configuration_provider.h" | 40 #import "ios/web/web_state/ui/wk_web_view_configuration_provider.h" |
| 41 #import "ios/web/web_state/web_state_impl.h" | 41 #import "ios/web/web_state/web_state_impl.h" |
| 42 #import "ios/web/web_state/web_view_internal_creation_util.h" | 42 #import "ios/web/web_state/web_view_internal_creation_util.h" |
| 43 #import "ios/web/web_state/wk_web_view_security_util.h" | 43 #import "ios/web/web_state/wk_web_view_security_util.h" |
| 44 #import "ios/web/webui/crw_web_ui_manager.h" | 44 #import "ios/web/webui/crw_web_ui_manager.h" |
| 45 #import "net/base/mac/url_conversions.h" | |
| 45 #include "net/cert/x509_certificate.h" | 46 #include "net/cert/x509_certificate.h" |
| 46 #import "net/base/mac/url_conversions.h" | |
| 47 #include "net/ssl/ssl_info.h" | 47 #include "net/ssl/ssl_info.h" |
| 48 #include "url/url_constants.h" | 48 #include "url/url_constants.h" |
| 49 | 49 |
| 50 namespace { | 50 namespace { |
| 51 // Extracts Referer value from WKNavigationAction request header. | 51 // Extracts Referer value from WKNavigationAction request header. |
| 52 NSString* GetRefererFromNavigationAction(WKNavigationAction* action) { | 52 NSString* GetRefererFromNavigationAction(WKNavigationAction* action) { |
| 53 return [action.request valueForHTTPHeaderField:@"Referer"]; | 53 return [action.request valueForHTTPHeaderField:@"Referer"]; |
| 54 } | 54 } |
| 55 | 55 |
| 56 NSString* const kScriptMessageName = @"crwebinvoke"; | 56 NSString* const kScriptMessageName = @"crwebinvoke"; |
| (...skipping 367 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 424 // to |WEB_VIEW_DOCUMENT| because it does not support iframe creation used | 424 // to |WEB_VIEW_DOCUMENT| because it does not support iframe creation used |
| 425 // by core.js to communicate back. That functionality is only supported | 425 // by core.js to communicate back. That functionality is only supported |
| 426 // by |WEB_VIEW_HTML_DOCUMENT|. |WEB_VIEW_DOCUMENT| is used when displaying | 426 // by |WEB_VIEW_HTML_DOCUMENT|. |WEB_VIEW_DOCUMENT| is used when displaying |
| 427 // non-HTML contents (e.g. PDF documents). | 427 // non-HTML contents (e.g. PDF documents). |
| 428 - (web::WebViewDocumentType)webViewDocumentType { | 428 - (web::WebViewDocumentType)webViewDocumentType { |
| 429 // This happens during tests. | 429 // This happens during tests. |
| 430 if (!_wkWebView) { | 430 if (!_wkWebView) { |
| 431 return web::WEB_VIEW_DOCUMENT_TYPE_GENERIC; | 431 return web::WEB_VIEW_DOCUMENT_TYPE_GENERIC; |
| 432 } | 432 } |
| 433 | 433 |
| 434 if (!self.documentMIMEType) { | 434 if (!self.documentMIMEType) { |
|
Eugene But (OOO till 7-30)
2015/11/19 16:29:01
I would move this check inside documentTypeFromMIM
stkhapugin
2015/11/20 10:50:43
Done.
| |
| 435 return web::WEB_VIEW_DOCUMENT_TYPE_UNKNOWN; | 435 return web::WEB_VIEW_DOCUMENT_TYPE_UNKNOWN; |
| 436 } | 436 } |
| 437 | 437 |
| 438 if ([self.documentMIMEType isEqualToString:@"text/html"] || | 438 return [self documentTypeFromMIMEType:self.documentMIMEType]; |
| 439 [self.documentMIMEType isEqualToString:@"application/xhtml+xml"] || | |
| 440 [self.documentMIMEType isEqualToString:@"application/xml"]) { | |
| 441 return web::WEB_VIEW_DOCUMENT_TYPE_HTML; | |
| 442 } | |
| 443 | |
| 444 return web::WEB_VIEW_DOCUMENT_TYPE_GENERIC; | |
| 445 } | 439 } |
| 446 | 440 |
| 447 - (void)loadRequest:(NSMutableURLRequest*)request { | 441 - (void)loadRequest:(NSMutableURLRequest*)request { |
| 448 [_wkWebView loadRequest:request]; | 442 [_wkWebView loadRequest:request]; |
| 449 } | 443 } |
| 450 | 444 |
| 451 - (void)loadWebHTMLString:(NSString*)html forURL:(const GURL&)URL { | 445 - (void)loadWebHTMLString:(NSString*)html forURL:(const GURL&)URL { |
| 452 [_wkWebView loadHTMLString:html baseURL:net::NSURLWithGURL(URL)]; | 446 [_wkWebView loadHTMLString:html baseURL:net::NSURLWithGURL(URL)]; |
| 453 } | 447 } |
| 454 | 448 |
| (...skipping 1031 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 1486 placeholderText:defaultText | 1480 placeholderText:defaultText |
| 1487 requestURL: | 1481 requestURL: |
| 1488 net::GURLWithNSURL(frame.request.URL) | 1482 net::GURLWithNSURL(frame.request.URL) |
| 1489 completionHandler:completionHandler]; | 1483 completionHandler:completionHandler]; |
| 1490 } else if (completionHandler) { | 1484 } else if (completionHandler) { |
| 1491 completionHandler(nil); | 1485 completionHandler(nil); |
| 1492 } | 1486 } |
| 1493 } | 1487 } |
| 1494 | 1488 |
| 1495 @end | 1489 @end |
| OLD | NEW |