Module: wine Branch: master Commit: 36a47dd0f2493ce5e0fcc594ace17933c1dbf3d3 URL: http://source.winehq.org/git/wine.git/?a=commit;h=36a47dd0f2493ce5e0fcc594ac...
Author: Jacek Caban jacek@codeweavers.com Date: Thu Dec 6 14:24:02 2012 +0100
mshtml: Added SID_SContainerDispatch support.
---
dlls/mshtml/script.c | 9 +++++++++ dlls/mshtml/tests/script.c | 17 +++++++++++++++++ 2 files changed, 26 insertions(+), 0 deletions(-)
diff --git a/dlls/mshtml/script.c b/dlls/mshtml/script.c index 90f9ba0..82a230d 100644 --- a/dlls/mshtml/script.c +++ b/dlls/mshtml/script.c @@ -649,6 +649,15 @@ static HRESULT WINAPI ASServiceProvider_QueryService(IServiceProvider *iface, RE riid, ppv); }
+ if(IsEqualGUID(&SID_SContainerDispatch, guidService)) { + TRACE("(%p)->(SID_SContainerDispatch)\n", This); + + if(!This->window || !This->window->doc) + return E_NOINTERFACE; + + return IHTMLDocument2_QueryInterface(&This->window->doc->basedoc.IHTMLDocument2_iface, riid, ppv); + } + FIXME("(%p)->(%s %s %p)\n", This, debugstr_guid(guidService), debugstr_guid(riid), ppv); return E_NOINTERFACE; } diff --git a/dlls/mshtml/tests/script.c b/dlls/mshtml/tests/script.c index 2f8b8ec..af1103d 100644 --- a/dlls/mshtml/tests/script.c +++ b/dlls/mshtml/tests/script.c @@ -2104,6 +2104,22 @@ static void test_ui(void) IActiveScriptSiteUIControl_Release(ui_control); }
+static void test_sp(void) +{ + IServiceProvider *sp; + IUnknown *unk; + HRESULT hres; + + hres = IActiveScriptSite_QueryInterface(site, &IID_IServiceProvider, (void**)&sp); + ok(hres == S_OK, "Could not get IServiceProvider iface: %08x\n", hres); + + hres = IServiceProvider_QueryService(sp, &SID_SContainerDispatch, &IID_IHTMLDocument, (void**)&unk); + ok(hres == S_OK, "Could not get SID_SContainerDispatch service: %08x\n", hres); + IUnknown_Release(unk); + + IServiceProvider_Release(sp); +} + static void test_script_run(void) { IDispatchEx *document, *dispex; @@ -2329,6 +2345,7 @@ static void test_script_run(void)
test_security(); test_ui(); + test_sp(); }
static HRESULT WINAPI ActiveScriptParse_ParseScriptText(IActiveScriptParse *iface,