summaryrefslogtreecommitdiffstats
path: root/chrome/browser/external_tab_container.cc
diff options
context:
space:
mode:
authorananta@chromium.org <ananta@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-09-29 03:44:06 +0000
committerananta@chromium.org <ananta@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-09-29 03:44:06 +0000
commit529338471fec2ab9b07bac9b07e3477b20e0ae28 (patch)
tree4f1c41a6af893700a44cffc4f161b3a3fa18b42e /chrome/browser/external_tab_container.cc
parent32fdee6a378aefb6baa0df0937ccb73503a09450 (diff)
downloadchromium_src-529338471fec2ab9b07bac9b07e3477b20e0ae28.zip
chromium_src-529338471fec2ab9b07bac9b07e3477b20e0ae28.tar.gz
chromium_src-529338471fec2ab9b07bac9b07e3477b20e0ae28.tar.bz2
Another attempt at landing this.
If IE was navigated away to a different page when the ChromeFrame inspector window was open it would crash the browser. The fix is to ensure that the inspector window is closed when the ExternalTabContainer window is uninitialized. This fixes bug http://code.google.com/p/chromium/issues/detail?id=22993 Bug=22993 Review URL: http://codereview.chromium.org/249028 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@27463 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/external_tab_container.cc')
-rw-r--r--chrome/browser/external_tab_container.cc6
1 files changed, 6 insertions, 0 deletions
diff --git a/chrome/browser/external_tab_container.cc b/chrome/browser/external_tab_container.cc
index b478f14..28a19d0 100644
--- a/chrome/browser/external_tab_container.cc
+++ b/chrome/browser/external_tab_container.cc
@@ -12,6 +12,7 @@
#include "base/win_util.h"
#include "chrome/browser/automation/automation_provider.h"
#include "chrome/browser/browser_window.h"
+#include "chrome/browser/debugger/devtools_manager.h"
#include "chrome/browser/load_notification_details.h"
#include "chrome/browser/page_info_window.h"
#include "chrome/browser/profile.h"
@@ -157,6 +158,11 @@ bool ExternalTabContainer::Init(Profile* profile,
void ExternalTabContainer::Uninitialize() {
registrar_.RemoveAll();
if (tab_contents_) {
+ RenderViewHost* rvh = tab_contents_->render_view_host();
+ if (rvh && DevToolsManager::GetInstance()) {
+ DevToolsManager::GetInstance()->UnregisterDevToolsClientHostFor(rvh);
+ }
+
NotificationService::current()->Notify(
NotificationType::EXTERNAL_TAB_CLOSED,
Source<NavigationController>(&tab_contents_->controller()),