Jacek Caban : mshtml: Added SID_SContainerDispatch support.

Alexandre Julliard julliard at winehq.org
Thu Dec 6 16:25:10 CST 2012


Module: wine
Branch: master
Commit: 36a47dd0f2493ce5e0fcc594ace17933c1dbf3d3
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=36a47dd0f2493ce5e0fcc594ace17933c1dbf3d3

Author: Jacek Caban <jacek at 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,




More information about the wine-cvs mailing list