summaryrefslogtreecommitdiffstats
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
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
-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()),