diff options
Diffstat (limited to 'chrome_frame/chrome_active_document.cc')
-rw-r--r-- | chrome_frame/chrome_active_document.cc | 18 |
1 files changed, 10 insertions, 8 deletions
diff --git a/chrome_frame/chrome_active_document.cc b/chrome_frame/chrome_active_document.cc index d0de8dd..bbc1887 100644 --- a/chrome_frame/chrome_active_document.cc +++ b/chrome_frame/chrome_active_document.cc @@ -139,14 +139,6 @@ STDMETHODIMP ChromeActiveDocument::DoVerb(LONG verb, pos); } -STDMETHODIMP ChromeActiveDocument::InPlaceDeactivate(void) { - // Release the pointers we have no need for now. - doc_site_.Release(); - in_place_frame_.Release(); - return IOleInPlaceObjectWindowlessImpl<ChromeActiveDocument>:: - InPlaceDeactivate(); -} - // Override IOleInPlaceActiveObjectImpl::OnDocWindowActivate STDMETHODIMP ChromeActiveDocument::OnDocWindowActivate(BOOL activate) { DLOG(INFO) << __FUNCTION__; @@ -298,6 +290,16 @@ HRESULT ChromeActiveDocument::IOleObject_SetClientSite( g_active_doc_cache.Set(NULL); cached_document->Release(); } + + ScopedComPtr<IDocHostUIHandler> doc_host_handler; + doc_host_handler.QueryFrom(doc_site_); + + if (doc_host_handler.get()) { + doc_host_handler->HideUI(); + } + + doc_site_.Release(); + in_place_frame_.Release(); } return Base::IOleObject_SetClientSite(client_site); } |