summaryrefslogtreecommitdiffstats
path: root/chrome_frame
diff options
context:
space:
mode:
authoramit@chromium.org <amit@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-10-09 21:33:03 +0000
committeramit@chromium.org <amit@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-10-09 21:33:03 +0000
commite320093fd6080c1d11ec3a17ea52778ca9a8ed9b (patch)
treefc9fe6f0d51902bb608b3e84d9b071194d299348 /chrome_frame
parentddc0e4e7b41a492540c2170c77efc2cb14486497 (diff)
downloadchromium_src-e320093fd6080c1d11ec3a17ea52778ca9a8ed9b.zip
chromium_src-e320093fd6080c1d11ec3a17ea52778ca9a8ed9b.tar.gz
chromium_src-e320093fd6080c1d11ec3a17ea52778ca9a8ed9b.tar.bz2
Fix a crash in IEExec of SBCMDID_MIXEDZONE for setting URL zone
IEExec(&CGID_Explorer, SBCMDID_MIXEDZONE, 0, NULL, NULL) in ChromeActiveDocument::ActiveXDocActivate caused IEFrame to send an invalid SB_SETTIPTEXTW to comctrl32 resulting in a crash. Long story short, this happens due to IEFrame calling back exec on us (for cmdid 41) and us returning S_FALSE. IEFrame treats that as a success (can't really blame it here :) and gets its internal logic mixed up. The fix is to always return OLECMDERR_E_NOTSUPPORTED from our Exec handler if we don't support that command. BUG=24115 TEST=none Review URL: http://codereview.chromium.org/265055 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@28604 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome_frame')
-rw-r--r--chrome_frame/chrome_active_document.cc2
1 files changed, 1 insertions, 1 deletions
diff --git a/chrome_frame/chrome_active_document.cc b/chrome_frame/chrome_active_document.cc
index f681711..2e3c43f 100644
--- a/chrome_frame/chrome_active_document.cc
+++ b/chrome_frame/chrome_active_document.cc
@@ -277,7 +277,7 @@ STDMETHODIMP ChromeActiveDocument::Exec(const GUID* cmd_group_guid,
return ProcessExecCommand(cmd_group_guid, command_id, cmd_exec_opt,
in_args, out_args);
}
- return S_FALSE;
+ return OLECMDERR_E_NOTSUPPORTED;
}
STDMETHODIMP ChromeActiveDocument::GetUrlForEvents(BSTR* url) {