Merge "Revert "[Android WebView] Make web contents debugging controllable"" into klp-dev
diff --git a/android_webview/android_webview.gyp b/android_webview/android_webview.gyp
index d201ac7..2cf8f3c 100644
--- a/android_webview/android_webview.gyp
+++ b/android_webview/android_webview.gyp
@@ -118,6 +118,8 @@
'browser/aw_contents_io_thread_client.h',
'browser/aw_cookie_access_policy.cc',
'browser/aw_cookie_access_policy.h',
+ 'browser/aw_devtools_delegate.cc',
+ 'browser/aw_devtools_delegate.h',
'browser/aw_download_manager_delegate.cc',
'browser/aw_download_manager_delegate.h',
'browser/aw_form_database_service.cc',
diff --git a/android_webview/browser/aw_browser_main_parts.cc b/android_webview/browser/aw_browser_main_parts.cc
index f19def9..b54e65b 100644
--- a/android_webview/browser/aw_browser_main_parts.cc
+++ b/android_webview/browser/aw_browser_main_parts.cc
@@ -5,6 +5,7 @@
#include "android_webview/browser/aw_browser_main_parts.h"
#include "android_webview/browser/aw_browser_context.h"
+#include "android_webview/browser/aw_devtools_delegate.h"
#include "android_webview/browser/aw_result_codes.h"
#include "base/android/build_info.h"
#include "base/files/file_path.h"
@@ -60,6 +61,7 @@
void AwBrowserMainParts::PreMainMessageLoopRun() {
browser_context_->PreMainMessageLoopRun();
+ devtools_delegate_ = new AwDevToolsDelegate(browser_context_);
}
bool AwBrowserMainParts::MainMessageLoopRun(int* result_code) {
@@ -68,4 +70,9 @@
return true;
}
+void AwBrowserMainParts::PostMainMessageLoopRun() {
+ if (devtools_delegate_)
+ devtools_delegate_->Stop();
+}
+
} // namespace android_webview
diff --git a/android_webview/browser/aw_browser_main_parts.h b/android_webview/browser/aw_browser_main_parts.h
index 8beec92..903e19b 100644
--- a/android_webview/browser/aw_browser_main_parts.h
+++ b/android_webview/browser/aw_browser_main_parts.h
@@ -16,6 +16,7 @@
namespace android_webview {
class AwBrowserContext;
+class AwDevToolsDelegate;
class AwBrowserMainParts : public content::BrowserMainParts {
public:
@@ -27,12 +28,14 @@
virtual int PreCreateThreads() OVERRIDE;
virtual void PreMainMessageLoopRun() OVERRIDE;
virtual bool MainMessageLoopRun(int* result_code) OVERRIDE;
+ virtual void PostMainMessageLoopRun() OVERRIDE;
private:
// Android specific UI MessageLoop.
scoped_ptr<base::MessageLoop> main_message_loop_;
AwBrowserContext* browser_context_; // weak
+ AwDevToolsDelegate* devtools_delegate_;
DISALLOW_COPY_AND_ASSIGN(AwBrowserMainParts);
};
diff --git a/android_webview/browser/aw_devtools_delegate.cc b/android_webview/browser/aw_devtools_delegate.cc
new file mode 100644
index 0000000..25f2b7a
--- /dev/null
+++ b/android_webview/browser/aw_devtools_delegate.cc
@@ -0,0 +1,248 @@
+// Copyright 2013 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 "android_webview/browser/aw_devtools_delegate.h"
+
+#include "android_webview/browser/in_process_view_renderer.h"
+#include "base/bind.h"
+#include "base/json/json_writer.h"
+#include "base/strings/stringprintf.h"
+#include "base/values.h"
+#include "content/public/browser/android/devtools_auth.h"
+#include "content/public/browser/devtools_http_handler.h"
+#include "content/public/browser/web_contents.h"
+#include "content/public/common/url_constants.h"
+#include "net/socket/unix_domain_socket_posix.h"
+#include "ui/base/resource/resource_bundle.h"
+#include "webkit/common/user_agent/user_agent_util.h"
+
+namespace {
+const char kFrontEndURL[] =
+ "http://chrome-devtools-frontend.appspot.com/serve_rev/%s/devtools.html";
+const char kSocketNameFormat[] = "webview_devtools_remote_%d";
+}
+
+namespace android_webview {
+
+AwDevToolsDelegate::AwDevToolsDelegate(content::BrowserContext* browser_context)
+ : browser_context_(browser_context) {
+ devtools_http_handler_ = content::DevToolsHttpHandler::Start(
+ new net::UnixDomainSocketWithAbstractNamespaceFactory(
+ base::StringPrintf(kSocketNameFormat, getpid()),
+ "",
+ base::Bind(&content::CanUserConnectToDevTools)),
+ base::StringPrintf(kFrontEndURL,
+ webkit_glue::GetWebKitRevision().c_str()),
+ this);
+}
+
+AwDevToolsDelegate::~AwDevToolsDelegate() {
+}
+
+void AwDevToolsDelegate::Stop() {
+ devtools_http_handler_->Stop();
+ // WARNING: |this| has now been deleted by the method above.
+}
+
+std::string AwDevToolsDelegate::GetDiscoveryPageHTML() {
+ // This is a temporary way of providing the list of inspectable WebViews.
+ // Since WebView doesn't have its own resources now, it doesn't seem
+ // reasonable to create a dedicated .pak file just for this temporary page.
+ const char html[] =
+ "<html>"
+ "<head>"
+ "<title>WebView remote debugging</title>"
+ "<style>"
+ "</style>"
+ "<script>"
+ "function onLoad() {"
+ " var tabs_list_request = new XMLHttpRequest();"
+ " tabs_list_request.open("
+ " 'GET', '/json/list?t=' + new Date().getTime(), true);"
+ " tabs_list_request.onreadystatechange = onReady;"
+ " tabs_list_request.send();"
+ "}"
+ "function processItem(item) {"
+ " var result = JSON.parse(item.description);"
+ " result.debuggable = !!item.devtoolsFrontendUrl;"
+ " result.debugUrl = item.devtoolsFrontendUrl;"
+ " result.title = item.title;"
+ " return result;"
+ "}"
+ "function onReady() {"
+ " if(this.readyState == 4 && this.status == 200) {"
+ " if(this.response != null)"
+ " var responseJSON = JSON.parse(this.response);"
+ " var items = [];"
+ " for (var i = 0; i < responseJSON.length; ++i)"
+ " items.push(processItem(responseJSON[i]));"
+ " clear();"
+ " for (var i = 0; i < items.length; ++i)"
+ " displayView(items[i]);"
+ " filter();"
+ " }"
+ "}"
+ "function addColumn(row, text) {"
+ " var column = document.createElement('td');"
+ " column.innerText = text;"
+ " row.appendChild(column);"
+ "}"
+ "function cutTextIfNeeded(text, maxLen) {"
+ " return text.length <= maxLen ?"
+ " text : text.substr(0, maxLen) + '\u2026';"
+ "}"
+ "function displayView(item) {"
+ " var row = document.createElement('tr');"
+ " var column = document.createElement('td');"
+ " var frontend_ref;"
+ " if (item.debuggable) {"
+ " frontend_ref = document.createElement('a');"
+ " frontend_ref.href = item.debugUrl;"
+ " frontend_ref.title = item.title;"
+ " frontend_ref.target = '_blank';"
+ " column.appendChild(frontend_ref);"
+ " } else {"
+ " frontend_ref = column;"
+ " }"
+ " var text = document.createElement('span');"
+ " if (item.title) {"
+ " text.innerText = cutTextIfNeeded(item.title, 64);"
+ " } else {"
+ " text.innerText = '(untitled)';"
+ " }"
+ " frontend_ref.appendChild(text);"
+ " var bits = 0;"
+ " var attached = item.attached ? (bits |= 1, 'Y') : 'N';"
+ " var visible = item.visible ? (bits |= 2, 'Y') : 'N';"
+ " var empty = item.empty ? 'Y' : (bits |= 4, 'N');"
+ " row.setAttribute('class', bits);"
+ " row.appendChild(column);"
+ " addColumn(row, attached);"
+ " addColumn(row, visible);"
+ " addColumn(row, empty);"
+ " addColumn(row, item.screenX + ', ' + item.screenY);"
+ " addColumn(row,"
+ " !item.empty ? (item.width + '\u00d7' + item.height) : '');"
+ " document.getElementById('items').appendChild(row);"
+ "}"
+ "function filter() {"
+ " var show_attached = document.getElementById('show_attached').checked;"
+ " var show_visible = document.getElementById('show_visible').checked;"
+ " var show_nonempty = document.getElementById('show_nonempty').checked;"
+ " var items = document.getElementById('items').childNodes;"
+ " for (var i = 0; i < items.length; i++) {"
+ " if (items[i].nodeName == 'TR') {"
+ " var mask = parseInt(items[i].getAttribute('class'));"
+ " var show = true;"
+ " if (show_attached) show &= ((mask & 1) != 0);"
+ " if (show_visible) show &= ((mask & 2) != 0);"
+ " if (show_nonempty) show &= ((mask & 4) != 0);"
+ " if (show) {"
+ " items[i].style.display = 'table-row';"
+ " } else {"
+ " items[i].style.display = 'none';"
+ " }"
+ " }"
+ " }"
+ "}"
+ "var refreshInterval = 0;"
+ "function toggleRefresh() {"
+ " clearInterval(refreshInterval);"
+ " var enabled = document.getElementById('refresh').checked;"
+ " if (enabled) {"
+ " var time = document.getElementById('refresh_time').value * 1000;"
+ " refreshInterval = setInterval(onLoad, time);"
+ " }"
+ "}"
+ "function clear() {"
+ " var items = document.getElementById('items');"
+ " for (var i = 0; i < items.childNodes.length; i++) {"
+ " items.removeChild(items.childNodes[i]);"
+ " }"
+ "}"
+ "</script>"
+ "</head>"
+ "<body onload='onLoad()'>"
+ " <div id='caption'>Inspectable WebViews</div>"
+ " <div><p>Only show:</p>"
+ " <form>"
+ " <input type='checkbox' id='show_attached' onclick='filter()'>"
+ " Attached<br/>"
+ " <input type='checkbox' id='show_visible' onclick='filter()'>"
+ " Visible<br/>"
+ " <input type='checkbox' id='show_nonempty' onclick='filter()'>"
+ " Non-empty<br/>"
+ " <input type='checkbox' id='refresh' onclick='toggleRefresh()'>"
+ " Auto refresh every "
+ " <input type='number' id='refresh_time' value='2' min='1' max='99'"
+ " onchange='toggleRefresh();' /> seconds<br/>"
+ " </form>"
+ " </div>"
+ " <table>"
+ " <tr><th style='width:200px; text-align:left;'>Title</th>"
+ " <th>Attached</th><th>Visible</th><th>Empty</th>"
+ " <th style='width:100px; text-align:left;'>Position</th>"
+ " <th style='width:100px; text-align:left;'>Size</th>"
+ " </tr>"
+ " <tbody id='items'></tbody>"
+ " </table>"
+ "</body>"
+ "</html>";
+ return html;
+}
+
+bool AwDevToolsDelegate::BundlesFrontendResources() {
+ return false;
+}
+
+base::FilePath AwDevToolsDelegate::GetDebugFrontendDir() {
+ return base::FilePath();
+}
+
+std::string AwDevToolsDelegate::GetPageThumbnailData(const GURL& url) {
+ return "";
+}
+
+content::RenderViewHost* AwDevToolsDelegate::CreateNewTarget() {
+ return NULL;
+}
+
+content::DevToolsHttpHandlerDelegate::TargetType
+AwDevToolsDelegate::GetTargetType(content::RenderViewHost*) {
+ return kTargetTypeTab;
+}
+
+std::string AwDevToolsDelegate::GetViewDescription(
+ content::RenderViewHost* rvh) {
+ content::WebContents* web_contents =
+ content::WebContents::FromRenderViewHost(rvh);
+ if (!web_contents) return "";
+
+ BrowserViewRenderer* bvr
+ = InProcessViewRenderer::FromWebContents(web_contents);
+ if (!bvr) return "";
+ base::DictionaryValue description;
+ description.SetBoolean("attached", bvr->IsAttachedToWindow());
+ description.SetBoolean("visible", bvr->IsVisible());
+ gfx::Rect screen_rect = bvr->GetScreenRect();
+ description.SetInteger("screenX", screen_rect.x());
+ description.SetInteger("screenY", screen_rect.y());
+ description.SetBoolean("empty", screen_rect.size().IsEmpty());
+ if (!screen_rect.size().IsEmpty()) {
+ description.SetInteger("width", screen_rect.width());
+ description.SetInteger("height", screen_rect.height());
+ }
+ std::string json;
+ base::JSONWriter::Write(&description, &json);
+ return json;
+}
+
+scoped_refptr<net::StreamListenSocket>
+AwDevToolsDelegate::CreateSocketForTethering(
+ net::StreamListenSocket::Delegate* delegate,
+ std::string* name) {
+ return NULL;
+}
+
+} // namespace android_webview
diff --git a/android_webview/browser/aw_devtools_delegate.h b/android_webview/browser/aw_devtools_delegate.h
new file mode 100644
index 0000000..446e4aa
--- /dev/null
+++ b/android_webview/browser/aw_devtools_delegate.h
@@ -0,0 +1,54 @@
+// Copyright 2013 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.
+
+#ifndef ANDROID_WEBVIEW_BROWSER_AW_DEV_TOOLS_DELEGATE_H_
+#define ANDROID_WEBVIEW_BROWSER_AW_DEV_TOOLS_DELEGATE_H_
+
+#include <vector>
+
+#include "base/basictypes.h"
+#include "base/compiler_specific.h"
+#include "content/public/browser/devtools_http_handler_delegate.h"
+
+namespace content {
+class BrowserContext;
+class DevToolsHttpHandler;
+}
+
+namespace android_webview {
+
+class AwDevToolsDelegate : public content::DevToolsHttpHandlerDelegate {
+ public:
+ AwDevToolsDelegate(content::BrowserContext* browser_context);
+ virtual ~AwDevToolsDelegate();
+
+ // Stops http server.
+ void Stop();
+
+ // DevToolsHttpProtocolHandler::Delegate overrides.
+ virtual std::string GetDiscoveryPageHTML() OVERRIDE;
+ virtual bool BundlesFrontendResources() OVERRIDE;
+ virtual base::FilePath GetDebugFrontendDir() OVERRIDE;
+ virtual std::string GetPageThumbnailData(const GURL& url) OVERRIDE;
+ virtual content::RenderViewHost* CreateNewTarget() OVERRIDE;
+ virtual TargetType GetTargetType(content::RenderViewHost*) OVERRIDE;
+ virtual std::string GetViewDescription(content::RenderViewHost*) OVERRIDE;
+ virtual scoped_refptr<net::StreamListenSocket> CreateSocketForTethering(
+ net::StreamListenSocket::Delegate* delegate,
+ std::string* name) OVERRIDE;
+
+ content::DevToolsHttpHandler* devtools_http_handler() {
+ return devtools_http_handler_;
+ }
+
+ private:
+ content::BrowserContext* browser_context_;
+ content::DevToolsHttpHandler* devtools_http_handler_;
+
+ DISALLOW_COPY_AND_ASSIGN(AwDevToolsDelegate);
+};
+
+} // namespace android_webview
+
+#endif // ANDROID_WEBVIEW_BROWSER_AW_DEV_TOOLS_DELEGATE_H_
diff --git a/android_webview/java/src/org/chromium/android_webview/AwDevToolsServer.java b/android_webview/java/src/org/chromium/android_webview/AwDevToolsServer.java
deleted file mode 100644
index 852655a..0000000
--- a/android_webview/java/src/org/chromium/android_webview/AwDevToolsServer.java
+++ /dev/null
@@ -1,33 +0,0 @@
-// Copyright (c) 2013 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.
-
-package org.chromium.android_webview;
-
-import org.chromium.base.JNINamespace;
-
-/**
- * Controller for Remote Web Debugging (Developer Tools).
- */
-@JNINamespace("android_webview")
-public class AwDevToolsServer {
-
- private int mNativeDevToolsServer = 0;
-
- public AwDevToolsServer() {
- mNativeDevToolsServer = nativeInitRemoteDebugging();
- }
-
- public void destroy() {
- nativeDestroyRemoteDebugging(mNativeDevToolsServer);
- mNativeDevToolsServer = 0;
- }
-
- public void setRemoteDebuggingEnabled(boolean enabled) {
- nativeSetRemoteDebuggingEnabled(mNativeDevToolsServer, enabled);
- }
-
- private native int nativeInitRemoteDebugging();
- private native void nativeDestroyRemoteDebugging(int devToolsServer);
- private native void nativeSetRemoteDebuggingEnabled(int devToolsServer, boolean enabled);
-}
diff --git a/android_webview/native/android_webview_jni_registrar.cc b/android_webview/native/android_webview_jni_registrar.cc
index bf29f18..62f25e8 100644
--- a/android_webview/native/android_webview_jni_registrar.cc
+++ b/android_webview/native/android_webview_jni_registrar.cc
@@ -9,7 +9,6 @@
#include "android_webview/native/aw_contents.h"
#include "android_webview/native/aw_contents_client_bridge.h"
#include "android_webview/native/aw_contents_io_thread_client_impl.h"
-#include "android_webview/native/aw_dev_tools_server.h"
// START: Printing fork b/10190508
#include "android_webview/native/aw_pdf_exporter.h"
// END: Printing fork b/10190508
@@ -37,7 +36,6 @@
{ "AwContents", RegisterAwContents },
{ "AwContentsClientBridge", RegisterAwContentsClientBridge },
{ "AwContentsIoThreadClientImpl", RegisterAwContentsIoThreadClientImpl },
- { "AwDevToolsServer", RegisterAwDevToolsServer },
{ "AwFormDatabase", RegisterAwFormDatabase },
{ "AwPicture", RegisterAwPicture },
{ "AwSettings", RegisterAwSettings },
diff --git a/android_webview/native/aw_dev_tools_server.cc b/android_webview/native/aw_dev_tools_server.cc
deleted file mode 100644
index b6c4fba..0000000
--- a/android_webview/native/aw_dev_tools_server.cc
+++ /dev/null
@@ -1,170 +0,0 @@
-// Copyright 2013 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 "android_webview/native/aw_dev_tools_server.h"
-
-#include "android_webview/browser/in_process_view_renderer.h"
-#include "base/bind.h"
-#include "base/json/json_writer.h"
-#include "base/strings/stringprintf.h"
-#include "base/values.h"
-#include "content/public/browser/android/devtools_auth.h"
-#include "content/public/browser/devtools_http_handler.h"
-#include "content/public/browser/devtools_http_handler_delegate.h"
-#include "content/public/browser/web_contents.h"
-#include "jni/AwDevToolsServer_jni.h"
-#include "net/socket/unix_domain_socket_posix.h"
-#include "webkit/common/user_agent/user_agent_util.h"
-
-namespace {
-
-const char kFrontEndURL[] =
- "http://chrome-devtools-frontend.appspot.com/serve_rev/%s/devtools.html";
-const char kSocketNameFormat[] = "webview_devtools_remote_%d";
-
-// 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 content::DevToolsHttpHandlerDelegate {
- public:
- AwDevToolsServerDelegate() {}
- virtual ~AwDevToolsServerDelegate() {}
-
- // DevToolsHttpProtocolHandler::Delegate overrides.
- virtual std::string GetDiscoveryPageHTML() OVERRIDE;
-
- virtual bool BundlesFrontendResources() OVERRIDE {
- return false;
- }
-
- virtual base::FilePath GetDebugFrontendDir() OVERRIDE {
- return base::FilePath();
- }
-
- virtual std::string GetPageThumbnailData(const GURL&) OVERRIDE {
- return "";
- }
-
- virtual content::RenderViewHost* CreateNewTarget() OVERRIDE {
- return NULL;
- }
-
- virtual TargetType GetTargetType(content::RenderViewHost*) OVERRIDE {
- return kTargetTypeTab;
- }
-
- virtual std::string GetViewDescription(content::RenderViewHost*) OVERRIDE;
-
- virtual scoped_refptr<net::StreamListenSocket> CreateSocketForTethering(
- net::StreamListenSocket::Delegate* delegate,
- std::string* name) OVERRIDE {
- return NULL;
- }
-
- 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::GetViewDescription(
- content::RenderViewHost* rvh) {
- content::WebContents* web_contents =
- content::WebContents::FromRenderViewHost(rvh);
- if (!web_contents) return "";
-
- android_webview::BrowserViewRenderer* bvr
- = android_webview::InProcessViewRenderer::FromWebContents(web_contents);
- if (!bvr) return "";
- base::DictionaryValue description;
- description.SetBoolean("attached", bvr->IsAttachedToWindow());
- description.SetBoolean("visible", bvr->IsVisible());
- gfx::Rect screen_rect = bvr->GetScreenRect();
- description.SetInteger("screenX", screen_rect.x());
- description.SetInteger("screenY", screen_rect.y());
- description.SetBoolean("empty", screen_rect.size().IsEmpty());
- if (!screen_rect.size().IsEmpty()) {
- description.SetInteger("width", screen_rect.width());
- description.SetInteger("height", screen_rect.height());
- }
- std::string json;
- base::JSONWriter::Write(&description, &json);
- return json;
-}
-
-} // namespace
-
-namespace android_webview {
-
-AwDevToolsServer::AwDevToolsServer()
- : protocol_handler_(NULL) {
-}
-
-AwDevToolsServer::~AwDevToolsServer() {
- Stop();
-}
-
-void AwDevToolsServer::Start() {
- if (protocol_handler_)
- return;
-
- protocol_handler_ = content::DevToolsHttpHandler::Start(
- new net::UnixDomainSocketWithAbstractNamespaceFactory(
- base::StringPrintf(kSocketNameFormat, getpid()),
- "",
- base::Bind(&content::CanUserConnectToDevTools)),
- base::StringPrintf(kFrontEndURL,
- webkit_glue::GetWebKitRevision().c_str()),
- new AwDevToolsServerDelegate());
-}
-
-void AwDevToolsServer::Stop() {
- if (!protocol_handler_)
- return;
- // Note that the call to Stop() below takes care of |protocol_handler_|
- // deletion.
- protocol_handler_->Stop();
- protocol_handler_ = NULL;
-}
-
-bool AwDevToolsServer::IsStarted() const {
- return protocol_handler_;
-}
-
-bool RegisterAwDevToolsServer(JNIEnv* env) {
- return RegisterNativesImpl(env);
-}
-
-static jint InitRemoteDebugging(JNIEnv* env,
- jobject obj) {
- AwDevToolsServer* server = new AwDevToolsServer();
- return reinterpret_cast<jint>(server);
-}
-
-static void DestroyRemoteDebugging(JNIEnv* env, jobject obj, jint server) {
- delete reinterpret_cast<AwDevToolsServer*>(server);
-}
-
-static void SetRemoteDebuggingEnabled(JNIEnv* env,
- jobject obj,
- jint server,
- jboolean enabled) {
- AwDevToolsServer* devtools_server =
- reinterpret_cast<AwDevToolsServer*>(server);
- if (enabled) {
- devtools_server->Start();
- } else {
- devtools_server->Stop();
- }
-}
-
-} // namespace android_webview
diff --git a/android_webview/native/aw_dev_tools_server.h b/android_webview/native/aw_dev_tools_server.h
deleted file mode 100644
index 1a46ad8..0000000
--- a/android_webview/native/aw_dev_tools_server.h
+++ /dev/null
@@ -1,43 +0,0 @@
-// Copyright 2013 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.
-
-#ifndef ANDROID_WEBVIEW_NATIVE_AW_DEV_TOOLS_SERVER_H_
-#define ANDROID_WEBVIEW_NATIVE_AW_DEV_TOOLS_SERVER_H_
-
-#include <jni.h>
-#include <vector>
-
-#include "base/basictypes.h"
-
-namespace content {
-class DevToolsHttpHandler;
-}
-
-namespace android_webview {
-
-// This class controls WebView-specific Developer Tools remote debugging server.
-class AwDevToolsServer {
- public:
- AwDevToolsServer();
- ~AwDevToolsServer();
-
- // Opens linux abstract socket to be ready for remote debugging.
- void Start();
-
- // Closes debugging socket, stops debugging.
- void Stop();
-
- bool IsStarted() const;
-
- private:
- content::DevToolsHttpHandler* protocol_handler_;
-
- DISALLOW_COPY_AND_ASSIGN(AwDevToolsServer);
-};
-
-bool RegisterAwDevToolsServer(JNIEnv* env);
-
-} // namespace android_webview
-
-#endif // ANDROID_WEBVIEW_NATIVE_AW_DEV_TOOLS_SERVER_H_
diff --git a/android_webview/native/webview_native.gyp b/android_webview/native/webview_native.gyp
index 04144ef..b89c3de 100644
--- a/android_webview/native/webview_native.gyp
+++ b/android_webview/native/webview_native.gyp
@@ -44,8 +44,6 @@
'aw_contents_client_bridge.h',
'aw_contents_io_thread_client_impl.cc',
'aw_contents_io_thread_client_impl.h',
- 'aw_dev_tools_server.cc',
- 'aw_dev_tools_server.h',
'aw_form_database.cc',
'aw_form_database.h',
'aw_geolocation_permission_context.cc',
@@ -111,7 +109,6 @@
'../java/src/org/chromium/android_webview/AwContentsClientBridge.java',
'../java/src/org/chromium/android_webview/AwContentsIoThreadClient.java',
'../java/src/org/chromium/android_webview/AwCookieManager.java',
- '../java/src/org/chromium/android_webview/AwDevToolsServer.java',
'../java/src/org/chromium/android_webview/AwFormDatabase.java',
'../java/src/org/chromium/android_webview/AwHttpAuthHandler.java',
'../java/src/org/chromium/android_webview/AwPicture.java',