Jacek Caban : mshtml: Added IActiveScriptSiteUIControl implementation.

Alexandre Julliard julliard at winehq.org
Wed Sep 26 14:06:51 CDT 2012


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

Author: Jacek Caban <jacek at codeweavers.com>
Date:   Wed Sep 26 14:37:34 2012 +0200

mshtml: Added IActiveScriptSiteUIControl implementation.

---

 dlls/mshtml/script.c |   46 ++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 46 insertions(+), 0 deletions(-)

diff --git a/dlls/mshtml/script.c b/dlls/mshtml/script.c
index d1b4c41..54cee56 100644
--- a/dlls/mshtml/script.c
+++ b/dlls/mshtml/script.c
@@ -67,6 +67,7 @@ struct ScriptHost {
     IActiveScriptSite              IActiveScriptSite_iface;
     IActiveScriptSiteInterruptPoll IActiveScriptSiteInterruptPoll_iface;
     IActiveScriptSiteWindow        IActiveScriptSiteWindow_iface;
+    IActiveScriptSiteUIControl     IActiveScriptSiteUIControl_iface;
     IActiveScriptSiteDebug         IActiveScriptSiteDebug_iface;
     IServiceProvider               IServiceProvider_iface;
 
@@ -256,6 +257,9 @@ static HRESULT WINAPI ActiveScriptSite_QueryInterface(IActiveScriptSite *iface,
     }else if(IsEqualGUID(&IID_IActiveScriptSiteWindow, riid)) {
         TRACE("(%p)->(IID_IActiveScriptSiteWindow %p)\n", This, ppv);
         *ppv = &This->IActiveScriptSiteWindow_iface;
+    }else if(IsEqualGUID(&IID_IActiveScriptSiteUIControl, riid)) {
+        TRACE("(%p)->(IID_IActiveScriptSiteUIControl %p)\n", This, ppv);
+        *ppv = &This->IActiveScriptSiteUIControl_iface;
     }else if(IsEqualGUID(&IID_IActiveScriptSiteDebug, riid)) {
         TRACE("(%p)->(IID_IActiveScriptSiteDebug %p)\n", This, ppv);
         *ppv = &This->IActiveScriptSiteDebug_iface;
@@ -494,6 +498,47 @@ static const IActiveScriptSiteWindowVtbl ActiveScriptSiteWindowVtbl = {
     ActiveScriptSiteWindow_EnableModeless
 };
 
+static inline ScriptHost *impl_from_IActiveScriptSiteUIControl(IActiveScriptSiteUIControl *iface)
+{
+    return CONTAINING_RECORD(iface, ScriptHost, IActiveScriptSiteUIControl_iface);
+}
+
+static HRESULT WINAPI ActiveScriptSiteUIControl_QueryInterface(IActiveScriptSiteUIControl *iface, REFIID riid, void **ppv)
+{
+    ScriptHost *This = impl_from_IActiveScriptSiteUIControl(iface);
+    return IActiveScriptSite_QueryInterface(&This->IActiveScriptSite_iface, riid, ppv);
+}
+
+static ULONG WINAPI ActiveScriptSiteUIControl_AddRef(IActiveScriptSiteUIControl *iface)
+{
+    ScriptHost *This = impl_from_IActiveScriptSiteUIControl(iface);
+    return IActiveScriptSite_AddRef(&This->IActiveScriptSite_iface);
+}
+
+static ULONG WINAPI ActiveScriptSiteUIControl_Release(IActiveScriptSiteUIControl *iface)
+{
+    ScriptHost *This = impl_from_IActiveScriptSiteUIControl(iface);
+    return IActiveScriptSite_Release(&This->IActiveScriptSite_iface);
+}
+
+static HRESULT WINAPI ActiveScriptSiteUIControl_GetUIBehavior(IActiveScriptSiteUIControl *iface, SCRIPTUICITEM UicItem,
+        SCRIPTUICHANDLING *pUicHandling)
+{
+    ScriptHost *This = impl_from_IActiveScriptSiteUIControl(iface);
+
+    WARN("(%p)->(%d %p) semi-stub\n", This, UicItem, pUicHandling);
+
+    *pUicHandling = SCRIPTUICHANDLING_ALLOW;
+    return S_OK;
+}
+
+static const IActiveScriptSiteUIControlVtbl ActiveScriptSiteUIControlVtbl = {
+    ActiveScriptSiteUIControl_QueryInterface,
+    ActiveScriptSiteUIControl_AddRef,
+    ActiveScriptSiteUIControl_Release,
+    ActiveScriptSiteUIControl_GetUIBehavior
+};
+
 static inline ScriptHost *impl_from_IActiveScriptSiteDebug(IActiveScriptSiteDebug *iface)
 {
     return CONTAINING_RECORD(iface, ScriptHost, IActiveScriptSiteDebug_iface);
@@ -618,6 +663,7 @@ static ScriptHost *create_script_host(HTMLInnerWindow *window, const GUID *guid)
     ret->IActiveScriptSite_iface.lpVtbl = &ActiveScriptSiteVtbl;
     ret->IActiveScriptSiteInterruptPoll_iface.lpVtbl = &ActiveScriptSiteInterruptPollVtbl;
     ret->IActiveScriptSiteWindow_iface.lpVtbl = &ActiveScriptSiteWindowVtbl;
+    ret->IActiveScriptSiteUIControl_iface.lpVtbl = &ActiveScriptSiteUIControlVtbl;
     ret->IActiveScriptSiteDebug_iface.lpVtbl = &ActiveScriptSiteDebugVtbl;
     ret->IServiceProvider_iface.lpVtbl = &ASServiceProviderVtbl;
     ret->ref = 1;




More information about the wine-cvs mailing list