Commit 60dc3d62 authored by Jacek Caban's avatar Jacek Caban Committed by Alexandre Julliard

ieframe: Added IDocObjectService::FireNavigateComplete2 implementation.

parent 4816929c
......@@ -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(
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment