Index: ios/web/web_state/ui/crw_web_controller.mm |
diff --git a/ios/web/web_state/ui/crw_web_controller.mm b/ios/web/web_state/ui/crw_web_controller.mm |
index 4b3851642a5e02d492e6878998756f4ae43df959..5069bf8a9c98989cedc0195accce5485c856714b 100644 |
--- a/ios/web/web_state/ui/crw_web_controller.mm |
+++ b/ios/web/web_state/ui/crw_web_controller.mm |
@@ -4726,7 +4726,18 @@ const NSTimeInterval kSnapshotOverlayTransition = 0.5; |
} |
- (void)loadRequest:(NSMutableURLRequest*)request { |
- _latestWKNavigation.reset([[_webView loadRequest:request] retain]); |
+ if ([[request URL] isFileURL]) { |
+ NSURL* url = [request URL]; |
+ NSMutableArray* partsArray = |
+ [NSMutableArray arrayWithArray:[url pathComponents]]; |
+ [partsArray removeLastObject]; |
+ _latestWKNavigation.reset([[_webView |
+ loadFileURL:url |
+ allowingReadAccessToURL:[NSURL fileURLWithPathComponents:partsArray]] |
+ retain]); |
+ } else { |
+ _latestWKNavigation.reset([[_webView loadRequest:request] retain]); |
+ } |
} |
- (void)loadPOSTRequest:(NSMutableURLRequest*)request { |