ieframe: Store embedder iface as IWebBrowser2 in DocHost.

This commit is contained in:
Jacek Caban 2012-01-09 17:56:05 +01:00 committed by Alexandre Julliard
parent 39c1298958
commit a8816f51d8
7 changed files with 16 additions and 16 deletions

View File

@ -471,7 +471,7 @@ static HRESULT WINAPI ControlSite_TranslateAccelerator(IOleControlSite *iface, M
TRACE("(%p)->(%p, %08x)\n", This, pMsg, grfModifiers); TRACE("(%p)->(%p, %08x)\n", This, pMsg, grfModifiers);
hr = IDispatch_QueryInterface(This->disp, &IID_IOleObject, (void**)&wb_obj); hr = IWebBrowser2_QueryInterface(This->wb, &IID_IOleObject, (void**)&wb_obj);
if(SUCCEEDED(hr)) { if(SUCCEEDED(hr)) {
hr = IOleObject_GetClientSite(wb_obj, &clientsite); hr = IOleObject_GetClientSite(wb_obj, &clientsite);
if(SUCCEEDED(hr)) { if(SUCCEEDED(hr)) {
@ -663,12 +663,12 @@ static HRESULT WINAPI ClServiceProvider_QueryService(IServiceProvider *iface, RE
if(IsEqualGUID(&IID_IHlinkFrame, guidService)) { if(IsEqualGUID(&IID_IHlinkFrame, guidService)) {
TRACE("(%p)->(IID_IHlinkFrame %s %p)\n", This, debugstr_guid(riid), ppv); TRACE("(%p)->(IID_IHlinkFrame %s %p)\n", This, debugstr_guid(riid), ppv);
return IDispatch_QueryInterface(This->disp, riid, ppv); return IWebBrowser2_QueryInterface(This->wb, riid, ppv);
} }
if(IsEqualGUID(&IID_IWebBrowserApp, guidService)) { if(IsEqualGUID(&IID_IWebBrowserApp, guidService)) {
TRACE("IWebBrowserApp service\n"); TRACE("IWebBrowserApp service\n");
return IDispatch_QueryInterface(This->disp, riid, ppv); return IWebBrowser2_QueryInterface(This->wb, riid, ppv);
} }
if(IsEqualGUID(&IID_IShellBrowser, guidService)) { if(IsEqualGUID(&IID_IShellBrowser, guidService)) {

View File

@ -91,7 +91,7 @@ static void notif_complete(DocHost *This, DISPID dispid)
V_BYREF(params) = &url; V_BYREF(params) = &url;
V_VT(params+1) = VT_DISPATCH; V_VT(params+1) = VT_DISPATCH;
V_DISPATCH(params+1) = This->disp; V_DISPATCH(params+1) = (IDispatch*)This->wb;
V_VT(&url) = VT_BSTR; V_VT(&url) = VT_BSTR;
V_BSTR(&url) = SysAllocString(This->url); V_BSTR(&url) = SysAllocString(This->url);
@ -871,13 +871,13 @@ static const IPropertyNotifySinkVtbl PropertyNotifySinkVtbl = {
PropertyNotifySink_OnRequestEdit PropertyNotifySink_OnRequestEdit
}; };
void DocHost_Init(DocHost *This, IDispatch *disp, const IDocHostContainerVtbl* container) void DocHost_Init(DocHost *This, IWebBrowser2 *wb, const IDocHostContainerVtbl* container)
{ {
This->IDocHostUIHandler2_iface.lpVtbl = &DocHostUIHandler2Vtbl; This->IDocHostUIHandler2_iface.lpVtbl = &DocHostUIHandler2Vtbl;
This->IOleCommandTarget_iface.lpVtbl = &OleCommandTargetVtbl; This->IOleCommandTarget_iface.lpVtbl = &OleCommandTargetVtbl;
This->IPropertyNotifySink_iface.lpVtbl = &PropertyNotifySinkVtbl; This->IPropertyNotifySink_iface.lpVtbl = &PropertyNotifySinkVtbl;
This->disp = disp; This->wb = wb;
This->container_vtbl = container; This->container_vtbl = container;
This->ready_state = READYSTATE_UNINITIALIZED; This->ready_state = READYSTATE_UNINITIALIZED;
@ -886,7 +886,7 @@ void DocHost_Init(DocHost *This, IDispatch *disp, const IDocHostContainerVtbl* c
DocHost_ClientSite_Init(This); DocHost_ClientSite_Init(This);
DocHost_Frame_Init(This); DocHost_Frame_Init(This);
ConnectionPointContainer_Init(&This->cps, (IUnknown*)disp); ConnectionPointContainer_Init(&This->cps, (IUnknown*)wb);
IEHTMLWindow_Init(This); IEHTMLWindow_Init(This);
NewWindowManager_Init(This); NewWindowManager_Init(This);
} }

View File

@ -118,7 +118,7 @@ struct DocHost {
/* Interfaces of InPlaceFrame object */ /* Interfaces of InPlaceFrame object */
IOleInPlaceFrame IOleInPlaceFrame_iface; IOleInPlaceFrame IOleInPlaceFrame_iface;
IDispatch *disp; IWebBrowser2 *wb;
IDispatch *client_disp; IDispatch *client_disp;
IDocHostUIHandler *hostui; IDocHostUIHandler *hostui;
@ -231,7 +231,7 @@ void WebBrowser_ClassInfo_Init(WebBrowser*) DECLSPEC_HIDDEN;
void WebBrowser_OleObject_Destroy(WebBrowser*) DECLSPEC_HIDDEN; void WebBrowser_OleObject_Destroy(WebBrowser*) DECLSPEC_HIDDEN;
void DocHost_Init(DocHost*,IDispatch*,const IDocHostContainerVtbl*) DECLSPEC_HIDDEN; void DocHost_Init(DocHost*,IWebBrowser2*,const IDocHostContainerVtbl*) DECLSPEC_HIDDEN;
void DocHost_Release(DocHost*) DECLSPEC_HIDDEN; void DocHost_Release(DocHost*) DECLSPEC_HIDDEN;
void DocHost_ClientSite_Init(DocHost*) DECLSPEC_HIDDEN; void DocHost_ClientSite_Init(DocHost*) DECLSPEC_HIDDEN;
void DocHost_ClientSite_Release(DocHost*) DECLSPEC_HIDDEN; void DocHost_ClientSite_Release(DocHost*) DECLSPEC_HIDDEN;

View File

@ -789,7 +789,7 @@ static HRESULT create_ie(InternetExplorer **ret_obj)
ret->doc_host->ref = 1; ret->doc_host->ref = 1;
ret->doc_host->ie = ret; ret->doc_host->ie = ret;
DocHost_Init(&ret->doc_host->doc_host, (IDispatch*)&ret->IWebBrowser2_iface, &DocHostContainerVtbl); DocHost_Init(&ret->doc_host->doc_host, &ret->IWebBrowser2_iface, &DocHostContainerVtbl);
InternetExplorer_WebBrowser_Init(ret); InternetExplorer_WebBrowser_Init(ret);

View File

@ -329,7 +329,7 @@ void handle_navigation_error(DocHost* doc_host, HRESULT hres, BSTR url, IHTMLWin
V_BSTR(&var_url) = url; V_BSTR(&var_url) = url;
V_VT(params+4) = VT_DISPATCH; V_VT(params+4) = VT_DISPATCH;
V_DISPATCH(params+4) = doc_host->disp; V_DISPATCH(params+4) = (IDispatch*)doc_host->wb;
call_sink(doc_host->cps.wbe2, DISPID_NAVIGATEERROR, &dispparams); call_sink(doc_host->cps.wbe2, DISPID_NAVIGATEERROR, &dispparams);
SysFreeString(V_BSTR(&var_frame_name)); SysFreeString(V_BSTR(&var_frame_name));
@ -551,7 +551,7 @@ static void on_before_navigate2(DocHost *This, LPCWSTR url, SAFEARRAY *post_data
V_BSTR(&var_url) = SysAllocString(url); V_BSTR(&var_url) = SysAllocString(url);
V_VT(params+6) = (VT_DISPATCH); V_VT(params+6) = (VT_DISPATCH);
V_DISPATCH(params+6) = This->disp; V_DISPATCH(params+6) = (IDispatch*)This->wb;
call_sink(This->cps.wbe2, DISPID_BEFORENAVIGATE2, &dispparams); call_sink(This->cps.wbe2, DISPID_BEFORENAVIGATE2, &dispparams);

View File

@ -706,7 +706,7 @@ static HRESULT WINAPI DocObjectService_FireBeforeNavigate2(
V_BSTR(&var_url) = SysAllocString(lpszUrl); V_BSTR(&var_url) = SysAllocString(lpszUrl);
V_VT(params+6) = (VT_DISPATCH); V_VT(params+6) = (VT_DISPATCH);
V_DISPATCH(params+6) = This->doc_host->disp; V_DISPATCH(params+6) = (IDispatch*)This->doc_host->wb;
TRACE(">>>\n"); TRACE(">>>\n");
call_sink(This->doc_host->cps.wbe2, DISPID_BEFORENAVIGATE2, &dp); call_sink(This->doc_host->cps.wbe2, DISPID_BEFORENAVIGATE2, &dp);
@ -751,7 +751,7 @@ static HRESULT WINAPI DocObjectService_FireNavigateComplete2(
V_BYREF(params) = &url; V_BYREF(params) = &url;
V_VT(params+1) = VT_DISPATCH; V_VT(params+1) = VT_DISPATCH;
V_DISPATCH(params+1) = This->doc_host->disp; V_DISPATCH(params+1) = (IDispatch*)This->doc_host->wb;
V_VT(&url_var) = VT_BSTR; V_VT(&url_var) = VT_BSTR;
V_BSTR(&url_var) = url; V_BSTR(&url_var) = url;
@ -812,7 +812,7 @@ static HRESULT WINAPI DocObjectService_FireDocumentComplete(
V_BYREF(params) = &url; V_BYREF(params) = &url;
V_VT(params+1) = VT_DISPATCH; V_VT(params+1) = VT_DISPATCH;
V_DISPATCH(params+1) = This->doc_host->disp; V_DISPATCH(params+1) = (IDispatch*)This->doc_host->wb;
V_VT(&url_var) = VT_BSTR; V_VT(&url_var) = VT_BSTR;
V_BSTR(&url_var) = url; V_BSTR(&url_var) = url;

View File

@ -1252,7 +1252,7 @@ static HRESULT create_webbrowser(int version, IUnknown *outer, REFIID riid, void
ret->ref = 1; ret->ref = 1;
ret->version = version; ret->version = version;
DocHost_Init(&ret->doc_host, (IDispatch*)&ret->IWebBrowser2_iface, &DocHostContainerVtbl); DocHost_Init(&ret->doc_host, &ret->IWebBrowser2_iface, &DocHostContainerVtbl);
ret->visible = VARIANT_TRUE; ret->visible = VARIANT_TRUE;
ret->menu_bar = VARIANT_TRUE; ret->menu_bar = VARIANT_TRUE;