Index: content/renderer/render_frame_impl.cc |
diff --git a/content/renderer/render_frame_impl.cc b/content/renderer/render_frame_impl.cc |
index f580526323d13b673d5d1ee4a7133846afc88609..328b4f31ac0a737028e6132804339283abf8f224 100644 |
--- a/content/renderer/render_frame_impl.cc |
+++ b/content/renderer/render_frame_impl.cc |
@@ -5133,8 +5133,13 @@ WebNavigationPolicy RenderFrameImpl::decidePolicyForNavigation( |
if (IsBrowserSideNavigationEnabled() && |
info.urlRequest.checkForBrowserSideNavigation() && |
ShouldMakeNetworkRequestForURL(url)) { |
- BeginNavigation(info); |
- return blink::WebNavigationPolicyHandledByClient; |
+ if (info.defaultPolicy == blink::WebNavigationPolicyCurrentTab) { |
+ BeginNavigation(info); |
+ return blink::WebNavigationPolicyHandledByClient; |
+ } else { |
+ LoadURLExternally(info.urlRequest, info.defaultPolicy); |
+ return blink::WebNavigationPolicyIgnore; |
+ } |
} |
return info.defaultPolicy; |