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

Unified Diff: android_webview/native/aw_devtools_server.cc

Issue 2300703005: DevTools: merge devtools_http_handler into content - it is used in all the embedders anyways. (Closed)
Patch Set: for_landing! 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
« no previous file with comments | « android_webview/native/aw_devtools_server.h ('k') | android_webview/native/webview_native.gyp » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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) {
« no previous file with comments | « android_webview/native/aw_devtools_server.h ('k') | android_webview/native/webview_native.gyp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698