| OLD | NEW |
| 1 // Copyright 2012 The Chromium Authors. All rights reserved. | 1 // Copyright 2012 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_web_controller.h" | 5 #import "ios/web/web_state/ui/crw_web_controller.h" |
| 6 | 6 |
| 7 #import <WebKit/WebKit.h> | 7 #import <WebKit/WebKit.h> |
| 8 | 8 |
| 9 #import <objc/runtime.h> | 9 #import <objc/runtime.h> |
| 10 #include <stddef.h> | 10 #include <stddef.h> |
| (...skipping 4708 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 4719 // This happens during tests. | 4719 // This happens during tests. |
| 4720 if (!_webView) { | 4720 if (!_webView) { |
| 4721 return web::WEB_VIEW_DOCUMENT_TYPE_GENERIC; | 4721 return web::WEB_VIEW_DOCUMENT_TYPE_GENERIC; |
| 4722 } | 4722 } |
| 4723 | 4723 |
| 4724 std::string MIMEType = self.webState->GetContentsMimeType(); | 4724 std::string MIMEType = self.webState->GetContentsMimeType(); |
| 4725 return [self documentTypeFromMIMEType:base::SysUTF8ToNSString(MIMEType)]; | 4725 return [self documentTypeFromMIMEType:base::SysUTF8ToNSString(MIMEType)]; |
| 4726 } | 4726 } |
| 4727 | 4727 |
| 4728 - (void)loadRequest:(NSMutableURLRequest*)request { | 4728 - (void)loadRequest:(NSMutableURLRequest*)request { |
| 4729 _latestWKNavigation.reset([[_webView loadRequest:request] retain]); | 4729 if ([[request URL] isFileURL]) { |
| 4730 NSURL* url = [request URL]; |
| 4731 NSMutableArray* partsArray = |
| 4732 [NSMutableArray arrayWithArray:[url pathComponents]]; |
| 4733 [partsArray removeLastObject]; |
| 4734 _latestWKNavigation.reset([[_webView |
| 4735 loadFileURL:url |
| 4736 allowingReadAccessToURL:[NSURL fileURLWithPathComponents:partsArray]] |
| 4737 retain]); |
| 4738 } else { |
| 4739 _latestWKNavigation.reset([[_webView loadRequest:request] retain]); |
| 4740 } |
| 4730 } | 4741 } |
| 4731 | 4742 |
| 4732 - (void)loadPOSTRequest:(NSMutableURLRequest*)request { | 4743 - (void)loadPOSTRequest:(NSMutableURLRequest*)request { |
| 4733 if (!_POSTRequestLoader) { | 4744 if (!_POSTRequestLoader) { |
| 4734 _POSTRequestLoader.reset([[CRWJSPOSTRequestLoader alloc] init]); | 4745 _POSTRequestLoader.reset([[CRWJSPOSTRequestLoader alloc] init]); |
| 4735 } | 4746 } |
| 4736 | 4747 |
| 4737 CRWWKScriptMessageRouter* messageRouter = | 4748 CRWWKScriptMessageRouter* messageRouter = |
| 4738 [self webViewConfigurationProvider].GetScriptMessageRouter(); | 4749 [self webViewConfigurationProvider].GetScriptMessageRouter(); |
| 4739 | 4750 |
| (...skipping 905 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 5645 } | 5656 } |
| 5646 | 5657 |
| 5647 return web::WEB_VIEW_DOCUMENT_TYPE_GENERIC; | 5658 return web::WEB_VIEW_DOCUMENT_TYPE_GENERIC; |
| 5648 } | 5659 } |
| 5649 | 5660 |
| 5650 - (NSString*)refererFromNavigationAction:(WKNavigationAction*)action { | 5661 - (NSString*)refererFromNavigationAction:(WKNavigationAction*)action { |
| 5651 return [action.request valueForHTTPHeaderField:@"Referer"]; | 5662 return [action.request valueForHTTPHeaderField:@"Referer"]; |
| 5652 } | 5663 } |
| 5653 | 5664 |
| 5654 @end | 5665 @end |
| OLD | NEW |