| 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 45a5e8b1532b33c6905f7aac8b831d5925d9bfbf..fc387994c56e2a631582eb670ae05c9be6342830 100644
|
| --- a/ios/web/web_state/ui/crw_web_controller.mm
|
| +++ b/ios/web/web_state/ui/crw_web_controller.mm
|
| @@ -4479,14 +4479,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;
|
| }
|
|
|
|
|