Module: wine Branch: master Commit: d22a8bbd66261b4005495a3d704de1d111778ffd URL: http://source.winehq.org/git/wine.git/?a=commit;h=d22a8bbd66261b4005495a3d70...
Author: Jacek Caban jacek@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;