Chromium Code Reviews| 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 1add17e62cc9b5caa360222d539d8b68862472e9..c6a8fe0019d239a57ff20b339c110446b9e3b131 100644 |
| --- a/content/browser/devtools/devtools_http_handler_impl.cc |
| +++ b/content/browser/devtools/devtools_http_handler_impl.cc |
| @@ -20,8 +20,8 @@ |
| #include "content/browser/devtools/devtools_manager.h" |
| #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/system_info_handler.h" |
| #include "content/browser/devtools/protocol/tethering_handler.h" |
| #include "content/browser/devtools/protocol/tracing_handler.h" |
| #include "content/common/devtools_messages.h" |
| @@ -161,6 +161,7 @@ class DevToolsHttpHandlerImpl::BrowserTarget { |
| : message_loop_(message_loop), |
| server_(server), |
| connection_id_(connection_id), |
| + system_info_handler_(new devtools::system_info::SystemInfoHandler()), |
| tethering_handler_(new devtools::tethering::TetheringHandler( |
| delegate, message_loop->message_loop_proxy())), |
| tracing_handler_(new devtools::tracing::TracingHandler( |
| @@ -168,22 +169,12 @@ class DevToolsHttpHandlerImpl::BrowserTarget { |
| protocol_handler_(new DevToolsProtocolHandlerImpl()) { |
| protocol_handler_->SetNotifier( |
| base::Bind(&BrowserTarget::Respond, base::Unretained(this))); |
| + protocol_handler_->SetSystemInfoHandler(system_info_handler_.get()); |
| protocol_handler_->SetTetheringHandler(tethering_handler_.get()); |
| protocol_handler_->SetTracingHandler(tracing_handler_.get()); |
| } |
| - ~BrowserTarget() { |
| - STLDeleteElements(&handlers_); |
| - } |
| - |
| // Takes ownership. |
|
dgozman
2014/10/28 10:19:58
Obsolete comment.
vkuzkokov
2014/10/28 11:57:50
Done.
|
| - void RegisterHandler(DevToolsProtocol::Handler* handler) { |
| - DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); |
| - handler->SetNotifier( |
| - base::Bind(&BrowserTarget::Respond, base::Unretained(this))); |
| - handlers_.push_back(handler); |
| - } |
| - |
| void HandleMessage(const std::string& message) { |
| DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); |
| std::string error_response; |
| @@ -196,11 +187,6 @@ class DevToolsHttpHandlerImpl::BrowserTarget { |
| scoped_refptr<DevToolsProtocol::Response> response = |
| protocol_handler_->HandleCommand(command); |
| - for (const auto& handler : handlers_) { |
| - if (response.get()) |
| - break; |
| - response = handler->HandleCommand(command); |
| - } |
| if (response.get()) { |
| if (!response->is_async_promise()) |
| @@ -224,10 +210,10 @@ class DevToolsHttpHandlerImpl::BrowserTarget { |
| base::MessageLoop* const message_loop_; |
| net::HttpServer* const server_; |
| const int connection_id_; |
| + scoped_ptr<devtools::system_info::SystemInfoHandler> system_info_handler_; |
| scoped_ptr<devtools::tethering::TetheringHandler> tethering_handler_; |
| scoped_ptr<devtools::tracing::TracingHandler> tracing_handler_; |
| scoped_ptr<DevToolsProtocolHandlerImpl> protocol_handler_; |
| - std::vector<DevToolsProtocol::Handler*> handlers_; |
| }; |
| // DevToolsHttpHandler ------------------------------------------------------- |
| @@ -705,11 +691,8 @@ void DevToolsHttpHandlerImpl::OnWebSocketRequestUI( |
| std::string browser_prefix = "/devtools/browser"; |
| size_t browser_pos = request.path.find(browser_prefix); |
| if (browser_pos == 0) { |
| - BrowserTarget* browser_target = new BrowserTarget( |
| + browser_targets_[connection_id] = new BrowserTarget( |
| thread_->message_loop(), server_.get(), delegate_.get(), connection_id); |
| - browser_target->RegisterHandler( |
| - new DevToolsSystemInfoHandler()); |
| - browser_targets_[connection_id] = browser_target; |
| AcceptWebSocket(connection_id, request); |
| return; |
| } |