Index: android_webview/native/aw_devtools_server.cc |
diff --git a/android_webview/native/aw_dev_tools_server.cc b/android_webview/native/aw_devtools_server.cc |
similarity index 70% |
rename from android_webview/native/aw_dev_tools_server.cc |
rename to android_webview/native/aw_devtools_server.cc |
index f00b2df9f801334dcfe110c805351962e604b368..9ced44b6430ac132c6cdea1f0550b2a2fdc4c18a 100644 |
--- a/android_webview/native/aw_dev_tools_server.cc |
+++ b/android_webview/native/aw_devtools_server.cc |
@@ -2,20 +2,20 @@ |
// Use of this source code is governed by a BSD-style license that can be |
// found in the LICENSE file. |
-#include "android_webview/native/aw_dev_tools_server.h" |
+#include "android_webview/native/aw_devtools_server.h" |
#include <utility> |
+#include "android_webview/browser/browser_view_renderer.h" |
#include "android_webview/common/aw_content_client.h" |
#include "android_webview/native/aw_contents.h" |
#include "base/bind.h" |
#include "base/files/file_path.h" |
#include "base/json/json_writer.h" |
+#include "base/memory/ptr_util.h" |
#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_socket_factory.h" |
@@ -27,9 +27,6 @@ |
using base::android::JavaParamRef; |
using content::DevToolsAgentHost; |
-using content::RenderViewHost; |
-using content::WebContents; |
-using devtools_http_handler::DevToolsHttpHandler; |
namespace { |
@@ -40,41 +37,6 @@ const char kTetheringSocketName[] = "webview_devtools_tethering_%d_%d"; |
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 { |
- public: |
- AwDevToolsServerDelegate() { |
- } |
- |
- ~AwDevToolsServerDelegate() override {} |
- |
- // devtools_http_handler::DevToolsHttpHandlerDelegate implementation. |
- std::string GetDiscoveryPageHTML() override; |
- std::string GetFrontendResource(const std::string& path) override; |
- |
- private: |
- |
- DISALLOW_COPY_AND_ASSIGN(AwDevToolsServerDelegate); |
-}; |
- |
- |
-std::string AwDevToolsServerDelegate::GetDiscoveryPageHTML() { |
- const char html[] = |
- "<html>" |
- "<head><title>WebView remote debugging</title></head>" |
- "<body>Please use <a href=\'chrome://inspect\'>chrome://inspect</a>" |
- "</body>" |
- "</html>"; |
- return html; |
-} |
- |
-std::string AwDevToolsServerDelegate::GetFrontendResource( |
- const std::string& path) { |
- return std::string(); |
-} |
- |
// Factory for UnixDomainServerSocket. |
class UnixDomainServerSocketFactory : public content::DevToolsSocketFactory { |
public: |
@@ -84,7 +46,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 +82,7 @@ class UnixDomainServerSocketFactory : public content::DevToolsSocketFactory { |
namespace android_webview { |
-AwDevToolsServer::AwDevToolsServer() { |
+AwDevToolsServer::AwDevToolsServer() : is_started_(false) { |
} |
AwDevToolsServer::~AwDevToolsServer() { |
@@ -128,25 +90,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) { |