diff options
-rw-r--r-- | chrome/browser/chrome_content_browser_client.cc | 3 | ||||
-rw-r--r-- | chrome/browser/ui/views/external_tab_container_win.cc | 4 |
2 files changed, 5 insertions, 2 deletions
diff --git a/chrome/browser/chrome_content_browser_client.cc b/chrome/browser/chrome_content_browser_client.cc index 20a4a83..c31883c 100644 --- a/chrome/browser/chrome_content_browser_client.cc +++ b/chrome/browser/chrome_content_browser_client.cc @@ -1504,8 +1504,7 @@ AccessTokenStore* ChromeContentBrowserClient::CreateAccessTokenStore() { } bool ChromeContentBrowserClient::IsFastShutdownPossible() { - const CommandLine& browser_command_line = *CommandLine::ForCurrentProcess(); - return !browser_command_line.HasSwitch(switches::kChromeFrame); + return true; } void ChromeContentBrowserClient::OverrideWebkitPrefs( diff --git a/chrome/browser/ui/views/external_tab_container_win.cc b/chrome/browser/ui/views/external_tab_container_win.cc index 42e67b2..070725c 100644 --- a/chrome/browser/ui/views/external_tab_container_win.cc +++ b/chrome/browser/ui/views/external_tab_container_win.cc @@ -266,6 +266,10 @@ void ExternalTabContainerWin::Uninitialize() { if (web_contents_.get()) { UnregisterRenderViewHost(web_contents_->GetRenderViewHost()); + // Explicitly tell the RPH to shutdown, as doing so is the only thing that + // cleans up certain resources like infobars (crbug.com/148398). + web_contents_->GetRenderProcessHost()->FastShutdownIfPossible(); + if (GetWidget()->GetRootView()) GetWidget()->GetRootView()->RemoveAllChildViews(true); |