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

Unified Diff: content/browser/devtools/protocol/target_handler.cc

Issue 2581103002: Reland of [DevTools] Migrate target domain to new generator. (Closed)
Patch Set: Created 4 years 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « content/browser/devtools/protocol/target_handler.h ('k') | content/browser/devtools/protocol_config.json » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: content/browser/devtools/protocol/target_handler.cc
diff --git a/content/browser/devtools/protocol/target_handler.cc b/content/browser/devtools/protocol/target_handler.cc
index 254a4ac1f18d2bf98d56f8994177e9dab1d841a7..78778f4bd06e36da6eb449c3842d9b133b13fd1e 100644
--- a/content/browser/devtools/protocol/target_handler.cc
+++ b/content/browser/devtools/protocol/target_handler.cc
@@ -11,10 +11,7 @@
#include "content/browser/frame_host/render_frame_host_impl.h"
namespace content {
-namespace devtools {
-namespace target {
-
-using Response = DevToolsProtocolClient::Response;
+namespace protocol {
namespace {
@@ -84,12 +81,13 @@
return result;
}
-scoped_refptr<TargetInfo> CreateInfo(DevToolsAgentHost* host) {
- return TargetInfo::Create()
- ->set_target_id(host->GetId())
- ->set_title(host->GetTitle())
- ->set_url(host->GetURL().spec())
- ->set_type(host->GetType());
+std::unique_ptr<Target::TargetInfo> CreateInfo(DevToolsAgentHost* host) {
+ return Target::TargetInfo::Create()
+ .SetTargetId(host->GetId())
+ .SetTitle(host->GetTitle())
+ .SetUrl(host->GetURL().spec())
+ .SetType(host->GetType())
+ .Build();
}
} // namespace
@@ -103,7 +101,11 @@
}
TargetHandler::~TargetHandler() {
- Detached();
+}
+
+void TargetHandler::Wire(UberDispatcher* dispatcher) {
+ frontend_.reset(new Target::Frontend(dispatcher->channel()));
+ Target::Dispatcher::wire(dispatcher, this);
}
void TargetHandler::SetRenderFrameHost(RenderFrameHostImpl* render_frame_host) {
@@ -111,16 +113,13 @@
UpdateFrames();
}
-void TargetHandler::SetClient(std::unique_ptr<Client> client) {
- client_.swap(client);
-}
-
-void TargetHandler::Detached() {
+Response TargetHandler::Disable() {
SetAutoAttach(false, false);
SetDiscoverTargets(false);
for (const auto& id_host : attached_hosts_)
id_host.second->DetachClient(this);
attached_hosts_.clear();
+ return Response::OK();
}
void TargetHandler::UpdateServiceWorkers() {
@@ -198,8 +197,7 @@
void TargetHandler::TargetCreatedInternal(DevToolsAgentHost* host) {
if (reported_hosts_.find(host->GetId()) != reported_hosts_.end())
return;
- client_->TargetCreated(
- TargetCreatedParams::Create()->set_target_info(CreateInfo(host)));
+ frontend_->TargetCreated(CreateInfo(host));
reported_hosts_[host->GetId()] = host;
}
@@ -208,8 +206,7 @@
auto it = reported_hosts_.find(host->GetId());
if (it == reported_hosts_.end())
return;
- client_->TargetDestroyed(TargetDestroyedParams::Create()
- ->set_target_id(host->GetId()));
+ frontend_->TargetDestroyed(host->GetId());
reported_hosts_.erase(it);
}
@@ -218,9 +215,7 @@
if (!host->AttachClient(this))
return false;
attached_hosts_[host->GetId()] = host;
- client_->AttachedToTarget(AttachedToTargetParams::Create()
- ->set_target_info(CreateInfo(host))
- ->set_waiting_for_debugger(waiting_for_debugger));
+ frontend_->AttachedToTarget(CreateInfo(host), waiting_for_debugger);
return true;
}
@@ -229,8 +224,7 @@
if (it == attached_hosts_.end())
return;
host->DetachClient(this);
- client_->DetachedFromTarget(DetachedFromTargetParams::Create()->
- set_target_id(host->GetId()));
+ frontend_->DetachedFromTarget(host->GetId());
attached_hosts_.erase(it);
}
@@ -284,8 +278,8 @@
}
Response TargetHandler::SetRemoteLocations(
- const std::vector<std::unique_ptr<base::DictionaryValue>>& locations) {
- return Response::ServerError("Not supported");
+ std::unique_ptr<protocol::Array<Target::RemoteLocation>>) {
+ return Response::Error("Not supported");
}
Response TargetHandler::AttachToTarget(const std::string& target_id,
@@ -294,7 +288,7 @@
scoped_refptr<DevToolsAgentHost> agent_host =
DevToolsAgentHost::GetForId(target_id);
if (!agent_host)
- return Response::ServerError("No target with given id found");
+ return Response::InvalidParams("No target with given id found");
*out_success = AttachToTargetInternal(agent_host.get(), false);
return Response::OK();
}
@@ -302,7 +296,7 @@
Response TargetHandler::DetachFromTarget(const std::string& target_id) {
auto it = attached_hosts_.find(target_id);
if (it == attached_hosts_.end())
- return Response::InternalError("Not attached to the target");
+ return Response::Error("Not attached to the target");
DevToolsAgentHost* agent_host = it->second.get();
DetachFromTargetInternal(agent_host);
return Response::OK();
@@ -320,7 +314,7 @@
Response TargetHandler::GetTargetInfo(
const std::string& target_id,
- scoped_refptr<TargetInfo>* target_info) {
+ std::unique_ptr<Target::TargetInfo>* target_info) {
// TODO(dgozman): only allow reported hosts.
scoped_refptr<DevToolsAgentHost> agent_host(
DevToolsAgentHost::GetForId(target_id));
@@ -345,41 +339,42 @@
scoped_refptr<DevToolsAgentHost> agent_host =
DevToolsAgentHost::GetForId(target_id);
if (!agent_host)
- return Response::ServerError("No target with given id found");
+ return Response::InvalidParams("No target with given id found");
*out_success = agent_host->Close();
return Response::OK();
}
Response TargetHandler::CreateBrowserContext(std::string* out_context_id) {
- return Response::ServerError("Not supported");
+ return Response::Error("Not supported");
}
Response TargetHandler::DisposeBrowserContext(const std::string& context_id,
bool* out_success) {
- return Response::ServerError("Not supported");
+ return Response::Error("Not supported");
}
Response TargetHandler::CreateTarget(const std::string& url,
- const int* width,
- const int* height,
- const std::string* context_id,
+ Maybe<int> width,
+ Maybe<int> height,
+ Maybe<std::string> context_id,
std::string* out_target_id) {
DevToolsManagerDelegate* delegate =
DevToolsManager::GetInstance()->delegate();
if (!delegate)
- return Response::ServerError("Not supported");
+ return Response::Error("Not supported");
scoped_refptr<content::DevToolsAgentHost> agent_host =
delegate->CreateNewTarget(GURL(url));
if (!agent_host)
- return Response::ServerError("Not supported");
+ return Response::Error("Not supported");
*out_target_id = agent_host->GetId();
return Response::OK();
}
Response TargetHandler::GetTargets(
- std::vector<scoped_refptr<TargetInfo>>* target_infos) {
+ std::unique_ptr<protocol::Array<Target::TargetInfo>>* target_infos) {
+ *target_infos = protocol::Array<Target::TargetInfo>::create();
for (const auto& host : DevToolsAgentHost::GetOrCreateAll())
- target_infos->push_back(CreateInfo(host.get()));
+ (*target_infos)->addItem(CreateInfo(host.get()));
return Response::OK();
}
@@ -392,17 +387,13 @@
if (it == attached_hosts_.end())
return; // Already disconnected.
- client_->ReceivedMessageFromTarget(
- ReceivedMessageFromTargetParams::Create()->
- set_target_id(host->GetId())->
- set_message(message));
+ frontend_->ReceivedMessageFromTarget(host->GetId(), message);
}
void TargetHandler::AgentHostClosed(
DevToolsAgentHost* host,
bool replaced_with_another_client) {
- client_->DetachedFromTarget(DetachedFromTargetParams::Create()->
- set_target_id(host->GetId()));
+ frontend_->DetachedFromTarget(host->GetId());
attached_hosts_.erase(host->GetId());
}
@@ -462,6 +453,5 @@
UpdateServiceWorkers();
}
-} // namespace target
-} // namespace devtools
+} // namespace protocol
} // namespace content
« no previous file with comments | « content/browser/devtools/protocol/target_handler.h ('k') | content/browser/devtools/protocol_config.json » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698