diff options
author | vkuzkokov <vkuzkokov@chromium.org> | 2014-11-12 05:32:49 -0800 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2014-11-12 13:33:35 +0000 |
commit | 7c848788f642cd4c62cb11e890b4685f4a5f3b34 (patch) | |
tree | 4ec33ca9b46df5db37418527890094352376b046 /content/browser/devtools/devtools_http_handler_impl.cc | |
parent | dc21123a7fe146420bf2af5ee3e1e2dd4fb5bedf (diff) | |
download | chromium_src-7c848788f642cd4c62cb11e890b4685f4a5f3b34.zip chromium_src-7c848788f642cd4c62cb11e890b4685f4a5f3b34.tar.gz chromium_src-7c848788f642cd4c62cb11e890b4685f4a5f3b34.tar.bz2 |
[DevTools] Move SystemInfo domain to generated handler
BUG=405566
Review URL: https://codereview.chromium.org/665123002
Cr-Commit-Position: refs/heads/master@{#303827}
Diffstat (limited to 'content/browser/devtools/devtools_http_handler_impl.cc')
-rw-r--r-- | content/browser/devtools/devtools_http_handler_impl.cc | 34 |
1 files changed, 8 insertions, 26 deletions
diff --git a/content/browser/devtools/devtools_http_handler_impl.cc b/content/browser/devtools/devtools_http_handler_impl.cc index 7c12644..42e6f5e 100644 --- a/content/browser/devtools/devtools_http_handler_impl.cc +++ b/content/browser/devtools/devtools_http_handler_impl.cc @@ -18,8 +18,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" @@ -413,6 +413,7 @@ class BrowserTarget { : message_loop_(message_loop), server_wrapper_(server_wrapper), 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( @@ -420,22 +421,11 @@ class 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. - 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; @@ -448,11 +438,6 @@ class 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()) @@ -476,10 +461,10 @@ class BrowserTarget { base::MessageLoop* const message_loop_; ServerWrapper* const server_wrapper_; 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_; }; } // namespace @@ -916,13 +901,10 @@ void DevToolsHttpHandlerImpl::OnWebSocketRequest( std::string browser_prefix = "/devtools/browser"; size_t browser_pos = request.path.find(browser_prefix); if (browser_pos == 0) { - BrowserTarget* browser_target = new BrowserTarget(thread_->message_loop(), - server_wrapper_, - delegate_.get(), - connection_id); - browser_target->RegisterHandler( - new DevToolsSystemInfoHandler()); - browser_targets_[connection_id] = browser_target; + browser_targets_[connection_id] = new BrowserTarget(thread_->message_loop(), + server_wrapper_, + delegate_.get(), + connection_id); AcceptWebSocket(connection_id, request); return; } |