summaryrefslogtreecommitdiffstats
path: root/content/browser/devtools/devtools_http_handler_impl.cc
diff options
context:
space:
mode:
authorvkuzkokov <vkuzkokov@chromium.org>2014-11-12 05:32:49 -0800
committerCommit bot <commit-bot@chromium.org>2014-11-12 13:33:35 +0000
commit7c848788f642cd4c62cb11e890b4685f4a5f3b34 (patch)
tree4ec33ca9b46df5db37418527890094352376b046 /content/browser/devtools/devtools_http_handler_impl.cc
parentdc21123a7fe146420bf2af5ee3e1e2dd4fb5bedf (diff)
downloadchromium_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.cc34
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;
}