Module: wine Branch: refs/heads/master Commit: 6470c5ca0a6c76fbeb1db263f5166da4d333ba67 URL: http://source.winehq.org/git/?p=wine.git;a=commit;h=6470c5ca0a6c76fbeb1db263...
Author: Jacek Caban jacek@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);