summaryrefslogtreecommitdiffstats
path: root/chrome_frame/chrome_frame_activex_base.h
diff options
context:
space:
mode:
authorananta@chromium.org <ananta@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-01-28 19:36:58 +0000
committerananta@chromium.org <ananta@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-01-28 19:36:58 +0000
commit6f52608ef9e1f21b7c06c3f9e434345e2fe4f07d (patch)
treed6a6b4ac005e2ded255b240a6c04b0592b333d70 /chrome_frame/chrome_frame_activex_base.h
parentd1ba5b511c94fb02b79ceae67a172d6bdb716e98 (diff)
downloadchromium_src-6f52608ef9e1f21b7c06c3f9e434345e2fe4f07d.zip
chromium_src-6f52608ef9e1f21b7c06c3f9e434345e2fe4f07d.tar.gz
chromium_src-6f52608ef9e1f21b7c06c3f9e434345e2fe4f07d.tar.bz2
Window.open calls issued by pages within ChromeFrame which use the NEW_WINDOW/NEW_POPUP
dispositions open up as regular Chrome windows, which results in them not using the host network stack, which means that HTTP sessions/cookies, etc established by the main page will not work for the popup. Fix is to ensure that these dispositions also get routed back to the host browser where a new tab would be created which would attach itself to the newly created ExternalTabContainer instance. Fixes bug http://code.google.com/p/chromium/issues/detail?id=33324 Bug=33324 Test=Covered by ChromeFrame unit test. Review URL: http://codereview.chromium.org/549183 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@37425 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome_frame/chrome_frame_activex_base.h')
-rw-r--r--chrome_frame/chrome_frame_activex_base.h4
1 files changed, 3 insertions, 1 deletions
diff --git a/chrome_frame/chrome_frame_activex_base.h b/chrome_frame/chrome_frame_activex_base.h
index a7fd6a0..d7abc01 100644
--- a/chrome_frame/chrome_frame_activex_base.h
+++ b/chrome_frame/chrome_frame_activex_base.h
@@ -408,7 +408,8 @@ END_MSG_MAP()
if (ie_version == IE_6) {
if (open_disposition == NEW_FOREGROUND_TAB ||
open_disposition == NEW_BACKGROUND_TAB ||
- open_disposition == NEW_WINDOW) {
+ open_disposition == NEW_WINDOW ||
+ open_disposition == NEW_POPUP) {
V_I4(&flags) = navOpenInNewWindow;
} else if (open_disposition != CURRENT_TAB) {
NOTREACHED() << "Unsupported open disposition in IE6";
@@ -422,6 +423,7 @@ END_MSG_MAP()
V_I4(&flags) = navOpenInBackgroundTab;
break;
case NEW_WINDOW:
+ case NEW_POPUP:
V_I4(&flags) = navOpenInNewWindow;
break;
default: