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