Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(707)

Unified Diff: chrome/browser/devtools/devtools_window.cc

Issue 449043002: [DevTools] Make DevTools clients talk directly to DevToolsAgentHost instead of using DevToolsManage… (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: fixed DetachAllClients Created 6 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/browser/devtools/devtools_window.cc
diff --git a/chrome/browser/devtools/devtools_window.cc b/chrome/browser/devtools/devtools_window.cc
index e4445e3a894187fcd2542249a9bed0e88d1cd725..8e4fc52d8be4eafc8b2b2bc608ab5222fd11ca06 100644
--- a/chrome/browser/devtools/devtools_window.cc
+++ b/chrome/browser/devtools/devtools_window.cc
@@ -34,8 +34,6 @@
#include "components/pref_registry/pref_registry_syncable.h"
#include "content/public/browser/browser_thread.h"
#include "content/public/browser/devtools_agent_host.h"
-#include "content/public/browser/devtools_client_host.h"
-#include "content/public/browser/devtools_manager.h"
#include "content/public/browser/native_web_keyboard_event.h"
#include "content/public/browser/navigation_controller.h"
#include "content/public/browser/navigation_entry.h"
@@ -425,9 +423,7 @@ DevToolsWindow* DevToolsWindow::OpenDevToolsWindowForWorker(
DevToolsWindow* window = FindDevToolsWindow(worker_agent);
if (!window) {
window = DevToolsWindow::CreateDevToolsWindowForWorker(profile);
- // Will disconnect the current client host if there is one.
- content::DevToolsManager::GetInstance()->RegisterDevToolsClientHostFor(
- worker_agent, window->bindings_);
+ window->bindings_->AttachTo(worker_agent);
}
window->ScheduleShow(DevToolsToggleAction::Show());
return window;
@@ -479,8 +475,7 @@ void DevToolsWindow::OpenExternalFrontend(
if (!window) {
window = Create(profile, DevToolsUI::GetProxyURL(frontend_url), NULL,
false, true, false, "");
- content::DevToolsManager::GetInstance()->RegisterDevToolsClientHostFor(
- agent_host, window->bindings_);
+ window->bindings_->AttachTo(agent_host);
}
window->ScheduleShow(DevToolsToggleAction::Show());
}
@@ -493,7 +488,6 @@ DevToolsWindow* DevToolsWindow::ToggleDevToolsWindow(
const std::string& settings) {
scoped_refptr<DevToolsAgentHost> agent(
DevToolsAgentHost::GetOrCreateFor(inspected_web_contents));
- content::DevToolsManager* manager = content::DevToolsManager::GetInstance();
DevToolsWindow* window = FindDevToolsWindow(agent.get());
bool do_open = force_open;
if (!window) {
@@ -503,7 +497,7 @@ DevToolsWindow* DevToolsWindow::ToggleDevToolsWindow(
base::UserMetricsAction("DevTools_InspectRenderer"));
window = Create(
profile, GURL(), inspected_web_contents, false, false, true, settings);
- manager->RegisterDevToolsClientHostFor(agent.get(), window->bindings_);
+ window->bindings_->AttachTo(agent.get());
do_open = true;
}
@@ -793,10 +787,9 @@ DevToolsWindow* DevToolsWindow::FindDevToolsWindow(
if (!agent_host || g_instances == NULL)
return NULL;
DevToolsWindows* instances = g_instances.Pointer();
- content::DevToolsManager* manager = content::DevToolsManager::GetInstance();
for (DevToolsWindows::iterator it(instances->begin()); it != instances->end();
++it) {
- if (manager->GetDevToolsAgentHostFor((*it)->bindings_) == agent_host)
+ if ((*it)->bindings_->IsAttachedTo(agent_host))
return *it;
}
return NULL;
@@ -826,14 +819,7 @@ WebContents* DevToolsWindow::OpenURLFromTab(
inspected_web_contents->OpenURL(params) : NULL;
}
- content::DevToolsManager* manager = content::DevToolsManager::GetInstance();
- scoped_refptr<DevToolsAgentHost> agent_host(
- manager->GetDevToolsAgentHostFor(bindings_));
- if (!agent_host.get())
- return NULL;
- manager->ClientHostClosing(bindings_);
- manager->RegisterDevToolsClientHostFor(agent_host.get(),
- bindings_);
+ bindings_->Reattach();
content::NavigationController::LoadURLParams load_url_params(params.url);
main_web_contents_->GetController().LoadURLWithParams(load_url_params);
@@ -910,10 +896,8 @@ void DevToolsWindow::BeforeUnloadFired(WebContents* tab,
bool* proceed_to_fire_unload) {
if (!intercepted_page_beforeunload_) {
// Docked devtools window closed directly.
- if (proceed) {
- content::DevToolsManager::GetInstance()->ClientHostClosing(
- bindings_);
- }
+ if (proceed)
+ bindings_->Detach();
*proceed_to_fire_unload = proceed;
} else {
// Inspected page is attempting to close.
« no previous file with comments | « chrome/browser/devtools/devtools_ui_bindings.cc ('k') | chrome/browser/extensions/api/debugger/debugger_api.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698