diff options
author | yurys@chromium.org <yurys@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-11-22 11:58:44 +0000 |
---|---|---|
committer | yurys@chromium.org <yurys@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-11-22 11:58:44 +0000 |
commit | ce178df9466d2cd0a0c9a15a94c94c5b466f83f7 (patch) | |
tree | 80bcfde31695ccfc9b14cf47c0f3ff9d441e0412 /chrome/browser/debugger | |
parent | 5fe63ddf88be563f6f55fe93b5dbaf21323e29c6 (diff) | |
download | chromium_src-ce178df9466d2cd0a0c9a15a94c94c5b466f83f7.zip chromium_src-ce178df9466d2cd0a0c9a15a94c94c5b466f83f7.tar.gz chromium_src-ce178df9466d2cd0a0c9a15a94c94c5b466f83f7.tar.bz2 |
DevTools: remove obsolete methods from DevToolsClientHost
BUG=None
TEST=Existing tests
Review URL: http://codereview.chromium.org/8634006
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@111135 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/debugger')
-rw-r--r-- | chrome/browser/debugger/devtools_window.cc | 42 | ||||
-rw-r--r-- | chrome/browser/debugger/devtools_window.h | 2 |
2 files changed, 23 insertions, 21 deletions
diff --git a/chrome/browser/debugger/devtools_window.cc b/chrome/browser/debugger/devtools_window.cc index 1df3ee7..c89a391 100644 --- a/chrome/browser/debugger/devtools_window.cc +++ b/chrome/browser/debugger/devtools_window.cc @@ -6,6 +6,7 @@ #include "base/command_line.h" #include "base/json/json_writer.h" +#include "base/lazy_instance.h" #include "base/stringprintf.h" #include "base/string_number_conversions.h" #include "base/utf_string_conversions.h" @@ -44,6 +45,13 @@ #include "content/public/common/bindings_policy.h" #include "grit/generated_resources.h" +typedef std::vector<DevToolsWindow*> DevToolsWindowList; +namespace { +base::LazyInstance<DevToolsWindowList, + base::LeakyLazyInstanceTraits<DevToolsWindowList> > + g_instances = LAZY_INSTANCE_INITIALIZER; +} // namespace + const char DevToolsWindow::kDevToolsApp[] = "DevToolsApp"; // static @@ -60,9 +68,6 @@ TabContentsWrapper* DevToolsWindow::GetDevToolsContents( return NULL; DevToolsManager* manager = DevToolsManager::GetInstance(); - if (!manager) - return NULL; // Happens only in tests. - DevToolsClientHost* client_host = manager-> GetDevToolsClientHostFor(inspected_tab->render_view_host()); DevToolsWindow* window = AsDevToolsWindow(client_host); @@ -72,15 +77,6 @@ TabContentsWrapper* DevToolsWindow::GetDevToolsContents( } // static -DevToolsWindow* DevToolsWindow::FindDevToolsWindow( - RenderViewHost* window_rvh) { - DevToolsClientHost* client_host = - DevToolsClientHost::FindOwnerClientHost(window_rvh); - return client_host != NULL ? DevToolsWindow::AsDevToolsWindow(client_host) - : NULL; -} - -// static DevToolsWindow* DevToolsWindow::OpenDevToolsWindowForWorker( Profile* profile, DevToolsAgentHost* worker_agent) { @@ -163,6 +159,7 @@ DevToolsWindow::DevToolsWindow(TabContentsWrapper* tab_contents, docked_(docked), is_loaded_(false), action_on_load_(DEVTOOLS_TOGGLE_ACTION_NONE) { + g_instances.Get().push_back(this); // Wipe out page icon so that the default application icon is used. NavigationEntry* entry = tab_contents_->controller().GetActiveEntry(); entry->favicon().set_bitmap(SkBitmap()); @@ -191,6 +188,12 @@ DevToolsWindow::DevToolsWindow(TabContentsWrapper* tab_contents, } DevToolsWindow::~DevToolsWindow() { + DevToolsWindowList& instances = g_instances.Get(); + DevToolsWindowList::iterator it = std::find(instances.begin(), + instances.end(), + this); + DCHECK(it != instances.end()); + instances.erase(it); } void DevToolsWindow::SendMessageToClient(const IPC::Message& message) { @@ -231,10 +234,6 @@ void DevToolsWindow::TabReplaced(TabContents* new_tab) { inspected_tab_ = new_tab_wrapper; } -RenderViewHost* DevToolsWindow::GetClientRenderViewHost() { - return tab_contents_->render_view_host(); -} - void DevToolsWindow::Show(DevToolsToggleAction action) { if (docked_) { Browser* inspected_browser; @@ -646,10 +645,15 @@ DevToolsWindow* DevToolsWindow::ToggleDevToolsWindow( // static DevToolsWindow* DevToolsWindow::AsDevToolsWindow( DevToolsClientHost* client_host) { - if (!client_host) + if (!client_host || g_instances == NULL) return NULL; - if (client_host->GetClientRenderViewHost() != NULL) - return static_cast<DevToolsWindow*>(client_host); + DevToolsWindowList& instances = g_instances.Get(); + for (DevToolsWindowList::iterator it = instances.begin(); + it != instances.end(); ++it) { + DevToolsClientHost* client = *it; + if (client == client_host) + return *it; + } return NULL; } diff --git a/chrome/browser/debugger/devtools_window.h b/chrome/browser/debugger/devtools_window.h index 8bdd58f..ba348b5 100644 --- a/chrome/browser/debugger/devtools_window.h +++ b/chrome/browser/debugger/devtools_window.h @@ -43,7 +43,6 @@ class DevToolsWindow static const char kDevToolsApp[]; static void RegisterUserPrefs(PrefService* prefs); static TabContentsWrapper* GetDevToolsContents(TabContents* inspected_tab); - static DevToolsWindow* FindDevToolsWindow(RenderViewHost* window_rvh); static DevToolsWindow* OpenDevToolsWindowForWorker( Profile* profile, @@ -60,7 +59,6 @@ class DevToolsWindow virtual void SendMessageToClient(const IPC::Message& message) OVERRIDE; virtual void InspectedTabClosing() OVERRIDE; virtual void TabReplaced(TabContents* new_tab) OVERRIDE; - virtual RenderViewHost* GetClientRenderViewHost() OVERRIDE; RenderViewHost* GetRenderViewHost(); void Show(DevToolsToggleAction action); |