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

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

Issue 2515613006: [DevTools] Move Memory, SystemInfo and Tethering domains to new generator. (Closed)
Patch Set: fixed review comments Created 4 years, 1 month 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 95b93768e266b599a30e368703626f2c2f6b8a4c..1ab06af1ade4676f72651be4ceb7cdfe1254a981 100644
--- a/content/browser/devtools/browser_devtools_agent_host.cc
+++ b/content/browser/devtools/browser_devtools_agent_host.cc
@@ -7,7 +7,6 @@
#include "base/bind.h"
#include "base/guid.h"
#include "base/json/json_reader.h"
-#include "content/browser/devtools/devtools_protocol_handler.h"
#include "content/browser/devtools/devtools_session.h"
#include "content/browser/devtools/protocol/io_handler.h"
#include "content/browser/devtools/protocol/memory_handler.h"
@@ -29,16 +28,8 @@ BrowserDevToolsAgentHost::BrowserDevToolsAgentHost(
scoped_refptr<base::SingleThreadTaskRunner> tethering_task_runner,
const CreateServerSocketCallback& socket_callback)
: DevToolsAgentHostImpl(base::GenerateGUID()),
- memory_handler_(new devtools::memory::MemoryHandler()),
- system_info_handler_(new devtools::system_info::SystemInfoHandler()),
- tethering_handler_(
- new devtools::tethering::TetheringHandler(socket_callback,
- tethering_task_runner)),
- protocol_handler_(new DevToolsProtocolHandler(this)) {
- DevToolsProtocolDispatcher* dispatcher = protocol_handler_->dispatcher();
- dispatcher->SetMemoryHandler(memory_handler_.get());
- dispatcher->SetSystemInfoHandler(system_info_handler_.get());
- dispatcher->SetTetheringHandler(tethering_handler_.get());
+ tethering_task_runner_(tethering_task_runner),
+ socket_callback_(socket_callback) {
NotifyCreated();
}
@@ -46,10 +37,19 @@ BrowserDevToolsAgentHost::~BrowserDevToolsAgentHost() {
}
void BrowserDevToolsAgentHost::Attach() {
- session()->dispatcher()->setFallThroughForNotFound(true);
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(
protocol::TracingHandler::Browser,
FrameTreeNode::kFrameTreeNodeInvalidId,
@@ -59,6 +59,9 @@ void BrowserDevToolsAgentHost::Attach() {
void BrowserDevToolsAgentHost::Detach() {
io_handler_.reset();
+ memory_handler_.reset();
+ system_info_handler_.reset();
+ tethering_handler_.reset();
tracing_handler_.reset();
}
@@ -87,13 +90,7 @@ void BrowserDevToolsAgentHost::Reload() {
bool BrowserDevToolsAgentHost::DispatchProtocolMessage(
const std::string& message) {
- std::unique_ptr<base::Value> value = base::JSONReader::Read(message);
- std::unique_ptr<protocol::Value> protocolValue =
- protocol::toProtocolValue(value.get(), 1000);
- if (session()->dispatcher()->dispatch(std::move(protocolValue)) ==
- protocol::Response::kFallThrough) {
- protocol_handler_->HandleMessage(session()->session_id(), std::move(value));
- }
+ session()->dispatcher()->dispatch(protocol::StringUtil::parseJSON(message));
return true;
}

Powered by Google App Engine
This is Rietveld 408576698