summaryrefslogtreecommitdiffstats
path: root/chrome_frame/chrome_active_document.cc
diff options
context:
space:
mode:
Diffstat (limited to 'chrome_frame/chrome_active_document.cc')
-rw-r--r--chrome_frame/chrome_active_document.cc18
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);
}