Jacek Caban : shdocvw: Get rid of WebBrowser dependency in DocHost
object.
Alexandre Julliard
julliard at wine.codeweavers.com
Tue Apr 18 05:13:51 CDT 2006
Module: wine
Branch: refs/heads/master
Commit: 6470c5ca0a6c76fbeb1db263f5166da4d333ba67
URL: http://source.winehq.org/git/?p=wine.git;a=commit;h=6470c5ca0a6c76fbeb1db263f5166da4d333ba67
Author: Jacek Caban <jacek at codeweavers.com>
Date: Tue Apr 18 00:38:06 2006 +0200
shdocvw: Get rid of WebBrowser dependency in DocHost object.
---
dlls/shdocvw/client.c | 16 +++++++---------
dlls/shdocvw/dochost.c | 17 ++++++++++-------
dlls/shdocvw/frame.c | 4 ++--
dlls/shdocvw/shdocvw.h | 8 +++-----
dlls/shdocvw/webbrowser.c | 4 +---
5 files changed, 23 insertions(+), 26 deletions(-)
diff --git a/dlls/shdocvw/client.c b/dlls/shdocvw/client.c
index 7e1cb89..d6cd7ed 100644
--- a/dlls/shdocvw/client.c
+++ b/dlls/shdocvw/client.c
@@ -464,17 +464,15 @@ static const IServiceProviderVtbl Servic
ClServiceProvider_QueryService
};
-void WebBrowser_ClientSite_Init(WebBrowser *This)
+void DocHost_ClientSite_Init(DocHost *This)
{
- This->doc_host.lpOleClientSiteVtbl = &OleClientSiteVtbl;
- This->doc_host.lpOleInPlaceSiteVtbl = &OleInPlaceSiteVtbl;
- This->doc_host.lpOleDocumentSiteVtbl = &OleDocumentSiteVtbl;
- This->doc_host.lpDispatchVtbl = &DispatchVtbl;
- This->doc_host.lpServiceProviderVtbl = &ServiceProviderVtbl;
+ This->lpOleClientSiteVtbl = &OleClientSiteVtbl;
+ This->lpOleInPlaceSiteVtbl = &OleInPlaceSiteVtbl;
+ This->lpOleDocumentSiteVtbl = &OleDocumentSiteVtbl;
+ This->lpDispatchVtbl = &DispatchVtbl;
+ This->lpServiceProviderVtbl = &ServiceProviderVtbl;
- This->doc_host.view = NULL;
-
- This->doc_host.wb = This;
+ This->view = NULL;
}
void WebBrowser_ClientSite_Destroy(WebBrowser *This)
diff --git a/dlls/shdocvw/dochost.c b/dlls/shdocvw/dochost.c
index 58d21fe..fd3ca2c 100644
--- a/dlls/shdocvw/dochost.c
+++ b/dlls/shdocvw/dochost.c
@@ -478,14 +478,17 @@ static const IDocHostUIHandler2Vtbl DocH
DocHostUIHandler_GetOverrideKeyPath
};
-void WebBrowser_DocHost_Init(WebBrowser *This)
+void DocHost_Init(DocHost *This)
{
- This->doc_host.lpDocHostUIHandlerVtbl = &DocHostUIHandler2Vtbl;
- This->doc_host.lpOleCommandTargetVtbl = &OleCommandTargetVtbl;
+ This->lpDocHostUIHandlerVtbl = &DocHostUIHandler2Vtbl;
+ This->lpOleCommandTargetVtbl = &OleCommandTargetVtbl;
- This->doc_host.document = NULL;
- This->doc_host.hostui = NULL;
+ This->document = NULL;
+ This->hostui = NULL;
- This->doc_host.hwnd = NULL;
- This->doc_host.frame_hwnd = NULL;
+ This->hwnd = NULL;
+ This->frame_hwnd = NULL;
+
+ DocHost_ClientSite_Init(This);
+ DocHost_Frame_Init(This);
}
diff --git a/dlls/shdocvw/frame.c b/dlls/shdocvw/frame.c
index e1439d9..ad48b8f 100644
--- a/dlls/shdocvw/frame.c
+++ b/dlls/shdocvw/frame.c
@@ -174,7 +174,7 @@ static const IOleInPlaceFrameVtbl OleInP
InPlaceFrame_TranslateAccelerator
};
-void WebBrowser_Frame_Init(WebBrowser *This)
+void DocHost_Frame_Init(DocHost *This)
{
- This->doc_host.lpOleInPlaceFrameVtbl = &OleInPlaceFrameVtbl;
+ This->lpOleInPlaceFrameVtbl = &OleInPlaceFrameVtbl;
}
diff --git a/dlls/shdocvw/shdocvw.h b/dlls/shdocvw/shdocvw.h
index d0579e4..09724aa 100644
--- a/dlls/shdocvw/shdocvw.h
+++ b/dlls/shdocvw/shdocvw.h
@@ -73,8 +73,6 @@ typedef struct {
HWND hwnd;
HWND frame_hwnd;
-
- struct WebBrowser *wb; /* FIXME */
} DocHost;
typedef struct WebBrowser {
@@ -155,10 +153,10 @@ void WebBrowser_ClassInfo_Init(WebBrowse
void WebBrowser_Events_Init(WebBrowser*);
void WebBrowser_HlinkFrame_Init(WebBrowser*);
-void WebBrowser_ClientSite_Init(WebBrowser*);
-void WebBrowser_DocHost_Init(WebBrowser*);
+void DocHost_Init(DocHost*);
+void DocHost_ClientSite_Init(DocHost*);
-void WebBrowser_Frame_Init(WebBrowser*);
+void DocHost_Frame_Init(DocHost*);
void WebBrowser_OleObject_Destroy(WebBrowser*);
void WebBrowser_Events_Destroy(WebBrowser*);
diff --git a/dlls/shdocvw/webbrowser.c b/dlls/shdocvw/webbrowser.c
index 01e0a28..f1862dd 100644
--- a/dlls/shdocvw/webbrowser.c
+++ b/dlls/shdocvw/webbrowser.c
@@ -847,15 +847,13 @@ HRESULT WebBrowser_Create(IUnknown *pOut
ret->url = NULL;
ret->doc_host.disp = (IDispatch*)WEBBROWSER2(ret);
+ DocHost_Init(&ret->doc_host);
WebBrowser_OleObject_Init(ret);
WebBrowser_ViewObject_Init(ret);
WebBrowser_Persist_Init(ret);
WebBrowser_ClassInfo_Init(ret);
WebBrowser_Events_Init(ret);
- WebBrowser_ClientSite_Init(ret);
- WebBrowser_DocHost_Init(ret);
- WebBrowser_Frame_Init(ret);
WebBrowser_HlinkFrame_Init(ret);
hres = IWebBrowser_QueryInterface(WEBBROWSER(ret), riid, ppv);
More information about the wine-cvs
mailing list