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

Unified Diff: content/browser/devtools/browser_devtools_agent_host.cc

Issue 2590293003: [DevTools] Rework DevToolsSession interaction with domain handlers. (Closed)
Patch Set: addressed comments Created 4 years 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: content/browser/devtools/browser_devtools_agent_host.cc
diff --git a/content/browser/devtools/browser_devtools_agent_host.cc b/content/browser/devtools/browser_devtools_agent_host.cc
index a715bb5452b4a1cf1619a8471c795caef2f62a4c..86d8eecf6668a0a4686abc7a092fce7729e1602a 100644
--- a/content/browser/devtools/browser_devtools_agent_host.cc
+++ b/content/browser/devtools/browser_devtools_agent_host.cc
@@ -6,7 +6,7 @@
#include "base/bind.h"
#include "base/guid.h"
-#include "base/json/json_reader.h"
+#include "base/memory/ptr_util.h"
#include "content/browser/devtools/devtools_session.h"
#include "content/browser/devtools/protocol/io_handler.h"
#include "content/browser/devtools/protocol/memory_handler.h"
@@ -36,38 +36,20 @@ BrowserDevToolsAgentHost::BrowserDevToolsAgentHost(
BrowserDevToolsAgentHost::~BrowserDevToolsAgentHost() {
}
-void BrowserDevToolsAgentHost::Attach() {
- io_handler_.reset(new protocol::IOHandler(GetIOContext()));
- io_handler_->Wire(session()->dispatcher());
-
- memory_handler_.reset(new protocol::MemoryHandler());
- memory_handler_->Wire(session()->dispatcher());
-
- system_info_handler_.reset(new protocol::SystemInfoHandler());
- system_info_handler_->Wire(session()->dispatcher());
-
- tethering_handler_.reset(new protocol::TetheringHandler(
- socket_callback_, tethering_task_runner_));
- tethering_handler_->Wire(session()->dispatcher());
-
- tracing_handler_.reset(new protocol::TracingHandler(
+void BrowserDevToolsAgentHost::AttachSession(DevToolsSession* session) {
+ session->AddHandler(base::WrapUnique(new protocol::IOHandler(
+ GetIOContext())));
+ session->AddHandler(base::WrapUnique(new protocol::MemoryHandler()));
+ session->AddHandler(base::WrapUnique(new protocol::SystemInfoHandler()));
+ session->AddHandler(base::WrapUnique(new protocol::TetheringHandler(
+ socket_callback_, tethering_task_runner_)));
+ session->AddHandler(base::WrapUnique(new protocol::TracingHandler(
protocol::TracingHandler::Browser,
FrameTreeNode::kFrameTreeNodeInvalidId,
- GetIOContext()));
- tracing_handler_->Wire(session()->dispatcher());
+ GetIOContext())));
}
-void BrowserDevToolsAgentHost::Detach() {
- io_handler_->Disable();
- io_handler_.reset();
- memory_handler_->Disable();
- memory_handler_.reset();
- system_info_handler_->Disable();
- system_info_handler_.reset();
- tethering_handler_->Disable();
- tethering_handler_.reset();
- tracing_handler_->Disable();
- tracing_handler_.reset();
+void BrowserDevToolsAgentHost::DetachSession(int session_id) {
}
std::string BrowserDevToolsAgentHost::GetType() {
@@ -94,8 +76,11 @@ void BrowserDevToolsAgentHost::Reload() {
}
bool BrowserDevToolsAgentHost::DispatchProtocolMessage(
+ DevToolsSession* session,
const std::string& message) {
- session()->dispatcher()->dispatch(protocol::StringUtil::parseJSON(message));
+ int call_id;
+ std::string method;
+ session->Dispatch(message, false, &call_id, &method);
return true;
}

Powered by Google App Engine
This is Rietveld 408576698