Index: third_party/WebKit/Source/core/loader/FrameLoader.cpp |
diff --git a/third_party/WebKit/Source/core/loader/FrameLoader.cpp b/third_party/WebKit/Source/core/loader/FrameLoader.cpp |
index 8cd77648a4dd0116286c5cf0df7be66d44d27041..f6fa57d918fc6e959011b610997b9046a65cdb21 100644 |
--- a/third_party/WebKit/Source/core/loader/FrameLoader.cpp |
+++ b/third_party/WebKit/Source/core/loader/FrameLoader.cpp |
@@ -912,12 +912,13 @@ void FrameLoader::Load(const FrameLoadRequest& passed_request, |
if (policy == kNavigationPolicyDownload) { |
Client()->LoadURLExternally(request.GetResourceRequest(), |
kNavigationPolicyDownload, String(), false); |
- } else { |
+ return; // Navigation/download will be handled by the client. |
+ } else if (ShouldNavigateTargetFrame(policy)) { |
request.GetResourceRequest().SetFrameType( |
WebURLRequest::kFrameTypeAuxiliary); |
CreateWindowForRequest(request, *frame_, policy); |
+ return; // Navigation will be handled by the new frame/window. |
} |
- return; |
} |
if (!frame_->IsNavigationAllowed()) |