Index: content/browser/devtools/protocol/browser_handler.cc |
diff --git a/content/browser/devtools/protocol/browser_handler.cc b/content/browser/devtools/protocol/browser_handler.cc |
deleted file mode 100644 |
index 92700cb6319250d603cc21b6ef0ffa7650ad2cfa..0000000000000000000000000000000000000000 |
--- a/content/browser/devtools/protocol/browser_handler.cc |
+++ /dev/null |
@@ -1,165 +0,0 @@ |
-// Copyright 2016 The Chromium Authors. All rights reserved. |
-// Use of this source code is governed by a BSD-style license that can be |
-// found in the LICENSE file. |
- |
-#include "content/browser/devtools/protocol/browser_handler.h" |
- |
-#include <algorithm> |
- |
-#include "base/bind.h" |
-#include "content/browser/devtools/devtools_manager.h" |
-#include "content/public/browser/devtools_manager_delegate.h" |
- |
-namespace content { |
-namespace devtools { |
-namespace browser { |
- |
-using Response = DevToolsProtocolClient::Response; |
- |
-BrowserHandler::BrowserHandler() |
- : weak_factory_(this) { |
-} |
- |
-BrowserHandler::~BrowserHandler() { |
-} |
- |
-void BrowserHandler::SetClient(std::unique_ptr<Client> client) { |
- client_.swap(client); |
-} |
- |
-void BrowserHandler::Detached() { |
- for (const auto& host : attached_hosts_) |
- host->DetachClient(this); |
- attached_hosts_.clear(); |
-} |
- |
-Response BrowserHandler::CreateBrowserContext(std::string* out_context_id) { |
- // For layering reasons this needs to be handled by |
- // DevToolsManagerDelegate::HandleCommand. |
- return Response::ServerError("Not supported"); |
-} |
- |
-Response BrowserHandler::DisposeBrowserContext(const std::string& context_id, |
- bool* out_success) { |
- // For layering reasons this needs to be handled by |
- // DevToolsManagerDelegate::HandleCommand. |
- return Response::ServerError("Not supported"); |
-} |
- |
-Response BrowserHandler::CreateTarget(const std::string& url, |
- const int* width, |
- const int* height, |
- const std::string* context_id, |
- std::string* out_target_id) { |
- DevToolsManagerDelegate* delegate = |
- DevToolsManager::GetInstance()->delegate(); |
- if (!delegate) |
- return Response::ServerError("Not supported"); |
- scoped_refptr<content::DevToolsAgentHost> agent_host = |
- delegate->CreateNewTarget(GURL(url)); |
- if (!agent_host) |
- return Response::ServerError("Not supported"); |
- *out_target_id = agent_host->GetId(); |
- return Response::OK(); |
-} |
- |
-Response BrowserHandler::CloseTarget(const std::string& target_id, |
- bool* out_success) { |
- scoped_refptr<DevToolsAgentHost> agent_host = |
- DevToolsAgentHost::GetForId(target_id); |
- if (!agent_host) |
- return Response::ServerError("No target with given id found"); |
- *out_success = agent_host->Close(); |
- return Response::OK(); |
-} |
- |
-Response BrowserHandler::GetTargets(DevToolsCommandId command_id) { |
- DevToolsAgentHost::DiscoverAllHosts( |
- base::Bind(&BrowserHandler::RespondToGetTargets, |
- weak_factory_.GetWeakPtr(), |
- command_id)); |
- return Response::OK(); |
-} |
- |
-void BrowserHandler::RespondToGetTargets( |
- DevToolsCommandId command_id, |
- DevToolsAgentHost::List agents) { |
- std::vector<scoped_refptr<devtools::browser::TargetInfo>> infos; |
- for (const auto& agent_host : agents) { |
- scoped_refptr<devtools::browser::TargetInfo> info = |
- devtools::browser::TargetInfo::Create()-> |
- set_target_id(agent_host->GetId())-> |
- set_type(agent_host->GetType())-> |
- set_title(agent_host->GetTitle())-> |
- set_url(agent_host->GetURL().spec()); |
- infos.push_back(info); |
- } |
- client_->SendGetTargetsResponse( |
- command_id, |
- GetTargetsResponse::Create()->set_target_info(std::move(infos))); |
-} |
- |
-Response BrowserHandler::Attach(DevToolsCommandId command_id, |
- const std::string& target_id) { |
- // Discover in order to get ahold of the items. |
- DevToolsAgentHost::DiscoverAllHosts( |
- base::Bind(&BrowserHandler::RespondToAttach, |
- weak_factory_.GetWeakPtr(), command_id, target_id)); |
- return Response::OK(); |
-} |
- |
-void BrowserHandler::RespondToAttach(DevToolsCommandId command_id, |
- const std::string& target_id, |
- DevToolsAgentHost::List agents) { |
- // We were discovering to get ahold of the items, discard them. |
- scoped_refptr<DevToolsAgentHost> agent_host = |
- DevToolsAgentHost::GetForId(target_id); |
- bool success = false; |
- if (agent_host) |
- success = agent_host->AttachClient(this); |
- attached_hosts_.push_back(agent_host); |
- client_->SendAttachResponse( |
- command_id, |
- AttachResponse::Create()->set_success(success)); |
-} |
- |
-Response BrowserHandler::Detach(const std::string& target_id, |
- bool* out_success) { |
- scoped_refptr<DevToolsAgentHost> agent_host = |
- DevToolsAgentHost::GetForId(target_id); |
- auto it = std::find( |
- attached_hosts_.begin(), attached_hosts_.end(), agent_host); |
- if (it != attached_hosts_.end()) |
- attached_hosts_.erase(it); |
- *out_success = agent_host && agent_host->DetachClient(this); |
- return Response::OK(); |
-} |
- |
-Response BrowserHandler::SendMessage(const std::string& target_id, |
- const std::string& message) { |
- scoped_refptr<DevToolsAgentHost> agent_host = |
- DevToolsAgentHost::GetForId(target_id); |
- if (!agent_host) |
- return Response::ServerError("No target with given id found"); |
- agent_host->DispatchProtocolMessage(this, message); |
- return Response::OK(); |
-} |
- |
-void BrowserHandler::DispatchProtocolMessage( |
- DevToolsAgentHost* agent_host, const std::string& message) { |
- client_->DispatchMessage(DispatchMessageParams::Create()-> |
- set_target_id(agent_host->GetId())-> |
- set_message(message)); |
-} |
- |
-void BrowserHandler::AgentHostClosed(DevToolsAgentHost* agent_host, |
- bool replaced_with_another_client) { |
- auto it = std::find( |
- attached_hosts_.begin(), attached_hosts_.end(), agent_host); |
- if (it != attached_hosts_.end()) |
- attached_hosts_.erase(it); |
-} |
- |
-} // namespace browser |
-} // namespace devtools |
-} // namespace content |