Jacek Caban : ieframe: Forward more DocHost::Exec calls to embedders.
Alexandre Julliard
julliard at winehq.org
Mon Nov 12 14:14:40 CST 2012
Module: wine
Branch: master
Commit: d22a8bbd66261b4005495a3d704de1d111778ffd
URL: http://source.winehq.org/git/wine.git/?a=commit;h=d22a8bbd66261b4005495a3d704de1d111778ffd
Author: Jacek Caban <jacek at codeweavers.com>
Date: Mon Nov 12 12:59:06 2012 +0100
ieframe: Forward more DocHost::Exec calls to embedders.
---
dlls/ieframe/dochost.c | 4 ++++
dlls/ieframe/iexplore.c | 3 ++-
dlls/ieframe/tests/webbrowser.c | 4 ++--
dlls/ieframe/webbrowser.c | 6 ++++--
4 files changed, 12 insertions(+), 5 deletions(-)
diff --git a/dlls/ieframe/dochost.c b/dlls/ieframe/dochost.c
index 0449f24..c063851 100644
--- a/dlls/ieframe/dochost.c
+++ b/dlls/ieframe/dochost.c
@@ -526,6 +526,7 @@ static HRESULT WINAPI ClOleCommandTarget_Exec(IOleCommandTarget *iface,
if(!pguidCmdGroup) {
switch(nCmdID) {
case OLECMDID_UPDATECOMMANDS:
+ case OLECMDID_SETDOWNLOADSTATE:
return This->container_vtbl->exec(This, pguidCmdGroup, nCmdID, nCmdexecopt, pvaIn, pvaOut);
default:
FIXME("Unimplemented cmdid %d\n", nCmdID);
@@ -605,6 +606,9 @@ static HRESULT WINAPI ClOleCommandTarget_Exec(IOleCommandTarget *iface,
}
}
+ if(IsEqualGUID(&CGID_DocHostCommandHandler, pguidCmdGroup))
+ return This->container_vtbl->exec(This, pguidCmdGroup, nCmdID, nCmdexecopt, pvaIn, pvaOut);
+
FIXME("Unimplemented cmdid %d of group %s\n", nCmdID, debugstr_guid(pguidCmdGroup));
return E_NOTIMPL;
}
diff --git a/dlls/ieframe/iexplore.c b/dlls/ieframe/iexplore.c
index c4641bd..0643f16 100644
--- a/dlls/ieframe/iexplore.c
+++ b/dlls/ieframe/iexplore.c
@@ -789,8 +789,9 @@ static void WINAPI DocHostContainer_SetURL(DocHost* iface, LPCWSTR url)
static HRESULT DocHostContainer_exec(DocHost* This, const GUID *cmd_group, DWORD cmdid, DWORD execopt, VARIANT *in,
VARIANT *out)
{
- return S_OK;
+ return E_NOTIMPL;
}
+
static const IDocHostContainerVtbl DocHostContainerVtbl = {
IEDocHost_addref,
IEDocHost_release,
diff --git a/dlls/ieframe/tests/webbrowser.c b/dlls/ieframe/tests/webbrowser.c
index 57c2be9..213e43d 100644
--- a/dlls/ieframe/tests/webbrowser.c
+++ b/dlls/ieframe/tests/webbrowser.c
@@ -2753,7 +2753,7 @@ static void test_download(DWORD flags)
}
todo_wine CHECK_CALLED(Exec_SETPROGRESSMAX);
todo_wine CHECK_CALLED(Exec_SETPROGRESSPOS);
- todo_wine CHECK_CALLED(Exec_SETDOWNLOADSTATE_1);
+ CHECK_CALLED(Exec_SETDOWNLOADSTATE_1);
CLEAR_CALLED(DocHost_EnableModeless_FALSE); /* IE 7 */
CLEAR_CALLED(DocHost_EnableModeless_TRUE); /* IE 7 */
todo_wine CHECK_CALLED(Invoke_SETSECURELOCKICON);
@@ -2771,7 +2771,7 @@ static void test_download(DWORD flags)
CLEAR_CALLED(EnableModeless_FALSE); /* IE 8 */
if(!is_first_load)
todo_wine CHECK_CALLED(GetHostInfo);
- todo_wine CHECK_CALLED(Exec_SETDOWNLOADSTATE_0);
+ CHECK_CALLED(Exec_SETDOWNLOADSTATE_0);
todo_wine CHECK_CALLED(Invoke_TITLECHANGE);
CHECK_CALLED(Invoke_NAVIGATECOMPLETE2);
if(is_first_load)
diff --git a/dlls/ieframe/webbrowser.c b/dlls/ieframe/webbrowser.c
index b82233b..1bd14fa 100644
--- a/dlls/ieframe/webbrowser.c
+++ b/dlls/ieframe/webbrowser.c
@@ -1219,11 +1219,13 @@ static HRESULT DocHostContainer_exec(DocHost *doc_host, const GUID *cmd_group, D
}
if(!cmdtrg)
- return S_OK;
+ return E_NOTIMPL;
hres = IOleCommandTarget_Exec(cmdtrg, cmd_group, cmdid, execopt, in, out);
IOleCommandTarget_Release(cmdtrg);
- if(FAILED(hres))
+ if(SUCCEEDED(hres))
+ TRACE("Exec returned %08x %s\n", hres, debugstr_variant(out));
+ else
FIXME("Exec failed\n");
return hres;
More information about the wine-cvs
mailing list