Jacek Caban : shdocvw: Moved ITargetFrame2 implementation to HlinkFrame object.

Alexandre Julliard julliard at winehq.org
Wed Jul 28 10:45:08 CDT 2010


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

Author: Jacek Caban <jacek at codeweavers.com>
Date:   Tue Jul 27 18:15:18 2010 +0200

shdocvw: Moved ITargetFrame2 implementation to HlinkFrame object.

---

 dlls/shdocvw/navigate.c   |   49 ++++++++++++++++++++++-----------------------
 dlls/shdocvw/shdocvw.h    |    7 ++---
 dlls/shdocvw/webbrowser.c |    4 ---
 3 files changed, 27 insertions(+), 33 deletions(-)

diff --git a/dlls/shdocvw/navigate.c b/dlls/shdocvw/navigate.c
index f527c3e..5550387 100644
--- a/dlls/shdocvw/navigate.c
+++ b/dlls/shdocvw/navigate.c
@@ -979,106 +979,106 @@ static const IHlinkFrameVtbl HlinkFrameVtbl = {
     HlinkFrame_UpdateHlink
 };
 
-#define TARGETFRAME2_THIS(iface) DEFINE_THIS(WebBrowser, ITargetFrame2, iface)
+#define TARGETFRAME2_THIS(iface) DEFINE_THIS(HlinkFrame, 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);
+    HlinkFrame *This = TARGETFRAME2_THIS(iface);
+    return IUnknown_QueryInterface(This->outer, riid, ppv);
 }
 
 static ULONG WINAPI TargetFrame2_AddRef(ITargetFrame2 *iface)
 {
-    WebBrowser *This = TARGETFRAME2_THIS(iface);
-    return IWebBrowser2_AddRef(WEBBROWSER2(This));
+    HlinkFrame *This = TARGETFRAME2_THIS(iface);
+    return IUnknown_AddRef(This->outer);
 }
 
 static ULONG WINAPI TargetFrame2_Release(ITargetFrame2 *iface)
 {
-    WebBrowser *This = TARGETFRAME2_THIS(iface);
-    return IWebBrowser2_Release(WEBBROWSER2(This));
+    HlinkFrame *This = TARGETFRAME2_THIS(iface);
+    return IUnknown_Release(This->outer);
 }
 
 static HRESULT WINAPI TargetFrame2_SetFrameName(ITargetFrame2 *iface, LPCWSTR pszFrameName)
 {
-    WebBrowser *This = TARGETFRAME2_THIS(iface);
+    HlinkFrame *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);
+    HlinkFrame *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);
+    HlinkFrame *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);
+    HlinkFrame *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);
+    HlinkFrame *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);
+    HlinkFrame *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);
+    HlinkFrame *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);
+    HlinkFrame *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);
+    HlinkFrame *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);
+    HlinkFrame *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);
+    HlinkFrame *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);
+    HlinkFrame *This = TARGETFRAME2_THIS(iface);
     FIXME("(%p)->(%s %p)\n", This, debugstr_w(pszTargetName), ppszTargetAlias);
     return E_NOTIMPL;
 }
@@ -1108,6 +1108,9 @@ BOOL HlinkFrame_QI(HlinkFrame *This, REFIID riid, void **ppv)
     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 {
         return FALSE;
     }
@@ -1118,13 +1121,9 @@ BOOL HlinkFrame_QI(HlinkFrame *This, REFIID riid, void **ppv)
 
 void HlinkFrame_Init(HlinkFrame *This, IUnknown *outer, DocHost *doc_host)
 {
-    This->lpIHlinkFrameVtbl = &HlinkFrameVtbl;
+    This->lpIHlinkFrameVtbl   = &HlinkFrameVtbl;
+    This->lpITargetFrame2Vtbl = &TargetFrame2Vtbl;
 
     This->outer = outer;
     This->doc_host = doc_host;
 }
