Index: Source/web/ChromeClientImpl.cpp |
diff --git a/Source/web/ChromeClientImpl.cpp b/Source/web/ChromeClientImpl.cpp |
index 7f830af351ba6b6c08bf57d22878c32c0668bd65..722b5cca37e14947d43b66a449e204d64daae56d 100644 |
--- a/Source/web/ChromeClientImpl.cpp |
+++ b/Source/web/ChromeClientImpl.cpp |
@@ -229,6 +229,8 @@ Page* ChromeClientImpl::createWindow(LocalFrame* frame, const FrameLoadRequest& |
WebNavigationPolicy policy = static_cast<WebNavigationPolicy>(navigationPolicy); |
if (policy == WebNavigationPolicyIgnore) |
policy = getNavigationPolicy(); |
+ else if (policy == WebNavigationPolicyNewBackgroundTab && getNavigationPolicy() != WebNavigationPolicyNewBackgroundTab) |
+ policy = WebNavigationPolicyNewForegroundTab; |
ASSERT(frame->document()); |
Fullscreen::fullyExitFullscreen(*frame->document()); |
@@ -301,6 +303,8 @@ void ChromeClientImpl::show(NavigationPolicy navigationPolicy) |
WebNavigationPolicy policy = static_cast<WebNavigationPolicy>(navigationPolicy); |
if (policy == WebNavigationPolicyIgnore) |
policy = getNavigationPolicy(); |
+ else if (policy == WebNavigationPolicyNewBackgroundTab && getNavigationPolicy() != WebNavigationPolicyNewBackgroundTab) |
+ policy = WebNavigationPolicyNewForegroundTab; |
Mike West
2014/11/17 09:43:32
Nit: Maybe extract this out to a helper so you don
|
m_webView->client()->show(policy); |
} |