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

Side by Side Diff: content/browser/devtools/protocol/browser_handler.cc

Issue 2370483002: DevTools: discover default port node servers for debugging (behind experiment) (Closed)
Patch Set: process attach return status Created 4 years, 2 months 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 unified diff | Download patch
OLDNEW
1 // Copyright 2016 The Chromium Authors. All rights reserved. 1 // Copyright 2016 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "content/browser/devtools/protocol/browser_handler.h" 5 #include "content/browser/devtools/protocol/browser_handler.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 8
9 #include "base/bind.h" 9 #include "base/bind.h"
10 #include "content/browser/devtools/devtools_manager.h" 10 #include "content/browser/devtools/devtools_manager.h"
11 #include "content/public/browser/devtools_manager_delegate.h" 11 #include "content/public/browser/devtools_manager_delegate.h"
12 12
13 namespace content { 13 namespace content {
14 namespace devtools { 14 namespace devtools {
15 namespace browser { 15 namespace browser {
16 16
17 using Response = DevToolsProtocolClient::Response; 17 using Response = DevToolsProtocolClient::Response;
18 18
19 BrowserHandler::BrowserHandler() 19 BrowserHandler::BrowserHandler()
20 : weak_factory_(this) { 20 : weak_factory_(this) {
21 } 21 }
22 22
23 BrowserHandler::~BrowserHandler() { 23 BrowserHandler::~BrowserHandler() {
24 } 24 }
25 25
26 void BrowserHandler::SetClient(std::unique_ptr<Client> client) { 26 void BrowserHandler::SetClient(std::unique_ptr<Client> client) {
27 client_.swap(client); 27 client_.swap(client);
28 } 28 }
29 29
30 void BrowserHandler::Detached() {
31 for (const auto& host : attached_hosts_)
32 host->DetachClient(this);
33 attached_hosts_.clear();
34 }
35
30 Response BrowserHandler::CreateBrowserContext(std::string* out_context_id) { 36 Response BrowserHandler::CreateBrowserContext(std::string* out_context_id) {
31 // For layering reasons this needs to be handled by 37 // For layering reasons this needs to be handled by
32 // DevToolsManagerDelegate::HandleCommand. 38 // DevToolsManagerDelegate::HandleCommand.
33 return Response::ServerError("Not supported"); 39 return Response::ServerError("Not supported");
34 } 40 }
35 41
36 Response BrowserHandler::DisposeBrowserContext(const std::string& context_id, 42 Response BrowserHandler::DisposeBrowserContext(const std::string& context_id,
37 bool* out_success) { 43 bool* out_success) {
38 // For layering reasons this needs to be handled by 44 // For layering reasons this needs to be handled by
39 // DevToolsManagerDelegate::HandleCommand. 45 // DevToolsManagerDelegate::HandleCommand.
(...skipping 92 matching lines...) Expand 10 before | Expand all | Expand 10 after
132 Response BrowserHandler::SendMessage(const std::string& target_id, 138 Response BrowserHandler::SendMessage(const std::string& target_id,
133 const std::string& message) { 139 const std::string& message) {
134 scoped_refptr<DevToolsAgentHost> agent_host = 140 scoped_refptr<DevToolsAgentHost> agent_host =
135 DevToolsAgentHost::GetForId(target_id); 141 DevToolsAgentHost::GetForId(target_id);
136 if (!agent_host) 142 if (!agent_host)
137 return Response::ServerError("No target with given id found"); 143 return Response::ServerError("No target with given id found");
138 agent_host->DispatchProtocolMessage(this, message); 144 agent_host->DispatchProtocolMessage(this, message);
139 return Response::OK(); 145 return Response::OK();
140 } 146 }
141 147
148 Response BrowserHandler::SetRemoteLocations(
149 const std::vector<std::unique_ptr<base::DictionaryValue>>& locations) {
150 return Response::OK();
151 }
152
142 void BrowserHandler::DispatchProtocolMessage( 153 void BrowserHandler::DispatchProtocolMessage(
143 DevToolsAgentHost* agent_host, const std::string& message) { 154 DevToolsAgentHost* agent_host, const std::string& message) {
144 client_->DispatchMessage(DispatchMessageParams::Create()-> 155 client_->DispatchMessage(DispatchMessageParams::Create()->
145 set_target_id(agent_host->GetId())-> 156 set_target_id(agent_host->GetId())->
146 set_message(message)); 157 set_message(message));
147 } 158 }
148 159
149 void BrowserHandler::AgentHostClosed(DevToolsAgentHost* agent_host, 160 void BrowserHandler::AgentHostClosed(DevToolsAgentHost* agent_host,
150 bool replaced_with_another_client) { 161 bool replaced_with_another_client) {
151 auto it = std::find( 162 auto it = std::find(
152 attached_hosts_.begin(), attached_hosts_.end(), agent_host); 163 attached_hosts_.begin(), attached_hosts_.end(), agent_host);
153 if (it != attached_hosts_.end()) 164 if (it != attached_hosts_.end())
154 attached_hosts_.erase(it); 165 attached_hosts_.erase(it);
155 } 166 }
156 167
157 } // namespace browser 168 } // namespace browser
158 } // namespace devtools 169 } // namespace devtools
159 } // namespace content 170 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698