Index: Source/WebKit/chromium/src/ChromeClientImpl.cpp |
=================================================================== |
--- Source/WebKit/chromium/src/ChromeClientImpl.cpp (revision 135169) |
+++ Source/WebKit/chromium/src/ChromeClientImpl.cpp (working copy) |
@@ -291,7 +291,12 @@ |
bool alt = mouseEvent->modifiers & WebMouseEvent::AltKey; |
bool meta = mouseEvent->modifiers & WebMouseEvent::MetaKey; |
- WebViewImpl::navigationPolicyFromMouseEvent(buttonNumber, ctrl, shift, alt, meta, policy); |
+ WebNavigationPolicy userPolicy = *policy; |
+ WebViewImpl::navigationPolicyFromMouseEvent(buttonNumber, ctrl, shift, alt, meta, &userPolicy); |
+ // User and app agree that we want a new window; let the app override the decorations. |
+ if (userPolicy == WebNavigationPolicyNewWindow && *policy == WebNavigationPolicyNewPopup) |
+ return; |
+ *policy = userPolicy; |
} |
WebNavigationPolicy ChromeClientImpl::getNavigationPolicy() |