Jacek Caban : mshtml: Added IActiveScriptSiteInterruptPoll stub implementation.

Alexandre Julliard julliard at winehq.org
Sat Mar 29 06:56:55 CDT 2008


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

Author: Jacek Caban <jacek at codeweavers.com>
Date:   Fri Mar 28 18:01:37 2008 +0000

mshtml: Added IActiveScriptSiteInterruptPoll stub implementation.

---

 dlls/mshtml/script.c |   51 ++++++++++++++++++++++++++++++++++++++++++++++---
 1 files changed, 47 insertions(+), 4 deletions(-)

diff --git a/dlls/mshtml/script.c b/dlls/mshtml/script.c
index 4dc1b06..f0d9ae3 100644
--- a/dlls/mshtml/script.c
+++ b/dlls/mshtml/script.c
@@ -41,7 +41,8 @@ static const CLSID CLSID_JScript =
     {0xf414c260,0x6ac0,0x11cf,{0xb6,0xd1,0x00,0xaa,0x00,0xbb,0xbb,0x58}};
 
 typedef struct {
-    const IActiveScriptSiteVtbl  *lpActiveScriptSiteVtbl;
+    const IActiveScriptSiteVtbl               *lpIActiveScriptSiteVtbl;
+    const IActiveScriptSiteInterruptPollVtbl  *lpIActiveScriptSiteInterruptPollVtbl;
 
     LONG ref;
 
@@ -56,7 +57,8 @@ typedef struct {
     struct list entry;
 } ScriptHost;
 
-#define ACTSCPSITE(x)  ((IActiveScriptSite*)               &(x)->lpActiveScriptSiteVtbl)
+#define ACTSCPSITE(x)  ((IActiveScriptSite*)               &(x)->lpIActiveScriptSiteVtbl)
+#define ACTSCPPOLL(x)  ((IActiveScriptSiteInterruptPoll*)  &(x)->lpIActiveScriptSiteInterruptPollVtbl)
 
 static BOOL init_script_engine(ScriptHost *script_host)
 {
@@ -181,7 +183,7 @@ void connect_scripts(HTMLDocument *doc)
     }
 }
 
-#define ACTSCPSITE_THIS(iface) DEFINE_THIS(ScriptHost, ActiveScriptSite, iface)
+#define ACTSCPSITE_THIS(iface) DEFINE_THIS(ScriptHost, IActiveScriptSite, iface)
 
 static HRESULT WINAPI ActiveScriptSite_QueryInterface(IActiveScriptSite *iface, REFIID riid, void **ppv)
 {
@@ -195,6 +197,9 @@ static HRESULT WINAPI ActiveScriptSite_QueryInterface(IActiveScriptSite *iface,
     }else if(IsEqualGUID(&IID_IActiveScriptSite, riid)) {
         TRACE("(%p)->(IID_IActiveScriptSite %p)\n", This, ppv);
         *ppv = ACTSCPSITE(This);
+    }else if(IsEqualGUID(&IID_IActiveScriptSiteInterruptPoll, riid)) {
+        TRACE("(%p)->(IID_IActiveScriptSiteInterruprtPoll %p)\n", This, ppv);
+        *ppv = ACTSCPPOLL(This);
     }else {
         FIXME("(%p)->(%s %p)\n", This, debugstr_guid(riid), ppv);
         return E_NOINTERFACE;
@@ -308,13 +313,51 @@ static const IActiveScriptSiteVtbl ActiveScriptSiteVtbl = {
     ActiveScriptSite_OnLeaveScript
 };
 
+#define ACTSCPPOLL_THIS(iface) DEFINE_THIS(ScriptHost, IActiveScriptSiteInterruptPoll, iface)
+
+static HRESULT WINAPI ActiveScriptSiteInterruptPoll_QueryInterface(IActiveScriptSiteInterruptPoll *iface,
+        REFIID riid, void **ppv)
+{
+    ScriptHost *This = ACTSCPPOLL_THIS(iface);
+    return IActiveScriptSite_QueryInterface(ACTSCPSITE(This), riid, ppv);
+}
+
+static ULONG WINAPI ActiveScriptSiteInterruptPoll_AddRef(IActiveScriptSiteInterruptPoll *iface)
+{
+    ScriptHost *This = ACTSCPPOLL_THIS(iface);
+    return IActiveScriptSite_AddRef(ACTSCPSITE(This));
+}
+
+static ULONG WINAPI ActiveScriptSiteInterruptPoll_Release(IActiveScriptSiteInterruptPoll *iface)
+{
+    ScriptHost *This = ACTSCPPOLL_THIS(iface);
+    return IActiveScriptSite_Release(ACTSCPSITE(This));
+}
+
+static HRESULT WINAPI ActiveScriptSiteInterruptPoll_QueryContinue(IActiveScriptSiteInterruptPoll *iface)
+{
+    ScriptHost *This = ACTSCPPOLL_THIS(iface);
+    FIXME("(%p)\n", This);
+    return E_NOTIMPL;
+}
+
+#undef ACTSCPPOLL_THIS
+
+static const IActiveScriptSiteInterruptPollVtbl ActiveScriptSiteInterruptPollVtbl = {
+    ActiveScriptSiteInterruptPoll_QueryInterface,
+    ActiveScriptSiteInterruptPoll_AddRef,
+    ActiveScriptSiteInterruptPoll_Release,
+    ActiveScriptSiteInterruptPoll_QueryContinue
+};
+
 static ScriptHost *create_script_host(HTMLDocument *doc, GUID *guid)
 {
     ScriptHost *ret;
     HRESULT hres;
 
     ret = heap_alloc_zero(sizeof(*ret));
-    ret->lpActiveScriptSiteVtbl = &ActiveScriptSiteVtbl;
+    ret->lpIActiveScriptSiteVtbl               = &ActiveScriptSiteVtbl;
+    ret->lpIActiveScriptSiteInterruptPollVtbl  = &ActiveScriptSiteInterruptPollVtbl;
     ret->ref = 1;
     ret->doc = doc;
 




More information about the wine-cvs mailing list