Jacek Caban : shdocvw: Added ITargetFrame2 stub implementation.

Alexandre Julliard julliard at winehq.org
Thu May 20 11:03:02 CDT 2010


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

Author: Jacek Caban <jacek at codeweavers.com>
Date:   Thu May 20 13:47:02 2010 +0200

shdocvw: Added ITargetFrame2 stub implementation.

---

 dlls/shdocvw/navigate.c   |  125 +++++++++++++++++++++++++++++++++++++++++++++
 dlls/shdocvw/shdocvw.h    |    3 +
 dlls/shdocvw/webbrowser.c |    3 +
 3 files changed, 131 insertions(+), 0 deletions(-)

diff --git a/dlls/shdocvw/navigate.c b/dlls/shdocvw/navigate.c
index db6a3c4..99980c7 100644
--- a/dlls/shdocvw/navigate.c
+++ b/dlls/shdocvw/navigate.c
@@ -950,7 +950,132 @@ static const IHlinkFrameVtbl HlinkFrameVtbl = {
     HlinkFrame_UpdateHlink
 };
 
+#define TARGETFRAME2_THIS(iface) DEFINE_THIS(WebBrowser, ITargetFrame2, iface)
+
+static HRESULT WINAPI TargetFrame2_QueryInterface(ITargetFrame2 *iface, REFIID riid, void **ppv)
+{
+    WebBrowser *This = TARGETFRAME2_THIS(iface);
+    return IWebBrowser2_QueryInterface(WEBBROWSER2(This), riid, ppv);
+}
+
+static ULONG WINAPI TargetFrame2_AddRef(ITargetFrame2 *iface)
+{
+    WebBrowser *This = TARGETFRAME2_THIS(iface);
+    return IWebBrowser2_AddRef(WEBBROWSER2(This));
+}
+
+static ULONG WINAPI TargetFrame2_Release(ITargetFrame2 *iface)
+{
+    WebBrowser *This = TARGETFRAME2_THIS(iface);
+    return IWebBrowser2_Release(WEBBROWSER2(This));
+}
+
+static HRESULT WINAPI TargetFrame2_SetFrameName(ITargetFrame2 *iface, LPCWSTR pszFrameName)
+{
+    WebBrowser *This = TARGETFRAME2_THIS(iface);
+    FIXME("(%p)->(%s)\n", This, debugstr_w(pszFrameName));
+    return E_NOTIMPL;
+}
+
+static HRESULT WINAPI TargetFrame2_GetFrameName(ITargetFrame2 *iface, LPWSTR *ppszFrameName)
+{
+    WebBrowser *This = TARGETFRAME2_THIS(iface);
+    FIXME("(%p)->(%p)\n", This, ppszFrameName);
+    return E_NOTIMPL;
+}
+
+static HRESULT WINAPI TargetFrame2_GetParentFrame(ITargetFrame2 *iface, IUnknown **ppunkParent)
+{
+    WebBrowser *This = TARGETFRAME2_THIS(iface);
+    FIXME("(%p)->(%p)\n", This, ppunkParent);
+    return E_NOTIMPL;
+}
+
+static HRESULT WINAPI TargetFrame2_SetFrameSrc(ITargetFrame2 *iface, LPCWSTR pszFrameSrc)
+{
+    WebBrowser *This = TARGETFRAME2_THIS(iface);
+    FIXME("(%p)->(%s)\n", This, debugstr_w(pszFrameSrc));
+    return E_NOTIMPL;
+}
+
+static HRESULT WINAPI TargetFrame2_GetFrameSrc(ITargetFrame2 *iface, LPWSTR *ppszFrameSrc)
+{
+    WebBrowser *This = TARGETFRAME2_THIS(iface);
+    FIXME("(%p)->()\n", This);
+    return E_NOTIMPL;
+}
+
+static HRESULT WINAPI TargetFrame2_GetFramesContainer(ITargetFrame2 *iface, IOleContainer **ppContainer)
+{
+    WebBrowser *This = TARGETFRAME2_THIS(iface);
+    FIXME("(%p)->(%p)\n", This, ppContainer);
+    return E_NOTIMPL;
+}
+
+static HRESULT WINAPI TargetFrame2_SetFrameOptions(ITargetFrame2 *iface, DWORD dwFlags)
+{
+    WebBrowser *This = TARGETFRAME2_THIS(iface);
+    FIXME("(%p)->(%x)\n", This, dwFlags);
+    return E_NOTIMPL;
+}
+
+static HRESULT WINAPI TargetFrame2_GetFrameOptions(ITargetFrame2 *iface, DWORD *pdwFlags)
+{
+    WebBrowser *This = TARGETFRAME2_THIS(iface);
+    FIXME("(%p)->(%p)\n", This, pdwFlags);
+    return E_NOTIMPL;
+}
+
+static HRESULT WINAPI TargetFrame2_SetFrameMargins(ITargetFrame2 *iface, DWORD dwWidth, DWORD dwHeight)
+{
+    WebBrowser *This = TARGETFRAME2_THIS(iface);
+    FIXME("(%p)->(%d %d)\n", This, dwWidth, dwHeight);
+    return E_NOTIMPL;
+}
+
+static HRESULT WINAPI TargetFrame2_GetFrameMargins(ITargetFrame2 *iface, DWORD *pdwWidth, DWORD *pdwHeight)
+{
+    WebBrowser *This = TARGETFRAME2_THIS(iface);
+    FIXME("(%p)->(%p %p)\n", This, pdwWidth, pdwHeight);
+    return E_NOTIMPL;
+}
+
+static HRESULT WINAPI TargetFrame2_FindFrame(ITargetFrame2 *iface, LPCWSTR pszTargetName, DWORD dwFlags, IUnknown **ppunkTargetFrame)
+{
+    WebBrowser *This = TARGETFRAME2_THIS(iface);
+    FIXME("(%p)->(%s %x %p)\n", This, debugstr_w(pszTargetName), dwFlags, ppunkTargetFrame);
+    return E_NOTIMPL;
+}
+
+static HRESULT WINAPI TargetFrame2_GetTargetAlias(ITargetFrame2 *iface, LPCWSTR pszTargetName, LPWSTR *ppszTargetAlias)
+{
+    WebBrowser *This = TARGETFRAME2_THIS(iface);
+    FIXME("(%p)->(%s %p)\n", This, debugstr_w(pszTargetName), ppszTargetAlias);
+    return E_NOTIMPL;
+}
+
+#undef TARGETFRAME2_THIS
+
+static const ITargetFrame2Vtbl TargetFrame2Vtbl = {
+    TargetFrame2_QueryInterface,
+    TargetFrame2_AddRef,
+    TargetFrame2_Release,
+    TargetFrame2_SetFrameName,
+    TargetFrame2_GetFrameName,
+    TargetFrame2_GetParentFrame,
+    TargetFrame2_SetFrameSrc,
+    TargetFrame2_GetFrameSrc,
+    TargetFrame2_GetFramesContainer,
+    TargetFrame2_SetFrameOptions,
+    TargetFrame2_GetFrameOptions,
+    TargetFrame2_SetFrameMargins,
+    TargetFrame2_GetFrameMargins,
+    TargetFrame2_FindFrame,
+    TargetFrame2_GetTargetAlias
+};
+
 void WebBrowser_HlinkFrame_Init(WebBrowser *This)
 {
     This->lpHlinkFrameVtbl = &HlinkFrameVtbl;
+    This->lpITargetFrame2Vtbl = &TargetFrame2Vtbl;
 }
