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

Unified Diff: content/browser/devtools/devtools_agent_host_impl.cc

Issue 2272213003: DevTools: remove devtools_discovery (merged into content). (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: build fix Created 4 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: content/browser/devtools/devtools_agent_host_impl.cc
diff --git a/content/browser/devtools/devtools_agent_host_impl.cc b/content/browser/devtools/devtools_agent_host_impl.cc
index fdd38d13c14ca9d1d392da80161aa31ebbc01ad0..f9e06738b267f2b30fa447c563c4a20a1a605514 100644
--- a/content/browser/devtools/devtools_agent_host_impl.cc
+++ b/content/browser/devtools/devtools_agent_host_impl.cc
@@ -25,10 +25,14 @@ namespace {
typedef std::map<std::string, DevToolsAgentHostImpl*> Instances;
base::LazyInstance<Instances>::Leaky g_instances = LAZY_INSTANCE_INITIALIZER;
-typedef std::vector<const DevToolsAgentHost::AgentStateCallback*>
- AgentStateCallbacks;
+using AgentStateCallbacks =
+ std::vector<const DevToolsAgentHost::AgentStateCallback*>;
base::LazyInstance<AgentStateCallbacks>::Leaky g_callbacks =
LAZY_INSTANCE_INITIALIZER;
+using DiscoveryCallbacks =
+ std::vector<DevToolsAgentHost::DiscoveryCallback>;
+base::LazyInstance<DiscoveryCallbacks>::Leaky g_providers =
+ LAZY_INSTANCE_INITIALIZER;
} // namespace
char DevToolsAgentHost::kTypePage[] = "page";
@@ -40,6 +44,12 @@ char DevToolsAgentHost::kTypeBrowser[] = "browser";
char DevToolsAgentHost::kTypeOther[] = "other";
// static
+DevToolsManagerDelegate* DevToolsAgentHost::GetDevToolsManagerDelegate() {
+ DevToolsManager* manager = DevToolsManager::GetInstance();
+ return manager->delegate();
+}
+
+// static
std::string DevToolsAgentHost::GetProtocolVersion() {
return std::string(devtools::kProtocolVersion);
}
@@ -50,6 +60,12 @@ bool DevToolsAgentHost::IsSupportedProtocolVersion(const std::string& version) {
}
// static
+void DevToolsAgentHost::AddDiscoveryProvider(
+ const DiscoveryCallback& callback) {
+ g_providers.Get().push_back(callback);
+}
+
+// static
DevToolsAgentHost::List DevToolsAgentHost::GetOrCreateAll() {
List result;
SharedWorkerDevToolsAgentHost::List shared_list;
@@ -66,6 +82,20 @@ DevToolsAgentHost::List DevToolsAgentHost::GetOrCreateAll() {
return result;
}
+// static
+DevToolsAgentHost::List DevToolsAgentHost::DiscoverAllHosts() {
+ content::DevToolsAgentHost::List result;
+ // Force create all the delegates.
+ DevToolsManager::GetInstance();
+ if (!g_providers.Get().size())
+ return DevToolsAgentHost::GetOrCreateAll();
+ for (auto& provider : g_providers.Get()) {
+ content::DevToolsAgentHost::List partial = provider.Run();
+ result.insert(result.begin(), partial.begin(), partial.end());
+ }
+ return result;
+}
+
// Called on the UI thread.
// static
scoped_refptr<DevToolsAgentHost> DevToolsAgentHost::GetForWorker(
« no previous file with comments | « components/devtools_http_handler/devtools_http_handler.cc ('k') | content/browser/devtools/protocol/browser_handler.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698