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 c852f3a22322e7def1bdf773f53624557cb5ed30..bde3d1a7841a587a97bff85e06301baa914cd97b 100644 |
--- a/third_party/WebKit/Source/core/loader/FrameLoader.cpp |
+++ b/third_party/WebKit/Source/core/loader/FrameLoader.cpp |
@@ -987,12 +987,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()) |