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-06-17 01:19:04 +0000
committerananta@chromium.org <ananta@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-06-17 01:19:04 +0000
commite3a91e7d2cb359692c59b86a29453f1931f87760 (patch)
tree83d18e33d0041e888e580dee0e81b15cf3d490fc /chrome_frame/chrome_frame_activex_base.h
parent584245e578427abc2bc19f224609f820ad71aca0 (diff)
downloadchromium_src-e3a91e7d2cb359692c59b86a29453f1931f87760.zip
chromium_src-e3a91e7d2cb359692c59b86a29453f1931f87760.tar.gz
chromium_src-e3a91e7d2cb359692c59b86a29453f1931f87760.tar.bz2
window.open calls issued by pages within ChromeFrame would not honor the suggested dimensions and would end up
opening a default top level browser window in IE. ChromeFrame does receive the dimensions from the external tab container when it is notified about a popup being opened. Fix is to honor these dimensions by passing them off in the specially crafted url containing other arguments. Fixes bug http://code.google.com/p/chromium/issues/detail?id=42250 This fix is currently implemented for IE full tab mode only. Bug=42250 Test=Covered by augmenting the existing window open test to also validate the window size. Added a new unit test to test the ParseAttachExternalTabUrl helper function. Review URL: http://codereview.chromium.org/2867007 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@50064 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome_frame/chrome_frame_activex_base.h')
-rw-r--r--chrome_frame/chrome_frame_activex_base.h10
1 files changed, 8 insertions, 2 deletions
diff --git a/chrome_frame/chrome_frame_activex_base.h b/chrome_frame/chrome_frame_activex_base.h
index d38e964..32b431c 100644
--- a/chrome_frame/chrome_frame_activex_base.h
+++ b/chrome_frame/chrome_frame_activex_base.h
@@ -444,8 +444,14 @@ END_MSG_MAP()
virtual void OnAttachExternalTab(int tab_handle,
const IPC::AttachExternalTabParams& params) {
std::string url;
- url = StringPrintf("%lsattach_external_tab&%ls&%d", kChromeProtocolPrefix,
- Uint64ToWString(params.cookie).c_str(), params.disposition);
+ url = StringPrintf("%lsattach_external_tab&%ls&%d&%d&%d&%d&%d",
+ kChromeProtocolPrefix,
+ Uint64ToWString(params.cookie).c_str(),
+ params.disposition,
+ params.dimensions.x(),
+ params.dimensions.y(),
+ params.dimensions.width(),
+ params.dimensions.height());
HostNavigate(GURL(url), GURL(), params.disposition);
}