| 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 3e85b266568658499e98974d12770f8dc29bd0be..87741798dc3a2af7380764a90f4b009eaee64d33 100644
|
| --- a/ios/web/web_state/ui/crw_web_controller.mm
|
| +++ b/ios/web/web_state/ui/crw_web_controller.mm
|
| @@ -4774,14 +4774,17 @@ const NSTimeInterval kSnapshotOverlayTransition = 0.5;
|
|
|
| // Invalid URLs should not be loaded. However, simply doing nothing upon
|
| // tapping a link or button is a jarring user experience. Instead, cancel
|
| - // the invalid navigation and load about:blank.
|
| + // the invalid navigation and load about:blank if navigation was requested for
|
| + // the main frame.
|
| GURL requestURL = net::GURLWithNSURL(action.request.URL);
|
| if (!requestURL.is_valid()) {
|
| decisionHandler(WKNavigationActionPolicyCancel);
|
| - GURL aboutBlankURL(url::kAboutBlankURL);
|
| - web::NavigationManager::WebLoadParams loadParams(aboutBlankURL);
|
| - loadParams.referrer = [self currentReferrer];
|
| - self.webState->GetNavigationManager()->LoadURLWithParams(loadParams);
|
| + if (action.targetFrame.mainFrame) {
|
| + GURL aboutBlankURL(url::kAboutBlankURL);
|
| + web::NavigationManager::WebLoadParams loadParams(aboutBlankURL);
|
| + loadParams.referrer = [self currentReferrer];
|
| + self.webState->GetNavigationManager()->LoadURLWithParams(loadParams);
|
| + }
|
| return;
|
| }
|
|
|
|
|