diff options
author | ananta@chromium.org <ananta@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-01-28 19:36:58 +0000 |
---|---|---|
committer | ananta@chromium.org <ananta@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-01-28 19:36:58 +0000 |
commit | 6f52608ef9e1f21b7c06c3f9e434345e2fe4f07d (patch) | |
tree | d6a6b4ac005e2ded255b240a6c04b0592b333d70 /chrome_frame/chrome_frame_activex_base.h | |
parent | d1ba5b511c94fb02b79ceae67a172d6bdb716e98 (diff) | |
download | chromium_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.h | 4 |
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: |