-
-void WebBrowser_HlinkFrame_Init(WebBrowser *This)
-{
-    This->lpITargetFrame2Vtbl = &TargetFrame2Vtbl;
-}
diff --git a/dlls/shdocvw/shdocvw.h b/dlls/shdocvw/shdocvw.h
index 790eb73..a922b9e 100644
--- a/dlls/shdocvw/shdocvw.h
+++ b/dlls/shdocvw/shdocvw.h
@@ -67,7 +67,8 @@ typedef struct {
 } ConnectionPointContainer;
 
 typedef struct {
-    const IHlinkFrameVtbl  *lpIHlinkFrameVtbl;
+    const IHlinkFrameVtbl    *lpIHlinkFrameVtbl;
+    const ITargetFrame2Vtbl  *lpITargetFrame2Vtbl;
 
     IUnknown *outer;
     DocHost *doc_host;
@@ -135,7 +136,6 @@ struct WebBrowser {
     const IViewObject2Vtbl              *lpViewObjectVtbl;
     const IOleInPlaceActiveObjectVtbl   *lpOleInPlaceActiveObjectVtbl;
     const IOleCommandTargetVtbl         *lpOleCommandTargetVtbl;
-    const ITargetFrame2Vtbl             *lpITargetFrame2Vtbl;
     const IServiceProviderVtbl          *lpServiceProviderVtbl;
     const IDataObjectVtbl               *lpDataObjectVtbl;
     HlinkFrame hlink_frame;
@@ -196,7 +196,6 @@ struct InternetExplorer {
 #define ACTIVEOBJ(x)    ((IOleInPlaceActiveObject*)     &(x)->lpOleInPlaceActiveObjectVtbl)
 #define OLECMD(x)       ((IOleCommandTarget*)           &(x)->lpOleCommandTargetVtbl)
 #define DATAOBJECT(x)   ((IDataObject*)                 &(x)->lpDataObjectVtbl)
-#define TARGETFRAME2(x) ((ITargetFrame2*)               &(x)->lpITargetFrame2Vtbl)
 
 #define CLIENTSITE(x)   ((IOleClientSite*)              &(x)->lpOleClientSiteVtbl)
 #define INPLACESITE(x)  ((IOleInPlaceSite*)             &(x)->lpOleInPlaceSiteVtbl)
@@ -210,13 +209,13 @@ struct InternetExplorer {
 #define INPLACEFRAME(x) ((IOleInPlaceFrame*)            &(x)->lpOleInPlaceFrameVtbl)
 
 #define HLINKFRAME(x)   ((IHlinkFrame*)                 &(x)->lpIHlinkFrameVtbl)
+#define TARGETFRAME2(x) ((ITargetFrame2*)               &(x)->lpITargetFrame2Vtbl)
 
 void WebBrowser_OleObject_Init(WebBrowser*);
 void WebBrowser_ViewObject_Init(WebBrowser*);
 void WebBrowser_DataObject_Init(WebBrowser*);
 void WebBrowser_Persist_Init(WebBrowser*);
 void WebBrowser_ClassInfo_Init(WebBrowser*);
-void WebBrowser_HlinkFrame_Init(WebBrowser*);
 
 void WebBrowser_OleObject_Destroy(WebBrowser*);
 
diff --git a/dlls/shdocvw/webbrowser.c b/dlls/shdocvw/webbrowser.c
index de12aa5..217c9da 100644
--- a/dlls/shdocvw/webbrowser.c
+++ b/dlls/shdocvw/webbrowser.c
@@ -100,9 +100,6 @@ static HRESULT WINAPI WebBrowser_QueryInterface(IWebBrowser2 *iface, REFIID riid
     }else if(IsEqualGUID(&IID_IOleCommandTarget, riid)) {
         TRACE("(%p)->(IID_IOleCommandTarget %p)\n", This, ppv);
         *ppv = OLECMD(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);
@@ -1156,7 +1153,6 @@ static HRESULT WebBrowser_Create(INT version, IUnknown *pOuter, REFIID riid, voi
     WebBrowser_DataObject_Init(ret);
     WebBrowser_Persist_Init(ret);
     WebBrowser_ClassInfo_Init(ret);
-    WebBrowser_HlinkFrame_Init(ret);
 
     HlinkFrame_Init(&ret->hlink_frame, (IUnknown*)WEBBROWSER2(ret), &ret->doc_host);
 




More information about the wine-cvs mailing list