summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--android_webview/android_webview.gyp2
-rw-r--r--android_webview/browser/aw_content_browser_client.cc6
-rw-r--r--android_webview/browser/aw_content_browser_client.h1
-rw-r--r--android_webview/browser/aw_dev_tools_manager_delegate.cc42
-rw-r--r--android_webview/browser/aw_dev_tools_manager_delegate.h38
-rw-r--r--android_webview/native/aw_dev_tools_server.cc10
-rw-r--r--android_webview/native/aw_dev_tools_server.h4
-rw-r--r--chrome/browser/android/dev_tools_discovery_provider_android.cc1
-rw-r--r--chrome/browser/android/dev_tools_manager_delegate_android.cc69
-rw-r--r--chrome/browser/android/dev_tools_manager_delegate_android.h39
-rw-r--r--chrome/browser/android/dev_tools_server.cc18
-rw-r--r--chrome/browser/android/dev_tools_server.h4
-rw-r--r--chrome/browser/chrome_content_browser_client.cc11
-rw-r--r--chrome/browser/devtools/BUILD.gn4
-rw-r--r--chrome/browser/devtools/chrome_devtools_manager_delegate.cc45
-rw-r--r--chrome/browser/devtools/chrome_devtools_manager_delegate.h3
-rw-r--r--chrome/browser/devtools/remote_debugging_server.cc20
-rw-r--r--chrome/browser/devtools/remote_debugging_server.h4
-rw-r--r--chrome/chrome_browser.gypi2
-rw-r--r--chrome/chrome_debugger.gypi4
-rw-r--r--chromecast/browser/cast_content_browser_client.cc6
-rw-r--r--chromecast/browser/cast_content_browser_client.h1
-rw-r--r--chromecast/browser/devtools/cast_dev_tools_delegate.cc43
-rw-r--r--chromecast/browser/devtools/cast_dev_tools_delegate.h33
-rw-r--r--chromecast/browser/devtools/remote_debugging_server.cc2
-rw-r--r--chromecast/browser/devtools/remote_debugging_server.h2
-rw-r--r--components/devtools_discovery/devtools_discovery_manager.h3
-rw-r--r--components/devtools_discovery/devtools_target_descriptor.h43
-rw-r--r--components/devtools_http_handler.gypi1
-rw-r--r--components/devtools_http_handler/BUILD.gn1
-rw-r--r--components/devtools_http_handler/DEPS1
-rw-r--r--components/devtools_http_handler/devtools_http_handler.cc136
-rw-r--r--components/devtools_http_handler/devtools_http_handler.h29
-rw-r--r--components/devtools_http_handler/devtools_http_handler_delegate.h6
-rw-r--r--components/devtools_http_handler/devtools_http_handler_unittest.cc35
-rw-r--r--content/browser/devtools/devtools_manager_unittest.cc86
-rw-r--r--content/content_browser.gypi1
-rw-r--r--content/public/browser/devtools_manager_delegate.h22
-rw-r--r--content/public/browser/devtools_target.h67
-rw-r--r--content/shell/browser/shell_devtools_manager_delegate.cc28
-rw-r--r--content/shell/browser/shell_devtools_manager_delegate.h3
41 files changed, 163 insertions, 713 deletions
diff --git a/android_webview/android_webview.gyp b/android_webview/android_webview.gyp
index d84660a..83f165f 100644
--- a/android_webview/android_webview.gyp
+++ b/android_webview/android_webview.gyp
@@ -210,8 +210,6 @@
'browser/aw_cookie_access_policy.h',
'browser/aw_dev_tools_discovery_provider.cc',
'browser/aw_dev_tools_discovery_provider.h',
- 'browser/aw_dev_tools_manager_delegate.cc',
- 'browser/aw_dev_tools_manager_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_content_browser_client.cc b/android_webview/browser/aw_content_browser_client.cc
index 832aa42..2cff426 100644
--- a/android_webview/browser/aw_content_browser_client.cc
+++ b/android_webview/browser/aw_content_browser_client.cc
@@ -9,7 +9,6 @@
#include "android_webview/browser/aw_contents_client_bridge_base.h"
#include "android_webview/browser/aw_contents_io_thread_client.h"
#include "android_webview/browser/aw_cookie_access_policy.h"
-#include "android_webview/browser/aw_dev_tools_manager_delegate.h"
#include "android_webview/browser/aw_printing_message_filter.h"
#include "android_webview/browser/aw_quota_permission_context.h"
#include "android_webview/browser/aw_web_preferences_populater.h"
@@ -473,9 +472,4 @@ AwContentBrowserClient::OverrideCreateExternalVideoSurfaceContainer(
}
#endif
-content::DevToolsManagerDelegate*
-AwContentBrowserClient::GetDevToolsManagerDelegate() {
- return new AwDevToolsManagerDelegate();
-}
-
} // namespace android_webview
diff --git a/android_webview/browser/aw_content_browser_client.h b/android_webview/browser/aw_content_browser_client.h
index 5d9897e..6d8852d 100644
--- a/android_webview/browser/aw_content_browser_client.h
+++ b/android_webview/browser/aw_content_browser_client.h
@@ -140,7 +140,6 @@ class AwContentBrowserClient : public content::ContentBrowserClient {
OverrideCreateExternalVideoSurfaceContainer(
content::WebContents* web_contents) override;
#endif
- content::DevToolsManagerDelegate* GetDevToolsManagerDelegate() override;
private:
// Android WebView currently has a single global (non-off-the-record) browser
diff --git a/android_webview/browser/aw_dev_tools_manager_delegate.cc b/android_webview/browser/aw_dev_tools_manager_delegate.cc
deleted file mode 100644
index d46e402..0000000
--- a/android_webview/browser/aw_dev_tools_manager_delegate.cc
+++ /dev/null
@@ -1,42 +0,0 @@
-// Copyright 2014 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_dev_tools_manager_delegate.h"
-
-#include "components/devtools_discovery/devtools_discovery_manager.h"
-#include "content/public/browser/devtools_target.h"
-
-namespace android_webview {
-
-AwDevToolsManagerDelegate::AwDevToolsManagerDelegate() {
-}
-
-AwDevToolsManagerDelegate::~AwDevToolsManagerDelegate() {
-}
-
-base::DictionaryValue* AwDevToolsManagerDelegate::HandleCommand(
- content::DevToolsAgentHost* agent_host,
- base::DictionaryValue* command_dict) {
- return NULL;
-}
-
-void AwDevToolsManagerDelegate::EnumerateTargets(TargetCallback callback) {
- TargetList targets;
- devtools_discovery::DevToolsDiscoveryManager* discovery_manager =
- devtools_discovery::DevToolsDiscoveryManager::GetInstance();
- for (const auto& descriptor : discovery_manager->GetDescriptors())
- targets.push_back(descriptor);
- callback.Run(targets);
-}
-
-std::string AwDevToolsManagerDelegate::GetPageThumbnailData(const GURL&) {
- return "";
-}
-
-scoped_ptr<content::DevToolsTarget> AwDevToolsManagerDelegate::CreateNewTarget(
- const GURL&) {
- return scoped_ptr<content::DevToolsTarget>();
-}
-
-} // namespace android_webview
diff --git a/android_webview/browser/aw_dev_tools_manager_delegate.h b/android_webview/browser/aw_dev_tools_manager_delegate.h
deleted file mode 100644
index 52b7c85..0000000
--- a/android_webview/browser/aw_dev_tools_manager_delegate.h
+++ /dev/null
@@ -1,38 +0,0 @@
-// Copyright 2014 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_MANAGER_DELEGATE_H_
-#define ANDROID_WEBVIEW_BROWSER_AW_DEV_TOOLS_MANAGER_DELEGATE_H_
-
-#include "base/basictypes.h"
-#include "content/public/browser/devtools_manager_delegate.h"
-
-namespace android_webview {
-
-// TODO(dgozman): remove this class after componentization of devtools_discovery
-// is finished.
-class AwDevToolsManagerDelegate : public content::DevToolsManagerDelegate {
- public:
- AwDevToolsManagerDelegate();
- ~AwDevToolsManagerDelegate() override;
-
- // content::DevToolsManagerDelegate implementation.
- void Inspect(content::BrowserContext* browser_context,
- content::DevToolsAgentHost* agent_host) override {}
- void DevToolsAgentStateChanged(content::DevToolsAgentHost* agent_host,
- bool attached) override {}
- base::DictionaryValue* HandleCommand(
- content::DevToolsAgentHost* agent_host,
- base::DictionaryValue* command_dict) override;
- scoped_ptr<content::DevToolsTarget> CreateNewTarget(const GURL& url) override;
- void EnumerateTargets(TargetCallback callback) override;
- std::string GetPageThumbnailData(const GURL& url) override;
-
- private:
- DISALLOW_COPY_AND_ASSIGN(AwDevToolsManagerDelegate);
-};
-
-} // namespace android_webview
-
-#endif // ANDROID_WEBVIEW_BROWSER_AW_DEV_TOOLS_MANAGER_DELEGATE_H_
diff --git a/android_webview/native/aw_dev_tools_server.cc b/android_webview/native/aw_dev_tools_server.cc
index 1e11f28..6b3e82a 100644
--- a/android_webview/native/aw_dev_tools_server.cc
+++ b/android_webview/native/aw_dev_tools_server.cc
@@ -4,7 +4,6 @@
#include "android_webview/native/aw_dev_tools_server.h"
-#include "android_webview/browser/aw_dev_tools_manager_delegate.h"
#include "android_webview/common/aw_content_client.h"
#include "android_webview/native/aw_contents.h"
#include "base/bind.h"
@@ -17,7 +16,6 @@
#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_target.h"
#include "content/public/browser/web_contents.h"
#include "content/public/common/user_agent.h"
#include "jni/AwDevToolsServer_jni.h"
@@ -51,6 +49,7 @@ class AwDevToolsServerDelegate :
// devtools_http_handler::DevToolsHttpHandlerDelegate implementation.
std::string GetDiscoveryPageHTML() override;
std::string GetFrontendResource(const std::string& path) override;
+ std::string GetPageThumbnailData(const GURL&) override;
private:
@@ -73,6 +72,10 @@ std::string AwDevToolsServerDelegate::GetFrontendResource(
return std::string();
}
+std::string AwDevToolsServerDelegate::GetPageThumbnailData(const GURL&) {
+ return std::string();
+}
+
// Factory for UnixDomainServerSocket.
class UnixDomainServerSocketFactory
: public DevToolsHttpHandler::ServerSocketFactory {
@@ -131,12 +134,10 @@ void AwDevToolsServer::Start() {
scoped_ptr<DevToolsHttpHandler::ServerSocketFactory> factory(
new UnixDomainServerSocketFactory(
base::StringPrintf(kSocketNameFormat, getpid())));
- manager_delegate_.reset(new AwDevToolsManagerDelegate());
devtools_http_handler_.reset(new DevToolsHttpHandler(
factory.Pass(),
base::StringPrintf(kFrontEndURL, content::GetWebKitRevision().c_str()),
new AwDevToolsServerDelegate(),
- manager_delegate_.get(),
base::FilePath(),
base::FilePath(),
GetProduct(),
@@ -145,7 +146,6 @@ void AwDevToolsServer::Start() {
void AwDevToolsServer::Stop() {
devtools_http_handler_.reset();
- manager_delegate_.reset();
}
bool AwDevToolsServer::IsStarted() const {
diff --git a/android_webview/native/aw_dev_tools_server.h b/android_webview/native/aw_dev_tools_server.h
index 48669a5..e3b5640 100644
--- a/android_webview/native/aw_dev_tools_server.h
+++ b/android_webview/native/aw_dev_tools_server.h
@@ -17,8 +17,6 @@ class DevToolsHttpHandler;
namespace android_webview {
-class AwDevToolsManagerDelegate;
-
// This class controls WebView-specific Developer Tools remote debugging server.
class AwDevToolsServer {
public:
@@ -34,8 +32,6 @@ class AwDevToolsServer {
bool IsStarted() const;
private:
- // TODO(dgozman): remove once devtools_discovery component is extracted.
- scoped_ptr<AwDevToolsManagerDelegate> manager_delegate_;
scoped_ptr<devtools_http_handler::DevToolsHttpHandler> devtools_http_handler_;
DISALLOW_COPY_AND_ASSIGN(AwDevToolsServer);
diff --git a/chrome/browser/android/dev_tools_discovery_provider_android.cc b/chrome/browser/android/dev_tools_discovery_provider_android.cc
index e1a481f..aea64f6 100644
--- a/chrome/browser/android/dev_tools_discovery_provider_android.cc
+++ b/chrome/browser/android/dev_tools_discovery_provider_android.cc
@@ -16,7 +16,6 @@
#include "components/devtools_discovery/basic_target_descriptor.h"
#include "components/devtools_discovery/devtools_discovery_manager.h"
#include "content/public/browser/devtools_agent_host.h"
-#include "content/public/browser/devtools_target.h"
#include "content/public/browser/favicon_status.h"
#include "content/public/browser/navigation_entry.h"
#include "content/public/browser/web_contents.h"
diff --git a/chrome/browser/android/dev_tools_manager_delegate_android.cc b/chrome/browser/android/dev_tools_manager_delegate_android.cc
deleted file mode 100644
index 19845c40..0000000
--- a/chrome/browser/android/dev_tools_manager_delegate_android.cc
+++ /dev/null
@@ -1,69 +0,0 @@
-// Copyright 2014 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 "chrome/browser/android/dev_tools_manager_delegate_android.h"
-
-#include "base/basictypes.h"
-#include "base/compiler_specific.h"
-#include "chrome/browser/history/top_sites_factory.h"
-#include "chrome/browser/profiles/profile_manager.h"
-#include "components/devtools_discovery/devtools_discovery_manager.h"
-#include "components/history/core/browser/top_sites.h"
-#include "content/public/browser/devtools_agent_host.h"
-#include "content/public/browser/devtools_target.h"
-
-using content::DevToolsAgentHost;
-
-DevToolsManagerDelegateAndroid::DevToolsManagerDelegateAndroid()
- : network_protocol_handler_(new DevToolsNetworkProtocolHandler()) {
-}
-
-DevToolsManagerDelegateAndroid::~DevToolsManagerDelegateAndroid() {
-}
-
-void DevToolsManagerDelegateAndroid::Inspect(
- content::BrowserContext* browser_context,
- content::DevToolsAgentHost* agent_host) {
-}
-
-base::DictionaryValue* DevToolsManagerDelegateAndroid::HandleCommand(
- content::DevToolsAgentHost* agent_host,
- base::DictionaryValue* command_dict) {
- return network_protocol_handler_->HandleCommand(agent_host, command_dict);
-}
-
-void DevToolsManagerDelegateAndroid::DevToolsAgentStateChanged(
- content::DevToolsAgentHost* agent_host,
- bool attached) {
- network_protocol_handler_->DevToolsAgentStateChanged(agent_host, attached);
-}
-
-scoped_ptr<content::DevToolsTarget>
- DevToolsManagerDelegateAndroid::CreateNewTarget(const GURL& url) {
- devtools_discovery::DevToolsDiscoveryManager* discovery_manager =
- devtools_discovery::DevToolsDiscoveryManager::GetInstance();
- return discovery_manager->CreateNew(url);
-}
-
-void DevToolsManagerDelegateAndroid::EnumerateTargets(TargetCallback callback) {
- TargetList targets;
- devtools_discovery::DevToolsDiscoveryManager* discovery_manager =
- devtools_discovery::DevToolsDiscoveryManager::GetInstance();
- for (const auto& descriptor : discovery_manager->GetDescriptors())
- targets.push_back(descriptor);
- callback.Run(targets);
-}
-
-std::string DevToolsManagerDelegateAndroid::GetPageThumbnailData(
- const GURL& url) {
- Profile* profile = ProfileManager::GetLastUsedProfile()->GetOriginalProfile();
- scoped_refptr<history::TopSites> top_sites =
- TopSitesFactory::GetForProfile(profile);
- if (top_sites) {
- scoped_refptr<base::RefCountedMemory> data;
- if (top_sites->GetPageThumbnail(url, false, &data))
- return std::string(data->front_as<char>(), data->size());
- }
- return std::string();
-}
diff --git a/chrome/browser/android/dev_tools_manager_delegate_android.h b/chrome/browser/android/dev_tools_manager_delegate_android.h
deleted file mode 100644
index 1fa2190..0000000
--- a/chrome/browser/android/dev_tools_manager_delegate_android.h
+++ /dev/null
@@ -1,39 +0,0 @@
-// Copyright 2014 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 CHROME_BROWSER_ANDROID_DEV_TOOLS_MANAGER_DELEGATE_ANDROID_H_
-#define CHROME_BROWSER_ANDROID_DEV_TOOLS_MANAGER_DELEGATE_ANDROID_H_
-
-#include "base/compiler_specific.h"
-#include "base/macros.h"
-#include "base/memory/scoped_ptr.h"
-#include "chrome/browser/devtools/devtools_network_protocol_handler.h"
-#include "content/public/browser/devtools_manager_delegate.h"
-
-// TODO(dgozman): remove this class once transition to devtools_discovery is
-// completed.
-class DevToolsManagerDelegateAndroid : public content::DevToolsManagerDelegate {
- public:
- DevToolsManagerDelegateAndroid();
- ~DevToolsManagerDelegateAndroid() override;
-
- // content::DevToolsManagerDelegate implementation.
- void Inspect(content::BrowserContext* browser_context,
- content::DevToolsAgentHost* agent_host) override;
- void DevToolsAgentStateChanged(content::DevToolsAgentHost* agent_host,
- bool attached) override;
- base::DictionaryValue* HandleCommand(
- content::DevToolsAgentHost* agent_host,
- base::DictionaryValue* command_dict) override;
- scoped_ptr<content::DevToolsTarget> CreateNewTarget(const GURL& url) override;
- void EnumerateTargets(TargetCallback callback) override;
- std::string GetPageThumbnailData(const GURL& url) override;
-
- private:
- scoped_ptr<DevToolsNetworkProtocolHandler> network_protocol_handler_;
-
- DISALLOW_COPY_AND_ASSIGN(DevToolsManagerDelegateAndroid);
-};
-
-#endif // CHROME_BROWSER_ANDROID_DEV_TOOLS_MANAGER_DELEGATE_ANDROID_H_
diff --git a/chrome/browser/android/dev_tools_server.cc b/chrome/browser/android/dev_tools_server.cc
index 9a91c6b..e42b25f 100644
--- a/chrome/browser/android/dev_tools_server.cc
+++ b/chrome/browser/android/dev_tools_server.cc
@@ -18,7 +18,6 @@
#include "base/strings/string_number_conversions.h"
#include "base/strings/stringprintf.h"
#include "base/strings/utf_string_conversions.h"
-#include "chrome/browser/android/dev_tools_manager_delegate_android.h"
#include "chrome/browser/android/tab_android.h"
#include "chrome/browser/browser_process.h"
#include "chrome/browser/history/top_sites_factory.h"
@@ -33,7 +32,6 @@
#include "content/public/browser/android/devtools_auth.h"
#include "content/public/browser/browser_thread.h"
#include "content/public/browser/devtools_agent_host.h"
-#include "content/public/browser/devtools_target.h"
#include "content/public/browser/favicon_status.h"
#include "content/public/browser/navigation_entry.h"
#include "content/public/browser/render_view_host.h"
@@ -106,6 +104,19 @@ class DevToolsServerDelegate :
return std::string();
}
+ std::string GetPageThumbnailData(const GURL& url) override {
+ Profile* profile =
+ ProfileManager::GetLastUsedProfile()->GetOriginalProfile();
+ scoped_refptr<history::TopSites> top_sites =
+ TopSitesFactory::GetForProfile(profile);
+ if (top_sites) {
+ scoped_refptr<base::RefCountedMemory> data;
+ if (top_sites->GetPageThumbnail(url, false, &data))
+ return std::string(data->front_as<char>(), data->size());
+ }
+ return std::string();
+ }
+
private:
static void PopulatePageThumbnails() {
Profile* profile =
@@ -195,7 +206,6 @@ void DevToolsServer::Start(bool allow_debug_permission) {
allow_debug_permission ?
base::Bind(&AuthorizeSocketAccessWithDebugPermission) :
base::Bind(&content::CanUserConnectToDevTools);
- manager_delegate_.reset(new DevToolsManagerDelegateAndroid());
chrome::VersionInfo version_info;
scoped_ptr<DevToolsHttpHandler::ServerSocketFactory> factory(
@@ -204,7 +214,6 @@ void DevToolsServer::Start(bool allow_debug_permission) {
factory.Pass(),
base::StringPrintf(kFrontEndURL, content::GetWebKitRevision().c_str()),
new DevToolsServerDelegate(),
- manager_delegate_.get(),
base::FilePath(),
base::FilePath(),
version_info.ProductNameAndVersionForUserAgent(),
@@ -213,7 +222,6 @@ void DevToolsServer::Start(bool allow_debug_permission) {
void DevToolsServer::Stop() {
devtools_http_handler_.reset();
- manager_delegate_.reset();
}
bool DevToolsServer::IsStarted() const {
diff --git a/chrome/browser/android/dev_tools_server.h b/chrome/browser/android/dev_tools_server.h
index 2716ef3..1ada47d 100644
--- a/chrome/browser/android/dev_tools_server.h
+++ b/chrome/browser/android/dev_tools_server.h
@@ -14,8 +14,6 @@ namespace devtools_http_handler {
class DevToolsHttpHandler;
}
-class DevToolsManagerDelegateAndroid;
-
// This class controls Developer Tools remote debugging server.
class DevToolsServer {
public:
@@ -32,8 +30,6 @@ class DevToolsServer {
private:
std::string socket_name_;
- // TODO(dgozman): remove once devtools_discovery component is extracted.
- scoped_ptr<DevToolsManagerDelegateAndroid> manager_delegate_;
scoped_ptr<devtools_http_handler::DevToolsHttpHandler> devtools_http_handler_;
DISALLOW_COPY_AND_ASSIGN(DevToolsServer);
diff --git a/chrome/browser/chrome_content_browser_client.cc b/chrome/browser/chrome_content_browser_client.cc
index f1cb6e4..b2cb439 100644
--- a/chrome/browser/chrome_content_browser_client.cc
+++ b/chrome/browser/chrome_content_browser_client.cc
@@ -33,6 +33,7 @@
#include "chrome/browser/content_settings/cookie_settings.h"
#include "chrome/browser/content_settings/tab_specific_content_settings.h"
#include "chrome/browser/defaults.h"
+#include "chrome/browser/devtools/chrome_devtools_manager_delegate.h"
#include "chrome/browser/download/download_prefs.h"
#include "chrome/browser/font_family_cache.h"
#include "chrome/browser/geolocation/chrome_access_token_store.h"
@@ -175,12 +176,6 @@
#include "ui/gfx/android/device_display_info.h"
#endif
-#if defined(OS_ANDROID)
-#include "chrome/browser/android/dev_tools_manager_delegate_android.h"
-#else
-#include "chrome/browser/devtools/chrome_devtools_manager_delegate.h"
-#endif
-
#if defined(TOOLKIT_VIEWS)
#include "chrome/browser/ui/views/chrome_browser_main_extra_parts_views.h"
#endif
@@ -2367,11 +2362,7 @@ void ChromeContentBrowserClient::RecordURLMetric(const std::string& metric,
content::DevToolsManagerDelegate*
ChromeContentBrowserClient::GetDevToolsManagerDelegate() {
-#if defined(OS_ANDROID)
- return new DevToolsManagerDelegateAndroid();
-#else
return new ChromeDevToolsManagerDelegate();
-#endif
}
content::TracingDelegate* ChromeContentBrowserClient::GetTracingDelegate() {
diff --git a/chrome/browser/devtools/BUILD.gn b/chrome/browser/devtools/BUILD.gn
index 9dc9e9fe..599f71e 100644
--- a/chrome/browser/devtools/BUILD.gn
+++ b/chrome/browser/devtools/BUILD.gn
@@ -30,6 +30,8 @@ action("devtools_protocol_constants") {
static_library("devtools") {
# Note: new sources and deps should be generally added in (!is_android) below.
sources = [
+ "chrome_devtools_manager_delegate.cc",
+ "chrome_devtools_manager_delegate.h",
"devtools_network_conditions.cc",
"devtools_network_conditions.h",
"devtools_network_controller.cc",
@@ -79,8 +81,6 @@ static_library("devtools") {
sources += [
"chrome_devtools_discovery_provider.cc",
"chrome_devtools_discovery_provider.h",
- "chrome_devtools_manager_delegate.cc",
- "chrome_devtools_manager_delegate.h",
"device/adb/adb_client_socket.cc",
"device/adb/adb_client_socket.h",
"device/adb/adb_device_provider.cc",
diff --git a/chrome/browser/devtools/chrome_devtools_manager_delegate.cc b/chrome/browser/devtools/chrome_devtools_manager_delegate.cc
index f115a39..8a655ce 100644
--- a/chrome/browser/devtools/chrome_devtools_manager_delegate.cc
+++ b/chrome/browser/devtools/chrome_devtools_manager_delegate.cc
@@ -4,19 +4,11 @@
#include "chrome/browser/devtools/chrome_devtools_manager_delegate.h"
-#include "base/values.h"
-#include "chrome/browser/devtools/devtools_target_impl.h"
+#if !defined(OS_ANDROID)
#include "chrome/browser/devtools/devtools_window.h"
-#include "chrome/browser/history/top_sites_factory.h"
#include "chrome/browser/profiles/profile.h"
-#include "chrome/browser/profiles/profile_manager.h"
-#include "chrome/browser/ui/browser.h"
-#include "chrome/browser/ui/browser_iterator.h"
-#include "components/devtools_discovery/devtools_discovery_manager.h"
-#include "components/history/core/browser/top_sites.h"
-#include "content/public/browser/browser_thread.h"
#include "content/public/browser/devtools_agent_host.h"
-#include "content/public/browser/web_contents.h"
+#endif // !defined(OS_ANDROID)
ChromeDevToolsManagerDelegate::ChromeDevToolsManagerDelegate()
: network_protocol_handler_(new DevToolsNetworkProtocolHandler()) {
@@ -28,6 +20,7 @@ ChromeDevToolsManagerDelegate::~ChromeDevToolsManagerDelegate() {
void ChromeDevToolsManagerDelegate::Inspect(
content::BrowserContext* browser_context,
content::DevToolsAgentHost* agent_host) {
+#if !defined(OS_ANDROID)
content::DevToolsAgentHost::Type type = agent_host->GetType();
if (type != content::DevToolsAgentHost::TYPE_SHARED_WORKER &&
type != content::DevToolsAgentHost::TYPE_SERVICE_WORKER) {
@@ -36,6 +29,7 @@ void ChromeDevToolsManagerDelegate::Inspect(
}
if (Profile* profile = Profile::FromBrowserContext(browser_context))
DevToolsWindow::OpenDevToolsWindowForWorker(profile, agent_host);
+#endif // !defined(OS_ANDROID)
}
base::DictionaryValue* ChromeDevToolsManagerDelegate::HandleCommand(
@@ -49,34 +43,3 @@ void ChromeDevToolsManagerDelegate::DevToolsAgentStateChanged(
bool attached) {
network_protocol_handler_->DevToolsAgentStateChanged(agent_host, attached);
}
-
-std::string ChromeDevToolsManagerDelegate::GetPageThumbnailData(
- const GURL& url) {
- for (chrome::BrowserIterator it; !it.done(); it.Next()) {
- Profile* profile = (*it)->profile();
- scoped_refptr<history::TopSites> top_sites =
- TopSitesFactory::GetForProfile(profile);
- if (!top_sites)
- continue;
- scoped_refptr<base::RefCountedMemory> data;
- if (top_sites->GetPageThumbnail(url, false, &data))
- return std::string(data->front_as<char>(), data->size());
- }
- return std::string();
-}
-
-scoped_ptr<content::DevToolsTarget>
-ChromeDevToolsManagerDelegate::CreateNewTarget(const GURL& url) {
- return devtools_discovery::DevToolsDiscoveryManager::GetInstance()->
- CreateNew(url);
-}
-
-void ChromeDevToolsManagerDelegate::EnumerateTargets(TargetCallback callback) {
- TargetList targets;
- devtools_discovery::DevToolsDiscoveryManager* discovery_manager =
- devtools_discovery::DevToolsDiscoveryManager::GetInstance();
- for (const auto& descriptor : discovery_manager->GetDescriptors())
- targets.push_back(descriptor);
- callback.Run(targets);
-}
-
diff --git a/chrome/browser/devtools/chrome_devtools_manager_delegate.h b/chrome/browser/devtools/chrome_devtools_manager_delegate.h
index 693e9b4..03b3e11 100644
--- a/chrome/browser/devtools/chrome_devtools_manager_delegate.h
+++ b/chrome/browser/devtools/chrome_devtools_manager_delegate.h
@@ -24,9 +24,6 @@ class ChromeDevToolsManagerDelegate : public content::DevToolsManagerDelegate {
base::DictionaryValue* HandleCommand(
content::DevToolsAgentHost* agent_host,
base::DictionaryValue* command_dict) override;
- scoped_ptr<content::DevToolsTarget> CreateNewTarget(const GURL& url) override;
- void EnumerateTargets(TargetCallback callback) override;
- std::string GetPageThumbnailData(const GURL& url) override;
private:
scoped_ptr<DevToolsNetworkProtocolHandler> network_protocol_handler_;
diff --git a/chrome/browser/devtools/remote_debugging_server.cc b/chrome/browser/devtools/remote_debugging_server.cc
index 4fe1064..a94543e 100644
--- a/chrome/browser/devtools/remote_debugging_server.cc
+++ b/chrome/browser/devtools/remote_debugging_server.cc
@@ -7,7 +7,6 @@
#include "base/lazy_instance.h"
#include "base/path_service.h"
#include "base/strings/string_number_conversions.h"
-#include "chrome/browser/devtools/chrome_devtools_manager_delegate.h"
#include "chrome/browser/history/top_sites_factory.h"
#include "chrome/browser/profiles/profile.h"
#include "chrome/browser/ui/browser.h"
@@ -85,6 +84,7 @@ class ChromeDevToolsHttpHandlerDelegate
// devtools_http_handler::DevToolsHttpHandlerDelegate implementation.
std::string GetDiscoveryPageHTML() override;
std::string GetFrontendResource(const std::string& path) override;
+ std::string GetPageThumbnailData(const GURL& url) override;
private:
DISALLOW_COPY_AND_ASSIGN(ChromeDevToolsHttpHandlerDelegate);
@@ -119,6 +119,21 @@ std::string ChromeDevToolsHttpHandlerDelegate::GetFrontendResource(
return content::DevToolsFrontendHost::GetFrontendResource(path).as_string();
}
+std::string ChromeDevToolsHttpHandlerDelegate::GetPageThumbnailData(
+ const GURL& url) {
+ for (chrome::BrowserIterator it; !it.done(); it.Next()) {
+ Profile* profile = (*it)->profile();
+ scoped_refptr<history::TopSites> top_sites =
+ TopSitesFactory::GetForProfile(profile);
+ if (!top_sites)
+ continue;
+ scoped_refptr<base::RefCountedMemory> data;
+ if (top_sites->GetPageThumbnail(url, false, &data))
+ return std::string(data->front_as<char>(), data->size());
+ }
+ return std::string();
+}
+
} // namespace
// static
@@ -139,8 +154,6 @@ RemoteDebuggingServer::RemoteDebuggingServer(
DCHECK(result);
}
- manager_delegate_.reset(new ChromeDevToolsManagerDelegate());
-
base::FilePath debug_frontend_dir;
#if defined(DEBUG_DEVTOOLS)
PathService::Get(chrome::DIR_INSPECTOR, &debug_frontend_dir);
@@ -152,7 +165,6 @@ RemoteDebuggingServer::RemoteDebuggingServer(
make_scoped_ptr(new TCPServerSocketFactory(ip, port)),
std::string(),
new ChromeDevToolsHttpHandlerDelegate(),
- manager_delegate_.get(),
output_dir,
debug_frontend_dir,
version_info.ProductNameAndVersionForUserAgent(),
diff --git a/chrome/browser/devtools/remote_debugging_server.h b/chrome/browser/devtools/remote_debugging_server.h
index c82565f..a1169f0 100644
--- a/chrome/browser/devtools/remote_debugging_server.h
+++ b/chrome/browser/devtools/remote_debugging_server.h
@@ -15,8 +15,6 @@ namespace devtools_http_handler {
class DevToolsHttpHandler;
}
-class ChromeDevToolsManagerDelegate;
-
class RemoteDebuggingServer {
public:
static void EnableTetheringForDebug();
@@ -28,8 +26,6 @@ class RemoteDebuggingServer {
virtual ~RemoteDebuggingServer();
private:
- // TODO(dgozman): remove once devtools_discovery component is extracted.
- scoped_ptr<ChromeDevToolsManagerDelegate> manager_delegate_;
scoped_ptr<devtools_http_handler::DevToolsHttpHandler> devtools_http_handler_;
DISALLOW_COPY_AND_ASSIGN(RemoteDebuggingServer);
};
diff --git a/chrome/chrome_browser.gypi b/chrome/chrome_browser.gypi
index 5fc511b..d761f82 100644
--- a/chrome/chrome_browser.gypi
+++ b/chrome/chrome_browser.gypi
@@ -78,8 +78,6 @@
'browser/android/cookies/cookies_fetcher.h',
'browser/android/dev_tools_discovery_provider_android.cc',
'browser/android/dev_tools_discovery_provider_android.h',
- 'browser/android/dev_tools_manager_delegate_android.cc',
- 'browser/android/dev_tools_manager_delegate_android.h',
'browser/android/dev_tools_server.cc',
'browser/android/dev_tools_server.h',
'browser/android/dom_distiller/external_feedback_reporter_android.cc',
diff --git a/chrome/chrome_debugger.gypi b/chrome/chrome_debugger.gypi
index 4b8e0c5..44c0701 100644
--- a/chrome/chrome_debugger.gypi
+++ b/chrome/chrome_debugger.gypi
@@ -23,6 +23,8 @@
# These files are generated by devtools_protocol_constants_generator.py.
'<(SHARED_INTERMEDIATE_DIR)/chrome/browser/devtools/devtools_protocol_constants.cc',
'<(SHARED_INTERMEDIATE_DIR)/chrome/browser/devtools/devtools_protocol_constants.h',
+ 'browser/devtools/chrome_devtools_manager_delegate.cc',
+ 'browser/devtools/chrome_devtools_manager_delegate.h',
'browser/devtools/devtools_network_conditions.cc',
'browser/devtools/devtools_network_conditions.h',
'browser/devtools/devtools_network_controller.cc',
@@ -59,8 +61,6 @@
'<(SHARED_INTERMEDIATE_DIR)/chrome/grit/webrtc_device_provider_resources_map.h',
'browser/devtools/chrome_devtools_discovery_provider.cc',
'browser/devtools/chrome_devtools_discovery_provider.h',
- 'browser/devtools/chrome_devtools_manager_delegate.cc',
- 'browser/devtools/chrome_devtools_manager_delegate.h',
'browser/devtools/device/adb/adb_client_socket.cc',
'browser/devtools/device/adb/adb_client_socket.h',
'browser/devtools/device/adb/adb_device_provider.cc',
diff --git a/chromecast/browser/cast_content_browser_client.cc b/chromecast/browser/cast_content_browser_client.cc
index beae0d3..01430da 100644
--- a/chromecast/browser/cast_content_browser_client.cc
+++ b/chromecast/browser/cast_content_browser_client.cc
@@ -19,7 +19,6 @@
#include "chromecast/browser/cast_network_delegate.h"
#include "chromecast/browser/cast_quota_permission_context.h"
#include "chromecast/browser/cast_resource_dispatcher_host_delegate.h"
-#include "chromecast/browser/devtools/cast_dev_tools_delegate.h"
#include "chromecast/browser/geolocation/cast_access_token_store.h"
#include "chromecast/browser/media/cma_message_filter_host.h"
#include "chromecast/browser/url_request_context_factory.h"
@@ -313,11 +312,6 @@ bool CastContentBrowserClient::CanCreateWindow(
return false;
}
-content::DevToolsManagerDelegate*
-CastContentBrowserClient::GetDevToolsManagerDelegate() {
- return new CastDevToolsManagerDelegate();
-}
-
void CastContentBrowserClient::GetAdditionalMappedFilesForChildProcess(
const base::CommandLine& command_line,
int child_process_id,
diff --git a/chromecast/browser/cast_content_browser_client.h b/chromecast/browser/cast_content_browser_client.h
index 193a090..0d25e61 100644
--- a/chromecast/browser/cast_content_browser_client.h
+++ b/chromecast/browser/cast_content_browser_client.h
@@ -91,7 +91,6 @@ class CastContentBrowserClient: public content::ContentBrowserClient {
int render_process_id,
int opener_id,
bool* no_javascript_access) override;
- content::DevToolsManagerDelegate* GetDevToolsManagerDelegate() override;
void GetAdditionalMappedFilesForChildProcess(
const base::CommandLine& command_line,
int child_process_id,
diff --git a/chromecast/browser/devtools/cast_dev_tools_delegate.cc b/chromecast/browser/devtools/cast_dev_tools_delegate.cc
index 4144727..93f1704 100644
--- a/chromecast/browser/devtools/cast_dev_tools_delegate.cc
+++ b/chromecast/browser/devtools/cast_dev_tools_delegate.cc
@@ -4,17 +4,7 @@
#include "chromecast/browser/devtools/cast_dev_tools_delegate.h"
-#include "base/files/file_path.h"
#include "base/macros.h"
-#include "base/strings/utf_string_conversions.h"
-#include "components/devtools_discovery/devtools_discovery_manager.h"
-#include "content/public/browser/devtools_agent_host.h"
-#include "content/public/browser/devtools_target.h"
-#include "content/public/browser/favicon_status.h"
-#include "content/public/browser/navigation_entry.h"
-#include "content/public/browser/render_view_host.h"
-#include "content/public/browser/web_contents.h"
-#include "content/public/browser/web_contents_delegate.h"
#include "grit/shell_resources.h"
#include "ui/base/resource/resource_bundle.h"
@@ -43,37 +33,8 @@ std::string CastDevToolsDelegate::GetFrontendResource(
return std::string();
}
-// CastDevToolsManagerDelegate -----------------------------------------------
-
-CastDevToolsManagerDelegate::CastDevToolsManagerDelegate() {
-}
-
-CastDevToolsManagerDelegate::~CastDevToolsManagerDelegate() {
-}
-
-base::DictionaryValue* CastDevToolsManagerDelegate::HandleCommand(
- content::DevToolsAgentHost* agent_host,
- base::DictionaryValue* command) {
- return NULL;
-}
-
-std::string CastDevToolsManagerDelegate::GetPageThumbnailData(
- const GURL& url) {
- return "";
-}
-
-scoped_ptr<content::DevToolsTarget>
-CastDevToolsManagerDelegate::CreateNewTarget(const GURL& url) {
- return scoped_ptr<content::DevToolsTarget>();
-}
-
-void CastDevToolsManagerDelegate::EnumerateTargets(TargetCallback callback) {
- TargetList targets;
- devtools_discovery::DevToolsDiscoveryManager* discovery_manager =
- devtools_discovery::DevToolsDiscoveryManager::GetInstance();
- for (const auto& descriptor : discovery_manager->GetDescriptors())
- targets.push_back(descriptor);
- callback.Run(targets);
+std::string CastDevToolsDelegate::GetPageThumbnailData(const GURL& url) {
+ return std::string();
}
} // namespace shell
diff --git a/chromecast/browser/devtools/cast_dev_tools_delegate.h b/chromecast/browser/devtools/cast_dev_tools_delegate.h
index 38fbfcb..190abec 100644
--- a/chromecast/browser/devtools/cast_dev_tools_delegate.h
+++ b/chromecast/browser/devtools/cast_dev_tools_delegate.h
@@ -6,17 +6,8 @@
#define CHROMECAST_BROWSER_DEVTOOLS_CAST_DEV_TOOLS_DELEGATE_H_
#include "components/devtools_http_handler/devtools_http_handler_delegate.h"
-#include "content/public/browser/devtools_manager_delegate.h"
#include "net/socket/stream_listen_socket.h"
-namespace base {
-class FilePath;
-}
-
-namespace content {
-class BrowserContext;
-}
-
namespace chromecast {
namespace shell {
@@ -29,32 +20,10 @@ class CastDevToolsDelegate :
// devtools_http_handler::DevToolsHttpHandlerDelegate implementation.
std::string GetDiscoveryPageHTML() override;
std::string GetFrontendResource(const std::string& path) override;
-
- private:
- DISALLOW_COPY_AND_ASSIGN(CastDevToolsDelegate);
-};
-
-class CastDevToolsManagerDelegate : public content::DevToolsManagerDelegate {
- public:
- CastDevToolsManagerDelegate();
- ~CastDevToolsManagerDelegate() override;
-
- // DevToolsManagerDelegate implementation.
- void Inspect(
- content::BrowserContext* browser_context,
- content::DevToolsAgentHost* agent_host) override {}
- void DevToolsAgentStateChanged(
- content::DevToolsAgentHost* agent_host,
- bool attached) override {}
- base::DictionaryValue* HandleCommand(
- content::DevToolsAgentHost* agent_host,
- base::DictionaryValue* command) override;
- scoped_ptr<content::DevToolsTarget> CreateNewTarget(const GURL& url) override;
- void EnumerateTargets(TargetCallback callback) override;
std::string GetPageThumbnailData(const GURL& url) override;
private:
- DISALLOW_COPY_AND_ASSIGN(CastDevToolsManagerDelegate);
+ DISALLOW_COPY_AND_ASSIGN(CastDevToolsDelegate);
};
} // namespace shell
diff --git a/chromecast/browser/devtools/remote_debugging_server.cc b/chromecast/browser/devtools/remote_debugging_server.cc
index 3b78e38b..6391b6d 100644
--- a/chromecast/browser/devtools/remote_debugging_server.cc
+++ b/chromecast/browser/devtools/remote_debugging_server.cc
@@ -148,12 +148,10 @@ void RemoteDebuggingServer::OnPortChanged() {
port_ = new_port;
if (port_ > 0) {
- manager_delegate_.reset(new CastDevToolsManagerDelegate());
devtools_http_handler_.reset(new DevToolsHttpHandler(
CreateSocketFactory(port_),
GetFrontendUrl(),
new CastDevToolsDelegate(),
- manager_delegate_.get(),
base::FilePath(),
base::FilePath(),
std::string(),
diff --git a/chromecast/browser/devtools/remote_debugging_server.h b/chromecast/browser/devtools/remote_debugging_server.h
index 2d9e48e..399b344 100644
--- a/chromecast/browser/devtools/remote_debugging_server.h
+++ b/chromecast/browser/devtools/remote_debugging_server.h
@@ -30,8 +30,6 @@ class RemoteDebuggingServer {
// on device startup.
bool ShouldStartImmediately();
- // TODO(dgozman): remove once devtools_discovery component is extracted.
- scoped_ptr<CastDevToolsManagerDelegate> manager_delegate_;
scoped_ptr<devtools_http_handler::DevToolsHttpHandler> devtools_http_handler_;
IntegerPrefMember pref_port_;
diff --git a/components/devtools_discovery/devtools_discovery_manager.h b/components/devtools_discovery/devtools_discovery_manager.h
index fa2b630..d4f0e85 100644
--- a/components/devtools_discovery/devtools_discovery_manager.h
+++ b/components/devtools_discovery/devtools_discovery_manager.h
@@ -18,6 +18,8 @@ class DevToolsDiscoveryManager {
class Provider {
public:
virtual ~Provider() {}
+
+ // Caller takes ownership of created descriptors.
virtual DevToolsTargetDescriptor::List GetDescriptors() = 0;
};
@@ -31,6 +33,7 @@ class DevToolsDiscoveryManager {
void AddProvider(scoped_ptr<Provider> provider);
void SetCreateCallback(const CreateCallback& callback);
+ // Caller takes ownership of created descriptors.
DevToolsTargetDescriptor::List GetDescriptors();
scoped_ptr<DevToolsTargetDescriptor> CreateNew(const GURL& url);
diff --git a/components/devtools_discovery/devtools_target_descriptor.h b/components/devtools_discovery/devtools_target_descriptor.h
index 2e5b104..9b3200d 100644
--- a/components/devtools_discovery/devtools_target_descriptor.h
+++ b/components/devtools_discovery/devtools_target_descriptor.h
@@ -11,7 +11,6 @@
#include "base/basictypes.h"
#include "base/memory/ref_counted.h"
#include "base/time/time.h"
-#include "content/public/browser/devtools_target.h"
#include "url/gurl.h"
namespace content {
@@ -24,12 +23,46 @@ namespace devtools_discovery {
// and can be used to manipulate the target and query its details.
// Instantiation and discovery of DevToolsTargetDescriptor instances
// is the responsibility of DevToolsDiscoveryManager.
-// TODO(dgozman): remove content::DevToolsTarget once every embedder migrates
-// to this descriptor.
-class DevToolsTargetDescriptor : public content::DevToolsTarget {
+class DevToolsTargetDescriptor {
public:
using List = std::vector<DevToolsTargetDescriptor*>;
- ~DevToolsTargetDescriptor() override {}
+ virtual ~DevToolsTargetDescriptor() {}
+
+ // Returns the unique target id.
+ virtual std::string GetId() const = 0;
+
+ // Returns the id of the parent target, or empty string if no parent.
+ virtual std::string GetParentId() const = 0;
+
+ // Returns the target type.
+ virtual std::string GetType() const = 0;
+
+ // Returns the target title.
+ virtual std::string GetTitle() const = 0;
+
+ // Returns the target description.
+ virtual std::string GetDescription() const = 0;
+
+ // Returns the url associated with this target.
+ virtual GURL GetURL() const = 0;
+
+ // Returns the favicon url for this target.
+ virtual GURL GetFaviconURL() const = 0;
+
+ // Returns the time when the target was last active.
+ virtual base::TimeTicks GetLastActivityTime() const = 0;
+
+ // Returns true if the debugger is attached to the target.
+ virtual bool IsAttached() const = 0;
+
+ // Returns the agent host for this target.
+ virtual scoped_refptr<content::DevToolsAgentHost> GetAgentHost() const = 0;
+
+ // Activates the target. Returns false if the operation failed.
+ virtual bool Activate() const = 0;
+
+ // Closes the target. Returns false if the operation failed.
+ virtual bool Close() const = 0;
};
} // namespace devtools_discovery
diff --git a/components/devtools_http_handler.gypi b/components/devtools_http_handler.gypi
index 32f051d..1215e29 100644
--- a/components/devtools_http_handler.gypi
+++ b/components/devtools_http_handler.gypi
@@ -9,6 +9,7 @@
'type': 'static_library',
'dependencies': [
'../base/base.gyp:base',
+ '../components/components.gyp:devtools_discovery',
'../content/content.gyp:content_browser',
'../net/net.gyp:net',
'../net/net.gyp:http_server',
diff --git a/components/devtools_http_handler/BUILD.gn b/components/devtools_http_handler/BUILD.gn
index 61e618e..e37cb35 100644
--- a/components/devtools_http_handler/BUILD.gn
+++ b/components/devtools_http_handler/BUILD.gn
@@ -11,6 +11,7 @@ source_set("devtools_http_handler") {
deps = [
"//base",
+ "//components/devtools_discovery",
"//content/public/browser",
"//net",
"//net:http_server",
diff --git a/components/devtools_http_handler/DEPS b/components/devtools_http_handler/DEPS
index 3bcaf2e..c85bd3d 100644
--- a/components/devtools_http_handler/DEPS
+++ b/components/devtools_http_handler/DEPS
@@ -1,4 +1,5 @@
include_rules = [
+ "+components/devtools_discovery",
"+content/public/browser",
"+content/public/common",
"+content/public/test",
diff --git a/components/devtools_http_handler/devtools_http_handler.cc b/components/devtools_http_handler/devtools_http_handler.cc
index 184c039..2a72d06 100644
--- a/components/devtools_http_handler/devtools_http_handler.cc
+++ b/components/devtools_http_handler/devtools_http_handler.cc
@@ -17,11 +17,11 @@
#include "base/strings/stringprintf.h"
#include "base/threading/thread.h"
#include "base/values.h"
+#include "components/devtools_discovery/devtools_discovery_manager.h"
#include "components/devtools_http_handler/devtools_http_handler.h"
#include "components/devtools_http_handler/devtools_http_handler_delegate.h"
#include "content/public/browser/browser_thread.h"
#include "content/public/browser/devtools_agent_host.h"
-#include "content/public/browser/devtools_target.h"
#include "content/public/common/url_constants.h"
#include "content/public/common/user_agent.h"
#include "net/base/escape.h"
@@ -40,8 +40,7 @@
using content::BrowserThread;
using content::DevToolsAgentHost;
using content::DevToolsAgentHostClient;
-using content::DevToolsManagerDelegate;
-using content::DevToolsTarget;
+using devtools_discovery::DevToolsTargetDescriptor;
namespace devtools_http_handler {
@@ -319,9 +318,9 @@ class DevToolsAgentHostClientImpl : public DevToolsAgentHostClient {
scoped_refptr<DevToolsAgentHost> agent_host_;
};
-static bool TimeComparator(const DevToolsTarget* target1,
- const DevToolsTarget* target2) {
- return target1->GetLastActivityTime() > target2->GetLastActivityTime();
+static bool TimeComparator(const DevToolsTargetDescriptor* desc1,
+ const DevToolsTargetDescriptor* desc2) {
+ return desc1->GetLastActivityTime() > desc2->GetLastActivityTime();
}
// DevToolsHttpHandler::ServerSocketFactory ----------------------------------
@@ -341,7 +340,7 @@ DevToolsHttpHandler::ServerSocketFactory::CreateForTethering(
DevToolsHttpHandler::~DevToolsHttpHandler() {
TerminateOnUI(thread_, server_wrapper_, socket_factory_);
- STLDeleteValues(&target_map_);
+ STLDeleteValues(&descriptor_map_);
STLDeleteValues(&connection_to_client_);
}
@@ -565,14 +564,17 @@ void DevToolsHttpHandler::OnJsonRequest(
if (command == "list") {
std::string host = info.headers["host"];
- if (manager_delegate_) {
- manager_delegate_->EnumerateTargets(
- base::Bind(&DevToolsHttpHandler::OnTargetListReceivedWeak,
- weak_factory_.GetWeakPtr(), connection_id, host));
- } else {
- DevToolsManagerDelegate::TargetList empty_list;
- OnTargetListReceived(connection_id, host, empty_list);
+ DevToolsTargetDescriptor::List descriptors =
+ devtools_discovery::DevToolsDiscoveryManager::GetInstance()->
+ GetDescriptors();
+ std::sort(descriptors.begin(), descriptors.end(), TimeComparator);
+ STLDeleteValues(&descriptor_map_);
+ base::ListValue list_value;
+ for (DevToolsTargetDescriptor* descriptor : descriptors) {
+ descriptor_map_[descriptor->GetId()] = descriptor;
+ list_value.Append(SerializeDescriptor(*descriptor, host));
}
+ SendJson(connection_id, net::HTTP_OK, &list_value, std::string());
return;
}
@@ -581,10 +583,10 @@ void DevToolsHttpHandler::OnJsonRequest(
query, net::UnescapeRule::URL_SPECIAL_CHARS));
if (!url.is_valid())
url = GURL(url::kAboutBlankURL);
- scoped_ptr<DevToolsTarget> target;
- if (manager_delegate_)
- target = manager_delegate_->CreateNewTarget(url);
- if (!target) {
+ scoped_ptr<DevToolsTargetDescriptor> descriptor =
+ devtools_discovery::DevToolsDiscoveryManager::GetInstance()->
+ CreateNew(url);
+ if (!descriptor) {
SendJson(connection_id,
net::HTTP_INTERNAL_SERVER_ERROR,
NULL,
@@ -593,16 +595,16 @@ void DevToolsHttpHandler::OnJsonRequest(
}
std::string host = info.headers["host"];
scoped_ptr<base::DictionaryValue> dictionary(
- SerializeTarget(*target.get(), host));
+ SerializeDescriptor(*descriptor.get(), host));
SendJson(connection_id, net::HTTP_OK, dictionary.get(), std::string());
- const std::string target_id = target->GetId();
- target_map_[target_id] = target.release();
+ const std::string target_id = descriptor->GetId();
+ descriptor_map_[target_id] = descriptor.release();
return;
}
if (command == "activate" || command == "close") {
- DevToolsTarget* target = GetTarget(target_id);
- if (!target) {
+ DevToolsTargetDescriptor* descriptor = GetDescriptor(target_id);
+ if (!descriptor) {
SendJson(connection_id,
net::HTTP_NOT_FOUND,
NULL,
@@ -611,7 +613,7 @@ void DevToolsHttpHandler::OnJsonRequest(
}
if (command == "activate") {
- if (target->Activate()) {
+ if (descriptor->Activate()) {
SendJson(connection_id, net::HTTP_OK, NULL, "Target activated");
} else {
SendJson(connection_id,
@@ -623,7 +625,7 @@ void DevToolsHttpHandler::OnJsonRequest(
}
if (command == "close") {
- if (target->Close()) {
+ if (descriptor->Close()) {
SendJson(connection_id, net::HTTP_OK, NULL, "Target is closing");
} else {
SendJson(connection_id,
@@ -641,52 +643,21 @@ void DevToolsHttpHandler::OnJsonRequest(
return;
}
-// static
-void DevToolsHttpHandler::OnTargetListReceivedWeak(
- base::WeakPtr<DevToolsHttpHandler> handler,
- int connection_id,
- const std::string& host,
- const DevToolsManagerDelegate::TargetList& targets) {
- if (handler) {
- handler->OnTargetListReceived(connection_id, host, targets);
- } else {
- STLDeleteContainerPointers(targets.begin(), targets.end());
- }
-}
-
-void DevToolsHttpHandler::OnTargetListReceived(
- int connection_id,
- const std::string& host,
- const DevToolsManagerDelegate::TargetList& targets) {
- DevToolsManagerDelegate::TargetList sorted_targets = targets;
- std::sort(sorted_targets.begin(), sorted_targets.end(), TimeComparator);
-
- STLDeleteValues(&target_map_);
- base::ListValue list_value;
- for (DevToolsManagerDelegate::TargetList::const_iterator it =
- sorted_targets.begin(); it != sorted_targets.end(); ++it) {
- DevToolsTarget* target = *it;
- target_map_[target->GetId()] = target;
- list_value.Append(SerializeTarget(*target, host));
- }
- SendJson(connection_id, net::HTTP_OK, &list_value, std::string());
-}
-
-DevToolsTarget* DevToolsHttpHandler::GetTarget(const std::string& id) {
- TargetMap::const_iterator it = target_map_.find(id);
- if (it == target_map_.end())
- return NULL;
+DevToolsTargetDescriptor* DevToolsHttpHandler::GetDescriptor(
+ const std::string& target_id) {
+ DescriptorMap::const_iterator it = descriptor_map_.find(target_id);
+ if (it == descriptor_map_.end())
+ return nullptr;
return it->second;
}
void DevToolsHttpHandler::OnThumbnailRequest(
int connection_id, const std::string& target_id) {
- DevToolsTarget* target = GetTarget(target_id);
+ DevToolsTargetDescriptor* descriptor = GetDescriptor(target_id);
GURL page_url;
- if (target)
- page_url = target->GetURL();
- std::string data = manager_delegate_ ?
- manager_delegate_->GetPageThumbnailData(page_url) : "";
+ if (descriptor)
+ page_url = descriptor->GetURL();
+ std::string data = delegate_->GetPageThumbnailData(page_url);
if (!data.empty())
Send200(connection_id, data, "image/png");
else
@@ -731,18 +702,18 @@ void DevToolsHttpHandler::OnWebSocketRequest(
return;
}
- std::string page_id = request.path.substr(strlen(kPageUrlPrefix));
- DevToolsTarget* target = GetTarget(page_id);
+ std::string target_id = request.path.substr(strlen(kPageUrlPrefix));
+ DevToolsTargetDescriptor* descriptor = GetDescriptor(target_id);
scoped_refptr<DevToolsAgentHost> agent =
- target ? target->GetAgentHost() : NULL;
+ descriptor ? descriptor->GetAgentHost() : nullptr;
if (!agent.get()) {
- Send500(connection_id, "No such target id: " + page_id);
+ Send500(connection_id, "No such target id: " + target_id);
return;
}
if (agent->IsAttached()) {
Send500(connection_id,
- "Target with given id is being inspected: " + page_id);
+ "Target with given id is being inspected: " + target_id);
return;
}
@@ -775,7 +746,6 @@ DevToolsHttpHandler::DevToolsHttpHandler(
scoped_ptr<ServerSocketFactory> server_socket_factory,
const std::string& frontend_url,
DevToolsHttpHandlerDelegate* delegate,
- DevToolsManagerDelegate* manager_delegate,
const base::FilePath& output_directory,
const base::FilePath& debug_frontend_dir,
const std::string& product_name,
@@ -786,7 +756,6 @@ DevToolsHttpHandler::DevToolsHttpHandler(
user_agent_(user_agent),
server_wrapper_(nullptr),
delegate_(delegate),
- manager_delegate_(manager_delegate),
socket_factory_(nullptr),
weak_factory_(this) {
bool bundles_resources = frontend_url_.empty();
@@ -912,35 +881,34 @@ void DevToolsHttpHandler::AcceptWebSocket(
request));
}
-base::DictionaryValue* DevToolsHttpHandler::SerializeTarget(
- const DevToolsTarget& target,
+base::DictionaryValue* DevToolsHttpHandler::SerializeDescriptor(
+ const DevToolsTargetDescriptor& descriptor,
const std::string& host) {
base::DictionaryValue* dictionary = new base::DictionaryValue;
- std::string id = target.GetId();
+ std::string id = descriptor.GetId();
dictionary->SetString(kTargetIdField, id);
- std::string parent_id = target.GetParentId();
+ std::string parent_id = descriptor.GetParentId();
if (!parent_id.empty())
dictionary->SetString(kTargetParentIdField, parent_id);
- dictionary->SetString(kTargetTypeField, target.GetType());
+ dictionary->SetString(kTargetTypeField, descriptor.GetType());
dictionary->SetString(kTargetTitleField,
- net::EscapeForHTML(target.GetTitle()));
- dictionary->SetString(kTargetDescriptionField, target.GetDescription());
+ net::EscapeForHTML(descriptor.GetTitle()));
+ dictionary->SetString(kTargetDescriptionField, descriptor.GetDescription());
- GURL url = target.GetURL();
+ GURL url = descriptor.GetURL();
dictionary->SetString(kTargetUrlField, url.spec());
- GURL favicon_url = target.GetFaviconURL();
+ GURL favicon_url = descriptor.GetFaviconURL();
if (favicon_url.is_valid())
dictionary->SetString(kTargetFaviconUrlField, favicon_url.spec());
- if (manager_delegate_ &&
- !manager_delegate_->GetPageThumbnailData(url).empty()) {
+ if (!delegate_->GetPageThumbnailData(url).empty()) {
dictionary->SetString(kTargetThumbnailUrlField,
std::string(kThumbUrlPrefix) + id);
}
- if (!target.IsAttached()) {
+ if (!descriptor.IsAttached()) {
dictionary->SetString(kTargetWebSocketDebuggerUrlField,
base::StringPrintf("ws://%s%s%s",
host.c_str(),
diff --git a/components/devtools_http_handler/devtools_http_handler.h b/components/devtools_http_handler/devtools_http_handler.h
index 23a6773..5635b2d 100644
--- a/components/devtools_http_handler/devtools_http_handler.h
+++ b/components/devtools_http_handler/devtools_http_handler.h
@@ -11,7 +11,7 @@
#include "base/files/file_path.h"
#include "base/memory/scoped_ptr.h"
#include "base/memory/weak_ptr.h"
-#include "content/public/browser/devtools_manager_delegate.h"
+#include "components/devtools_discovery/devtools_target_descriptor.h"
#include "net/http/http_status_code.h"
class GURL;
@@ -64,13 +64,10 @@ class DevToolsHttpHandler {
// socket_factory was initialized with an ephemeral port (0). The
// port selected by the OS will be written to a well-known file in
// the output directory.
- // TODO(dgozman): remove |manager_delegate| by moving targets to another
- // component (http://crbug.com/476496).
DevToolsHttpHandler(
scoped_ptr<ServerSocketFactory> server_socket_factory,
const std::string& frontend_url,
DevToolsHttpHandlerDelegate* delegate,
- content::DevToolsManagerDelegate* manager_delegate,
const base::FilePath& active_port_output_directory,
const base::FilePath& debug_frontend_dir,
const std::string& product_name,
@@ -104,17 +101,8 @@ class DevToolsHttpHandler {
ServerSocketFactory* socket_factory,
scoped_ptr<net::IPEndPoint> ip_address);
- static void OnTargetListReceivedWeak(
- base::WeakPtr<DevToolsHttpHandler> handler,
- int connection_id,
- const std::string& host,
- const content::DevToolsManagerDelegate::TargetList& targets);
- void OnTargetListReceived(
- int connection_id,
- const std::string& host,
- const content::DevToolsManagerDelegate::TargetList& targets);
-
- content::DevToolsTarget* GetTarget(const std::string& id);
+ devtools_discovery::DevToolsTargetDescriptor* GetDescriptor(
+ const std::string& target_id);
void SendJson(int connection_id,
net::HttpStatusCode status_code,
@@ -133,8 +121,9 @@ class DevToolsHttpHandler {
std::string GetFrontendURLInternal(const std::string target_id,
const std::string& host);
- base::DictionaryValue* SerializeTarget(const content::DevToolsTarget& target,
- const std::string& host);
+ base::DictionaryValue* SerializeDescriptor(
+ const devtools_discovery::DevToolsTargetDescriptor& descriptor,
+ const std::string& host);
// The thread used by the devtools handler to run server socket.
base::Thread* thread_;
@@ -146,10 +135,10 @@ class DevToolsHttpHandler {
typedef std::map<int, DevToolsAgentHostClientImpl*> ConnectionToClientMap;
ConnectionToClientMap connection_to_client_;
const scoped_ptr<DevToolsHttpHandlerDelegate> delegate_;
- content::DevToolsManagerDelegate* manager_delegate_;
ServerSocketFactory* socket_factory_;
- typedef std::map<std::string, content::DevToolsTarget*> TargetMap;
- TargetMap target_map_;
+ using DescriptorMap =
+ std::map<std::string, devtools_discovery::DevToolsTargetDescriptor*>;
+ DescriptorMap descriptor_map_;
base::WeakPtrFactory<DevToolsHttpHandler> weak_factory_;
DISALLOW_COPY_AND_ASSIGN(DevToolsHttpHandler);
diff --git a/components/devtools_http_handler/devtools_http_handler_delegate.h b/components/devtools_http_handler/devtools_http_handler_delegate.h
index 83235ae..8a45ca1 100644
--- a/components/devtools_http_handler/devtools_http_handler_delegate.h
+++ b/components/devtools_http_handler/devtools_http_handler_delegate.h
@@ -7,7 +7,7 @@
#include <string>
-#include "base/files/file_path.h"
+#include "url/gurl.h"
namespace devtools_http_handler {
@@ -22,6 +22,10 @@ class DevToolsHttpHandlerDelegate {
// Returns frontend resource data by |path|. Only used if
// |BundlesFrontendResources| returns |true|.
virtual std::string GetFrontendResource(const std::string& path) = 0;
+
+ // Get a thumbnail for a given page. Returns non-empty string iff we have the
+ // thumbnail.
+ virtual std::string GetPageThumbnailData(const GURL& url) = 0;
};
} // namespace devtools_http_handler
diff --git a/components/devtools_http_handler/devtools_http_handler_unittest.cc b/components/devtools_http_handler/devtools_http_handler_unittest.cc
index 6b794c2..d2fdbbc 100644
--- a/components/devtools_http_handler/devtools_http_handler_unittest.cc
+++ b/components/devtools_http_handler/devtools_http_handler_unittest.cc
@@ -7,9 +7,9 @@
#include "base/message_loop/message_loop.h"
#include "base/run_loop.h"
#include "base/strings/string_number_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/devtools_target.h"
#include "content/public/test/test_browser_thread_bundle.h"
#include "content/public/test/test_utils.h"
#include "net/base/ip_endpoint.h"
@@ -98,33 +98,6 @@ class DummyDelegate : public DevToolsHttpHandlerDelegate {
std::string GetFrontendResource(const std::string& path) override {
return std::string();
}
-};
-
-class DummyManagerDelegate : public content::DevToolsManagerDelegate {
- public:
- ~DummyManagerDelegate() override {}
-
- void Inspect(content::BrowserContext* browser_context,
- content::DevToolsAgentHost* agent_host) override {}
-
- void DevToolsAgentStateChanged(content::DevToolsAgentHost* agent_host,
- bool attached) override {}
-
- base::DictionaryValue* HandleCommand(
- content::DevToolsAgentHost* agent_host,
- base::DictionaryValue* command) override {
- return NULL;
- }
-
- scoped_ptr<content::DevToolsTarget> CreateNewTarget(
- const GURL& url) override {
- return scoped_ptr<content::DevToolsTarget>();
- }
-
- void EnumerateTargets(TargetCallback callback) override {
- TargetList result;
- callback.Run(result);
- }
std::string GetPageThumbnailData(const GURL& url) override {
return std::string();
@@ -137,9 +110,6 @@ class DevToolsHttpHandlerTest : public testing::Test {
public:
DevToolsHttpHandlerTest() : testing::Test() { }
- protected:
- DummyManagerDelegate manager_delegate_;
-
private:
content::TestBrowserThreadBundle thread_bundle_;
};
@@ -153,7 +123,6 @@ TEST_F(DevToolsHttpHandlerTest, TestStartStop) {
new DevToolsHttpHandler(factory.Pass(),
std::string(),
new DummyDelegate(),
- &manager_delegate_,
base::FilePath(),
base::FilePath(),
std::string(),
@@ -175,7 +144,6 @@ TEST_F(DevToolsHttpHandlerTest, TestServerSocketFailed) {
new DevToolsHttpHandler(factory.Pass(),
std::string(),
new DummyDelegate(),
- &manager_delegate_,
base::FilePath(),
base::FilePath(),
std::string(),
@@ -204,7 +172,6 @@ TEST_F(DevToolsHttpHandlerTest, TestDevToolsActivePort) {
new DevToolsHttpHandler(factory.Pass(),
std::string(),
new DummyDelegate(),
- &manager_delegate_,
temp_dir.path(),
base::FilePath(),
std::string(),
diff --git a/content/browser/devtools/devtools_manager_unittest.cc b/content/browser/devtools/devtools_manager_unittest.cc
index 5231d5e..0e0ba3f 100644
--- a/content/browser/devtools/devtools_manager_unittest.cc
+++ b/content/browser/devtools/devtools_manager_unittest.cc
@@ -15,7 +15,6 @@
#include "content/public/browser/devtools_agent_host.h"
#include "content/public/browser/devtools_external_agent_proxy.h"
#include "content/public/browser/devtools_external_agent_proxy_delegate.h"
-#include "content/public/browser/devtools_target.h"
#include "content/public/browser/web_contents_delegate.h"
#include "content/public/test/test_utils.h"
#include "content/test/test_content_browser_client.h"
@@ -95,100 +94,17 @@ class TestWebContentsDelegate : public WebContentsDelegate {
bool renderer_unresponsive_received_;
};
-class TestTarget : public DevToolsTarget {
- public:
- explicit TestTarget(scoped_refptr<DevToolsAgentHost> agent_host)
- : agent_host_(agent_host) {}
- ~TestTarget() override {}
-
- std::string GetId() const override { return agent_host_->GetId(); }
- std::string GetParentId() const override { return std::string(); }
- std::string GetType() const override { return std::string(); }
- std::string GetTitle() const override { return agent_host_->GetTitle(); }
- std::string GetDescription() const override { return std::string(); }
- GURL GetURL() const override { return agent_host_->GetURL(); }
- GURL GetFaviconURL() const override { return GURL(); }
- base::TimeTicks GetLastActivityTime() const override {
- return base::TimeTicks();
- }
- bool IsAttached() const override { return agent_host_->IsAttached(); }
- scoped_refptr<DevToolsAgentHost> GetAgentHost() const override {
- return agent_host_;
- }
- bool Activate() const override { return agent_host_->Activate(); }
- bool Close() const override { return agent_host_->Close(); }
-
- private:
- scoped_refptr<DevToolsAgentHost> agent_host_;
-};
-
-class TestDevToolsManagerDelegate : public DevToolsManagerDelegate {
- public:
- ~TestDevToolsManagerDelegate() override {}
-
- void Inspect(BrowserContext* browser_context,
- DevToolsAgentHost* agent_host) override {}
-
- void DevToolsAgentStateChanged(DevToolsAgentHost* agent_host,
- bool attached) override {}
-
- base::DictionaryValue* HandleCommand(
- DevToolsAgentHost* agent_host,
- base::DictionaryValue* command) override {
- return NULL;
- }
-
- scoped_ptr<DevToolsTarget> CreateNewTarget(const GURL& url) override {
- return scoped_ptr<DevToolsTarget>();
- }
-
- void EnumerateTargets(TargetCallback callback) override {
- TargetList result;
- DevToolsAgentHost::List agents = DevToolsAgentHost::GetOrCreateAll();
- for (DevToolsAgentHost::List::iterator it = agents.begin();
- it != agents.end(); ++it) {
- if ((*it)->GetType() == DevToolsAgentHost::TYPE_WEB_CONTENTS)
- result.insert(result.begin(), new TestTarget(*it));
- else
- result.push_back(new TestTarget(*it));
- }
- callback.Run(result);
- }
-
- std::string GetPageThumbnailData(const GURL& url) override {
- return std::string();
- }
-};
-
-class ContentBrowserClientWithDevTools : public TestContentBrowserClient {
- public:
- ~ContentBrowserClientWithDevTools() override {}
- content::DevToolsManagerDelegate* GetDevToolsManagerDelegate() override {
- return new TestDevToolsManagerDelegate();
- }
-};
-
} // namespace
class DevToolsManagerTest : public RenderViewHostImplTestHarness {
public:
- DevToolsManagerTest()
- : old_browser_client_(NULL) {}
+ DevToolsManagerTest() {}
protected:
void SetUp() override {
RenderViewHostImplTestHarness::SetUp();
TestDevToolsClientHost::ResetCounters();
- old_browser_client_ = SetBrowserClientForTesting(&browser_client_);
}
-
- void TearDown() override {
- SetBrowserClientForTesting(old_browser_client_);
- RenderViewHostImplTestHarness::TearDown();
- }
-
- ContentBrowserClientWithDevTools browser_client_;
- ContentBrowserClient* old_browser_client_;
};
TEST_F(DevToolsManagerTest, OpenAndManuallyCloseDevToolsClientHost) {
diff --git a/content/content_browser.gypi b/content/content_browser.gypi
index ee1d740..a372c41 100644
--- a/content/content_browser.gypi
+++ b/content/content_browser.gypi
@@ -113,7 +113,6 @@
'public/browser/devtools_external_agent_proxy_delegate.h',
'public/browser/devtools_frontend_host.h',
'public/browser/devtools_manager_delegate.h',
- 'public/browser/devtools_target.h',
'public/browser/dom_operation_notification_details.h',
'public/browser/dom_storage_context.h',
'public/browser/download_danger_type.h',
diff --git a/content/public/browser/devtools_manager_delegate.h b/content/public/browser/devtools_manager_delegate.h
index 5ebd854..d34e7af 100644
--- a/content/public/browser/devtools_manager_delegate.h
+++ b/content/public/browser/devtools_manager_delegate.h
@@ -5,22 +5,14 @@
#ifndef CONTENT_PUBLIC_BROWSER_DEVTOOLS_MANAGER_DELEGATE_H_
#define CONTENT_PUBLIC_BROWSER_DEVTOOLS_MANAGER_DELEGATE_H_
-#include <string>
-#include <vector>
-
-#include "base/callback.h"
-
namespace base {
class DictionaryValue;
}
-class GURL;
-
namespace content {
class BrowserContext;
class DevToolsAgentHost;
-class DevToolsTarget;
class DevToolsManagerDelegate {
public:
@@ -37,20 +29,6 @@ class DevToolsManagerDelegate {
virtual base::DictionaryValue* HandleCommand(
DevToolsAgentHost* agent_host,
base::DictionaryValue* command) = 0;
-
- // Creates new inspectable target.
- virtual scoped_ptr<DevToolsTarget> CreateNewTarget(const GURL& url) = 0;
-
- typedef std::vector<DevToolsTarget*> TargetList;
- typedef base::Callback<void(const TargetList&)> TargetCallback;
-
- // Requests the list of all inspectable targets.
- // The caller gets the ownership of the returned targets.
- virtual void EnumerateTargets(TargetCallback callback) = 0;
-
- // Get a thumbnail for a given page. Returns non-empty string iff we have the
- // thumbnail.
- virtual std::string GetPageThumbnailData(const GURL& url) = 0;
};
} // namespace content
diff --git a/content/public/browser/devtools_target.h b/content/public/browser/devtools_target.h
deleted file mode 100644
index 8008535..0000000
--- a/content/public/browser/devtools_target.h
+++ /dev/null
@@ -1,67 +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 CONTENT_PUBLIC_BROWSER_DEVTOOLS_TARGET_H_
-#define CONTENT_PUBLIC_BROWSER_DEVTOOLS_TARGET_H_
-
-#include <string>
-
-#include "base/basictypes.h"
-#include "base/memory/ref_counted.h"
-#include "base/time/time.h"
-#include "content/common/content_export.h"
-#include "url/gurl.h"
-
-namespace content {
-
-class DevToolsAgentHost;
-
-// DevToolsTarget represents an inspectable target and can be used to
-// manipulate the target and query its details.
-// Instantiation and discovery of DevToolsTarget instances is the responsibility
-// of DevToolsHttpHandlerDelegate.
-class DevToolsTarget {
- public:
- virtual ~DevToolsTarget() {}
-
- // Returns the unique target id.
- virtual std::string GetId() const = 0;
-
- // Returns the id of the parent target, or empty string if no parent.
- virtual std::string GetParentId() const = 0;
-
- // Returns the target type.
- virtual std::string GetType() const = 0;
-
- // Returns the target title.
- virtual std::string GetTitle() const = 0;
-
- // Returns the target description.
- virtual std::string GetDescription() const = 0;
-
- // Returns the url associated with this target.
- virtual GURL GetURL() const = 0;
-
- // Returns the favicon url for this target.
- virtual GURL GetFaviconURL() const = 0;
-
- // Returns the time when the target was last active.
- virtual base::TimeTicks GetLastActivityTime() const = 0;
-
- // Returns true if the debugger is attached to the target.
- virtual bool IsAttached() const = 0;
-
- // Returns the agent host for this target.
- virtual scoped_refptr<DevToolsAgentHost> GetAgentHost() const = 0;
-
- // Activates the target. Returns false if the operation failed.
- virtual bool Activate() const = 0;
-
- // Closes the target. Returns false if the operation failed.
- virtual bool Close() const = 0;
-};
-
-} // namespace content
-
-#endif // CONTENT_PUBLIC_BROWSER_DEVTOOLS_TARGET_H_
diff --git a/content/shell/browser/shell_devtools_manager_delegate.cc b/content/shell/browser/shell_devtools_manager_delegate.cc
index cda44f8..eab3849 100644
--- a/content/shell/browser/shell_devtools_manager_delegate.cc
+++ b/content/shell/browser/shell_devtools_manager_delegate.cc
@@ -17,7 +17,6 @@
#include "components/devtools_http_handler/devtools_http_handler.h"
#include "content/public/browser/devtools_agent_host.h"
#include "content/public/browser/devtools_frontend_host.h"
-#include "content/public/browser/devtools_target.h"
#include "content/public/browser/favicon_status.h"
#include "content/public/browser/navigation_entry.h"
#include "content/public/browser/render_view_host.h"
@@ -153,6 +152,7 @@ class ShellDevToolsDelegate :
// devtools_http_handler::DevToolsHttpHandlerDelegate implementation.
std::string GetDiscoveryPageHTML() override;
std::string GetFrontendResource(const std::string& path) override;
+ std::string GetPageThumbnailData(const GURL& url) override;
private:
BrowserContext* browser_context_;
@@ -187,6 +187,10 @@ std::string ShellDevToolsDelegate::GetFrontendResource(
return content::DevToolsFrontendHost::GetFrontendResource(path).as_string();
}
+std::string ShellDevToolsDelegate::GetPageThumbnailData(const GURL& url) {
+ return std::string();
+}
+
} // namespace
// ShellDevToolsManagerDelegate ----------------------------------------------
@@ -203,7 +207,6 @@ ShellDevToolsManagerDelegate::CreateHttpHandler(
CreateSocketFactory(),
frontend_url,
new ShellDevToolsDelegate(browser_context),
- new ShellDevToolsManagerDelegate(browser_context),
base::FilePath(),
base::FilePath(),
std::string(),
@@ -224,25 +227,4 @@ base::DictionaryValue* ShellDevToolsManagerDelegate::HandleCommand(
return NULL;
}
-std::string ShellDevToolsManagerDelegate::GetPageThumbnailData(
- const GURL& url) {
- return std::string();
-}
-
-scoped_ptr<DevToolsTarget>
-ShellDevToolsManagerDelegate::CreateNewTarget(const GURL& url) {
- devtools_discovery::DevToolsDiscoveryManager* discovery_manager =
- devtools_discovery::DevToolsDiscoveryManager::GetInstance();
- return discovery_manager->CreateNew(url);
-}
-
-void ShellDevToolsManagerDelegate::EnumerateTargets(TargetCallback callback) {
- TargetList targets;
- devtools_discovery::DevToolsDiscoveryManager* discovery_manager =
- devtools_discovery::DevToolsDiscoveryManager::GetInstance();
- for (const auto& descriptor : discovery_manager->GetDescriptors())
- targets.push_back(descriptor);
- callback.Run(targets);
-}
-
} // namespace content
diff --git a/content/shell/browser/shell_devtools_manager_delegate.h b/content/shell/browser/shell_devtools_manager_delegate.h
index 702aa1d..4671d18 100644
--- a/content/shell/browser/shell_devtools_manager_delegate.h
+++ b/content/shell/browser/shell_devtools_manager_delegate.h
@@ -33,9 +33,6 @@ class ShellDevToolsManagerDelegate : public DevToolsManagerDelegate {
bool attached) override {}
base::DictionaryValue* HandleCommand(DevToolsAgentHost* agent_host,
base::DictionaryValue* command) override;
- scoped_ptr<DevToolsTarget> CreateNewTarget(const GURL& url) override;
- void EnumerateTargets(TargetCallback callback) override;
- std::string GetPageThumbnailData(const GURL& url) override;
private:
BrowserContext* browser_context_;