diff --git a/dlls/shdocvw/shdocvw.h b/dlls/shdocvw/shdocvw.h
index 2dce575..1af0365 100644
--- a/dlls/shdocvw/shdocvw.h
+++ b/dlls/shdocvw/shdocvw.h
@@ -37,6 +37,7 @@
 #include "exdisp.h"
 #include "mshtmhst.h"
 #include "hlink.h"
+#include "htiframe.h"
 
 #include "wine/unicode.h"
 
@@ -126,6 +127,7 @@ struct WebBrowser {
     const IOleInPlaceActiveObjectVtbl   *lpOleInPlaceActiveObjectVtbl;
     const IOleCommandTargetVtbl         *lpOleCommandTargetVtbl;
     const IHlinkFrameVtbl               *lpHlinkFrameVtbl;
+    const ITargetFrame2Vtbl             *lpITargetFrame2Vtbl;
     const IServiceProviderVtbl          *lpServiceProviderVtbl;
     const IDataObjectVtbl               *lpDataObjectVtbl;
 
@@ -186,6 +188,7 @@ struct InternetExplorer {
 #define OLECMD(x)       ((IOleCommandTarget*)           &(x)->lpOleCommandTargetVtbl)
 #define HLINKFRAME(x)   ((IHlinkFrame*)                 &(x)->lpHlinkFrameVtbl)
 #define DATAOBJECT(x)   ((IDataObject*)                 &(x)->lpDataObjectVtbl)
+#define TARGETFRAME2(x) ((ITargetFrame2*)               &(x)->lpITargetFrame2Vtbl)
 
 #define CLIENTSITE(x)   ((IOleClientSite*)              &(x)->lpOleClientSiteVtbl)
 #define INPLACESITE(x)  ((IOleInPlaceSite*)             &(x)->lpOleInPlaceSiteVtbl)
diff --git a/dlls/shdocvw/webbrowser.c b/dlls/shdocvw/webbrowser.c
index b2fce6a..0c26a83 100644
--- a/dlls/shdocvw/webbrowser.c
+++ b/dlls/shdocvw/webbrowser.c
@@ -102,6 +102,9 @@ static HRESULT WINAPI WebBrowser_QueryInterface(IWebBrowser2 *iface, REFIID riid
     }else if(IsEqualGUID(&IID_IHlinkFrame, riid)) {
         TRACE("(%p)->(IID_IHlinkFrame %p)\n", This, ppv);
         *ppv = HLINKFRAME(This);
+    }else if(IsEqualGUID(&IID_ITargetFrame2, riid)) {
+        TRACE("(%p)->(IID_ITargetFrame2 %p)\n", This, ppv);
+        *ppv = TARGETFRAME2(This);
     }else if(IsEqualGUID(&IID_IServiceProvider, riid)) {
         *ppv = SERVPROV(This);
         TRACE("(%p)->(IID_IServiceProvider %p)\n", This, ppv);




More information about the wine-cvs mailing list