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

Unified Diff: android_webview/native/aw_dev_tools_server.cc

Issue 2300703005: DevTools: merge devtools_http_handler into content - it is used in all the embedders anyways. (Closed)
Patch Set: for review Created 4 years, 3 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 side-by-side diff with in-line comments
Download patch
Index: android_webview/native/aw_dev_tools_server.cc
diff --git a/android_webview/native/aw_dev_tools_server.cc b/android_webview/native/aw_dev_tools_server.cc
index f00b2df9f801334dcfe110c805351962e604b368..b6b0c4e98e73e6319dae4a51eecfb42a3d59ddab 100644
--- a/android_webview/native/aw_dev_tools_server.cc
+++ b/android_webview/native/aw_dev_tools_server.cc
@@ -14,10 +14,9 @@
#include "base/strings/stringprintf.h"
#include "base/strings/utf_string_conversions.h"
#include "base/values.h"
-#include "components/devtools_http_handler/devtools_http_handler.h"
-#include "components/devtools_http_handler/devtools_http_handler_delegate.h"
#include "content/public/browser/android/devtools_auth.h"
#include "content/public/browser/devtools_agent_host.h"
+#include "content/public/browser/devtools_manager_delegate.h"
#include "content/public/browser/devtools_socket_factory.h"
#include "content/public/browser/web_contents.h"
#include "content/public/common/user_agent.h"
@@ -27,9 +26,9 @@
using base::android::JavaParamRef;
using content::DevToolsAgentHost;
+using content::RenderFrameHost;
using content::RenderViewHost;
using content::WebContents;
-using devtools_http_handler::DevToolsHttpHandler;
namespace {
@@ -42,23 +41,55 @@ const int kBackLog = 10;
// Delegate implementation for the devtools http handler for WebView. A new
// instance of this gets created each time web debugging is enabled.
-class AwDevToolsServerDelegate :
- public devtools_http_handler::DevToolsHttpHandlerDelegate {
+class AwDevToolsServerDelegate : public content::DevToolsManagerDelegate {
public:
AwDevToolsServerDelegate() {
}
~AwDevToolsServerDelegate() override {}
- // devtools_http_handler::DevToolsHttpHandlerDelegate implementation.
+ // content::DevToolsManagerDelegate implementation.
+ void Inspect(DevToolsAgentHost* agent_host) override;
+ void DevToolsAgentStateChanged(DevToolsAgentHost* agent_host,
+ bool attached) override;
+ std::string GetTargetType(RenderFrameHost* host) override;
dgozman 2016/09/02 19:33:07 Let's turn SetDescription into GetTargetDescriptio
+ std::string GetTargetTitle(RenderFrameHost* host) override;
+ scoped_refptr<DevToolsAgentHost> CreateNewTarget(const GURL& url) override;
+ base::DictionaryValue* HandleCommand(
+ DevToolsAgentHost* agent_host,
+ base::DictionaryValue* command) override;
std::string GetDiscoveryPageHTML() override;
std::string GetFrontendResource(const std::string& path) override;
private:
-
DISALLOW_COPY_AND_ASSIGN(AwDevToolsServerDelegate);
};
+void AwDevToolsServerDelegate::Inspect(DevToolsAgentHost* agent_host) {
+}
+
+void AwDevToolsServerDelegate::DevToolsAgentStateChanged(
+ DevToolsAgentHost* agent_host, bool attached) {
+}
+
+std::string AwDevToolsServerDelegate::GetTargetType(RenderFrameHost* host) {
+ return "webview";
+}
+
+std::string AwDevToolsServerDelegate::GetTargetTitle(RenderFrameHost* host) {
+ return std::string();
+}
+
+scoped_refptr<DevToolsAgentHost> AwDevToolsServerDelegate::CreateNewTarget(
+ const GURL& url) {
+ return nullptr;
+}
+
+base::DictionaryValue* AwDevToolsServerDelegate::HandleCommand(
+ DevToolsAgentHost* agent_host,
+ base::DictionaryValue* command) {
+ return nullptr;
+}
std::string AwDevToolsServerDelegate::GetDiscoveryPageHTML() {
const char html[] =
@@ -84,7 +115,7 @@ class UnixDomainServerSocketFactory : public content::DevToolsSocketFactory {
}
private:
- // devtools_http_handler::DevToolsHttpHandler::ServerSocketFactory.
+ // content::DevToolsAgentHost::ServerSocketFactory.
std::unique_ptr<net::ServerSocket> CreateForHttpServer() override {
std::unique_ptr<net::UnixDomainServerSocket> socket(
new net::UnixDomainServerSocket(
@@ -120,7 +151,7 @@ class UnixDomainServerSocketFactory : public content::DevToolsSocketFactory {
namespace android_webview {
-AwDevToolsServer::AwDevToolsServer() {
+AwDevToolsServer::AwDevToolsServer() : is_started_(false) {
}
AwDevToolsServer::~AwDevToolsServer() {
@@ -128,25 +159,27 @@ AwDevToolsServer::~AwDevToolsServer() {
}
void AwDevToolsServer::Start() {
- if (devtools_http_handler_)
+ if (is_started_)
return;
+ is_started_ = true;
std::unique_ptr<content::DevToolsSocketFactory> factory(
new UnixDomainServerSocketFactory(
base::StringPrintf(kSocketNameFormat, getpid())));
- devtools_http_handler_.reset(new DevToolsHttpHandler(
+ DevToolsAgentHost::StartRemoteDebuggingServer(
std::move(factory),
base::StringPrintf(kFrontEndURL, content::GetWebKitRevision().c_str()),
- new AwDevToolsServerDelegate(), base::FilePath(), base::FilePath(),
- GetProduct(), GetUserAgent()));
+ base::FilePath(), base::FilePath(),
+ GetProduct(), GetUserAgent());
}
void AwDevToolsServer::Stop() {
- devtools_http_handler_.reset();
+ DevToolsAgentHost::StopRemoteDebuggingServer();
+ is_started_ = false;
}
bool AwDevToolsServer::IsStarted() const {
- return !!devtools_http_handler_;
+ return is_started_;
}
bool RegisterAwDevToolsServer(JNIEnv* env) {

Powered by Google App Engine
This is Rietveld 408576698