| Index: content/browser/devtools/devtools_http_handler_impl.cc
|
| diff --git a/content/browser/devtools/devtools_http_handler_impl.cc b/content/browser/devtools/devtools_http_handler_impl.cc
|
| index 014032dee8456bc88e42701874c768f4d07e5130..11f1fb1473e054ac868cf90d688d695dc1f853c2 100644
|
| --- a/content/browser/devtools/devtools_http_handler_impl.cc
|
| +++ b/content/browser/devtools/devtools_http_handler_impl.cc
|
| @@ -21,8 +21,7 @@
|
| #include "content/browser/devtools/devtools_protocol.h"
|
| #include "content/browser/devtools/devtools_protocol_constants.h"
|
| #include "content/browser/devtools/devtools_system_info_handler.h"
|
| -#include "content/browser/devtools/protocol/devtools_protocol_handler_impl.h"
|
| -#include "content/browser/devtools/protocol/tracing_handler.h"
|
| +#include "content/browser/devtools/devtools_tracing_handler.h"
|
| #include "content/browser/devtools/tethering_handler.h"
|
| #include "content/common/devtools_messages.h"
|
| #include "content/public/browser/browser_thread.h"
|
| @@ -159,13 +158,7 @@
|
| int connection_id)
|
| : message_loop_(message_loop),
|
| server_(server),
|
| - connection_id_(connection_id),
|
| - tracing_handler_(new devtools::tracing::TracingHandler(
|
| - devtools::tracing::TracingHandler::Browser)),
|
| - protocol_handler_(new DevToolsProtocolHandlerImpl()) {
|
| - protocol_handler_->SetNotifier(
|
| - base::Bind(&BrowserTarget::Respond, base::Unretained(this)));
|
| - protocol_handler_->SetTracingHandler(tracing_handler_.get());
|
| + connection_id_(connection_id) {
|
| }
|
|
|
| ~BrowserTarget() {
|
| @@ -190,20 +183,17 @@
|
| return;
|
| }
|
|
|
| - scoped_refptr<DevToolsProtocol::Response> response =
|
| - protocol_handler_->HandleCommand(command);
|
| for (const auto& handler : handlers_) {
|
| - if (response.get())
|
| - break;
|
| - response = handler->HandleCommand(command);
|
| + scoped_refptr<DevToolsProtocol::Response> response =
|
| + handler->HandleCommand(command);
|
| + if (response.get()) {
|
| + if (!response->is_async_promise())
|
| + Respond(response->Serialize());
|
| + return;
|
| + }
|
| }
|
|
|
| - if (response.get()) {
|
| - if (!response->is_async_promise())
|
| - Respond(response->Serialize());
|
| - } else {
|
| - Respond(command->NoSuchMethodErrorResponse()->Serialize());
|
| - }
|
| + Respond(command->NoSuchMethodErrorResponse()->Serialize());
|
| }
|
|
|
| void Respond(const std::string& message) {
|
| @@ -220,8 +210,6 @@
|
| base::MessageLoop* const message_loop_;
|
| net::HttpServer* const server_;
|
| const int connection_id_;
|
| - scoped_ptr<devtools::tracing::TracingHandler> tracing_handler_;
|
| - scoped_ptr<DevToolsProtocolHandlerImpl> protocol_handler_;
|
| std::vector<DevToolsProtocol::Handler*> handlers_;
|
| };
|
|
|
| @@ -703,6 +691,8 @@
|
| BrowserTarget* browser_target = new BrowserTarget(
|
| thread_->message_loop(), server_.get(), connection_id);
|
| browser_target->RegisterHandler(
|
| + new DevToolsTracingHandler(DevToolsTracingHandler::Browser));
|
| + browser_target->RegisterHandler(
|
| new TetheringHandler(delegate_.get(), thread_->message_loop_proxy()));
|
| browser_target->RegisterHandler(
|
| new DevToolsSystemInfoHandler());
|
|
|