| 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(
|
|
|