ieframe: Added IDocObjectService::FireNavigateComplete2 implementation.
This commit is contained in:
parent
4816929cfe
commit
60dc3d6280
|
@ -237,6 +237,7 @@ void call_sink(ConnectionPoint*,DISPID,DISPPARAMS*) DECLSPEC_HIDDEN;
|
|||
HRESULT navigate_url(DocHost*,LPCWSTR,const VARIANT*,const VARIANT*,VARIANT*,VARIANT*) DECLSPEC_HIDDEN;
|
||||
HRESULT go_home(DocHost*) DECLSPEC_HIDDEN;
|
||||
HRESULT get_location_url(DocHost*,BSTR*) DECLSPEC_HIDDEN;
|
||||
HRESULT set_dochost_url(DocHost*,const WCHAR*) DECLSPEC_HIDDEN;
|
||||
void handle_navigation_error(DocHost*,HRESULT,BSTR,IHTMLWindow2*) DECLSPEC_HIDDEN;
|
||||
HRESULT dochost_object_available(DocHost*,IUnknown*) DECLSPEC_HIDDEN;
|
||||
void set_doc_state(DocHost*,READYSTATE) DECLSPEC_HIDDEN;
|
||||
|
|
|
@ -110,7 +110,7 @@ static void set_status_text(BindStatusCallback *This, LPCWSTR str)
|
|||
IOleInPlaceFrame_SetStatusText(This->doc_host->frame, str);
|
||||
}
|
||||
|
||||
static HRESULT set_dochost_url(DocHost *This, const WCHAR *url)
|
||||
HRESULT set_dochost_url(DocHost *This, const WCHAR *url)
|
||||
{
|
||||
WCHAR *new_url;
|
||||
|
||||
|
|
|
@ -722,8 +722,44 @@ static HRESULT WINAPI DocObjectService_FireNavigateComplete2(
|
|||
DWORD dwFlags)
|
||||
{
|
||||
ShellBrowser *This = impl_from_IDocObjectService(iface);
|
||||
FIXME("%p %p %x\n", This, pHTMLWindow2, dwFlags);
|
||||
return E_NOTIMPL;
|
||||
IHTMLPrivateWindow *priv_window;
|
||||
VARIANTARG params[2];
|
||||
DISPPARAMS dp = {params, NULL, 2, 0};
|
||||
VARIANT url_var;
|
||||
BSTR url;
|
||||
HRESULT hres;
|
||||
|
||||
TRACE("%p %p %x\n", This, pHTMLWindow2, dwFlags);
|
||||
|
||||
hres = IHTMLWindow2_QueryInterface(pHTMLWindow2, &IID_IHTMLPrivateWindow, (void**)&priv_window);
|
||||
if(FAILED(hres))
|
||||
return hres;
|
||||
|
||||
hres = IHTMLPrivateWindow_GetAddressBarUrl(priv_window, &url);
|
||||
IHTMLPrivateWindow_Release(priv_window);
|
||||
if(FAILED(hres))
|
||||
return hres;
|
||||
|
||||
TRACE("got URL %s\n", debugstr_w(url));
|
||||
set_dochost_url(This->doc_host, url);
|
||||
|
||||
V_VT(params) = (VT_BYREF|VT_VARIANT);
|
||||
V_BYREF(params) = &url;
|
||||
|
||||
V_VT(params+1) = VT_DISPATCH;
|
||||
V_DISPATCH(params+1) = This->doc_host->disp;
|
||||
|
||||
V_VT(&url_var) = VT_BSTR;
|
||||
V_BSTR(&url_var) = url;
|
||||
|
||||
TRACE(">>>\n");
|
||||
call_sink(This->doc_host->cps.wbe2, DISPID_NAVIGATECOMPLETE2, &dp);
|
||||
TRACE("<<<\n");
|
||||
|
||||
SysFreeString(url);
|
||||
|
||||
This->doc_host->busy = VARIANT_FALSE;
|
||||
return S_OK;
|
||||
}
|
||||
|
||||
static HRESULT WINAPI DocObjectService_FireDownloadBegin(
|
||||
|
|
Loading…
Reference in New Issue