Commit 8b4b8798 authored by Jacek Caban's avatar Jacek Caban Committed by Alexandre Julliard

ieframe: Added default action implementation for IDocHostUIHandler::GetExternal.

parent f7018111
...@@ -17,6 +17,7 @@ C_SRCS = \ ...@@ -17,6 +17,7 @@ C_SRCS = \
oleobject.c \ oleobject.c \
persist.c \ persist.c \
shellbrowser.c \ shellbrowser.c \
shelluihelper.c \
taskbarlist.c \ taskbarlist.c \
urlhist.c \ urlhist.c \
view.c \ view.c \
......
...@@ -777,8 +777,17 @@ static HRESULT WINAPI DocHostUIHandler_GetExternal(IDocHostUIHandler2 *iface, ...@@ -777,8 +777,17 @@ static HRESULT WINAPI DocHostUIHandler_GetExternal(IDocHostUIHandler2 *iface,
if(This->hostui) if(This->hostui)
return IDocHostUIHandler_GetExternal(This->hostui, ppDispatch); return IDocHostUIHandler_GetExternal(This->hostui, ppDispatch);
FIXME("default action not implemented\n"); if(!This->shell_ui_helper) {
return E_NOTIMPL; HRESULT hres;
hres = create_shell_ui_helper(&This->shell_ui_helper);
if(FAILED(hres))
return hres;
}
*ppDispatch = (IDispatch*)This->shell_ui_helper;
IDispatch_AddRef(*ppDispatch);
return S_OK;
} }
static HRESULT WINAPI DocHostUIHandler_TranslateUrl(IDocHostUIHandler2 *iface, static HRESULT WINAPI DocHostUIHandler_TranslateUrl(IDocHostUIHandler2 *iface,
...@@ -938,6 +947,9 @@ void DocHost_Init(DocHost *This, IWebBrowser2 *wb, const IDocHostContainerVtbl* ...@@ -938,6 +947,9 @@ void DocHost_Init(DocHost *This, IWebBrowser2 *wb, const IDocHostContainerVtbl*
void DocHost_Release(DocHost *This) void DocHost_Release(DocHost *This)
{ {
if(This->shell_ui_helper)
IShellUIHelper2_Release(This->shell_ui_helper);
abort_dochost_tasks(This, NULL); abort_dochost_tasks(This, NULL);
release_dochost_client(This); release_dochost_client(This);
DocHost_ClientSite_Release(This); DocHost_ClientSite_Release(This);
......
...@@ -151,6 +151,7 @@ struct DocHost { ...@@ -151,6 +151,7 @@ struct DocHost {
BOOL is_prop_notif; BOOL is_prop_notif;
ShellBrowser *browser_service; ShellBrowser *browser_service;
IShellUIHelper2 *shell_ui_helper;
travellog_entry_t *travellog; travellog_entry_t *travellog;
unsigned travellog_size; unsigned travellog_size;
...@@ -255,6 +256,7 @@ BOOL HlinkFrame_QI(HlinkFrame*,REFIID,void**) DECLSPEC_HIDDEN; ...@@ -255,6 +256,7 @@ BOOL HlinkFrame_QI(HlinkFrame*,REFIID,void**) DECLSPEC_HIDDEN;
HRESULT create_browser_service(DocHost*,ShellBrowser**) DECLSPEC_HIDDEN; HRESULT create_browser_service(DocHost*,ShellBrowser**) DECLSPEC_HIDDEN;
void detach_browser_service(ShellBrowser*) DECLSPEC_HIDDEN; void detach_browser_service(ShellBrowser*) DECLSPEC_HIDDEN;
HRESULT create_shell_ui_helper(IShellUIHelper2**) DECLSPEC_HIDDEN;
void ConnectionPointContainer_Init(ConnectionPointContainer*,IUnknown*) DECLSPEC_HIDDEN; void ConnectionPointContainer_Init(ConnectionPointContainer*,IUnknown*) DECLSPEC_HIDDEN;
void ConnectionPointContainer_Destroy(ConnectionPointContainer*) DECLSPEC_HIDDEN; void ConnectionPointContainer_Destroy(ConnectionPointContainer*) DECLSPEC_HIDDEN;
......
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