diff options
author | yurys@chromium.org <yurys@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-11-22 12:57:38 +0000 |
---|---|---|
committer | yurys@chromium.org <yurys@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-11-22 12:57:38 +0000 |
commit | bbc51c914a88870001bfc8a1483726dbf13cc8b7 (patch) | |
tree | 1e44b64df89b1e668fbc97475442561d400ae2cc /chrome/browser/debugger | |
parent | 1d067221f790489becb150a7d42cd7869137abe2 (diff) | |
download | chromium_src-bbc51c914a88870001bfc8a1483726dbf13cc8b7.zip chromium_src-bbc51c914a88870001bfc8a1483726dbf13cc8b7.tar.gz chromium_src-bbc51c914a88870001bfc8a1483726dbf13cc8b7.tar.bz2 |
DevTools: remove obsolete methods from DevToolsClientHost
BUG=104625
TEST=Existing tests
Review URL: http://codereview.chromium.org/8636011
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@111139 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/debugger')
-rw-r--r-- | chrome/browser/debugger/devtools_window.cc | 49 | ||||
-rw-r--r-- | chrome/browser/debugger/devtools_window.h | 3 |
2 files changed, 34 insertions, 18 deletions
diff --git a/chrome/browser/debugger/devtools_window.cc b/chrome/browser/debugger/devtools_window.cc index 1df3ee7..8accd2b 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,12 +77,16 @@ 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; +bool DevToolsWindow::IsDevToolsWindow(RenderViewHost* window_rvh) { + if (g_instances == NULL) + return NULL; + DevToolsWindowList& instances = g_instances.Get(); + for (DevToolsWindowList::iterator it = instances.begin(); + it != instances.end(); ++it) { + if ((*it)->tab_contents_->render_view_host() == window_rvh) + return true; + } + return false; } // static @@ -163,6 +172,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 +201,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 +247,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 +658,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..b78ea14 100644 --- a/chrome/browser/debugger/devtools_window.h +++ b/chrome/browser/debugger/devtools_window.h @@ -43,7 +43,7 @@ class DevToolsWindow static const char kDevToolsApp[]; static void RegisterUserPrefs(PrefService* prefs); static TabContentsWrapper* GetDevToolsContents(TabContents* inspected_tab); - static DevToolsWindow* FindDevToolsWindow(RenderViewHost* window_rvh); + static bool IsDevToolsWindow(RenderViewHost* window_rvh); static DevToolsWindow* OpenDevToolsWindowForWorker( Profile* profile, @@ -60,7 +60,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); |