| Index: chrome/browser/android/devtools_manager_delegate_android.cc
|
| diff --git a/chrome/browser/android/dev_tools_discovery_provider_android.cc b/chrome/browser/android/devtools_manager_delegate_android.cc
|
| similarity index 72%
|
| rename from chrome/browser/android/dev_tools_discovery_provider_android.cc
|
| rename to chrome/browser/android/devtools_manager_delegate_android.cc
|
| index 906c52d46123efdc458965eca89615f81a5135e6..051817fc56e30564ab166c0d244443533d929d22 100644
|
| --- a/chrome/browser/android/dev_tools_discovery_provider_android.cc
|
| +++ b/chrome/browser/android/devtools_manager_delegate_android.cc
|
| @@ -2,25 +2,21 @@
|
| // 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_discovery_provider_android.h"
|
| +#include "chrome/browser/android/devtools_manager_delegate_android.h"
|
|
|
| #include "base/bind.h"
|
| -#include "base/compiler_specific.h"
|
| -#include "base/macros.h"
|
| -#include "base/memory/ptr_util.h"
|
| #include "base/strings/string_number_conversions.h"
|
| #include "base/strings/utf_string_conversions.h"
|
| +#include "build/build_config.h"
|
| #include "chrome/browser/android/tab_android.h"
|
| -#include "chrome/browser/browser_process.h"
|
| +#include "chrome/browser/devtools/devtools_network_protocol_handler.h"
|
| #include "chrome/browser/ui/android/tab_model/tab_model.h"
|
| #include "chrome/browser/ui/android/tab_model/tab_model_list.h"
|
| -#include "components/devtools_discovery/devtools_discovery_manager.h"
|
| +#include "chrome/common/features.h"
|
| #include "content/public/browser/devtools_agent_host.h"
|
| #include "content/public/browser/devtools_agent_host_client.h"
|
| #include "content/public/browser/devtools_external_agent_proxy.h"
|
| #include "content/public/browser/devtools_external_agent_proxy_delegate.h"
|
| -#include "content/public/browser/favicon_status.h"
|
| -#include "content/public/browser/navigation_entry.h"
|
| #include "content/public/browser/web_contents.h"
|
|
|
| using content::DevToolsAgentHost;
|
| @@ -157,41 +153,13 @@ class TabProxyDelegate : public content::DevToolsExternalAgentProxyDelegate,
|
| const int tab_id_;
|
| const std::string title_;
|
| const GURL url_;
|
| - scoped_refptr<content::DevToolsAgentHost> agent_host_;
|
| + scoped_refptr<DevToolsAgentHost> agent_host_;
|
| content::DevToolsExternalAgentProxy* proxy_;
|
| DISALLOW_COPY_AND_ASSIGN(TabProxyDelegate);
|
| };
|
|
|
| -scoped_refptr<content::DevToolsAgentHost> CreateNewAndroidTab(const GURL& url) {
|
| - if (TabModelList::empty())
|
| - return nullptr;
|
| -
|
| - TabModel* tab_model = TabModelList::get(0);
|
| - if (!tab_model)
|
| - return nullptr;
|
| -
|
| - WebContents* web_contents = tab_model->CreateNewTabForDevTools(url);
|
| - if (!web_contents)
|
| - return nullptr;
|
| -
|
| - TabAndroid* tab = TabAndroid::FromWebContents(web_contents);
|
| - if (!tab)
|
| - return nullptr;
|
| -
|
| - return content::DevToolsAgentHost::Create(new TabProxyDelegate(tab));
|
| -}
|
| -
|
| -} // namespace
|
| -
|
| -DevToolsDiscoveryProviderAndroid::DevToolsDiscoveryProviderAndroid() {
|
| -}
|
| -
|
| -DevToolsDiscoveryProviderAndroid::~DevToolsDiscoveryProviderAndroid() {
|
| -}
|
| -
|
| -content::DevToolsAgentHost::List
|
| -DevToolsDiscoveryProviderAndroid::GetDescriptors() {
|
| - content::DevToolsAgentHost::List result;
|
| +DevToolsAgentHost::List GetDescriptors() {
|
| + DevToolsAgentHost::List result;
|
|
|
| // Enumerate existing tabs, including the ones with no WebContents.
|
| std::set<WebContents*> tab_web_contents;
|
| @@ -203,7 +171,7 @@ DevToolsDiscoveryProviderAndroid::GetDescriptors() {
|
| if (!tab)
|
| continue;
|
|
|
| - scoped_refptr<content::DevToolsAgentHost> host =
|
| + scoped_refptr<DevToolsAgentHost> host =
|
| DevToolsAgentHost::Create(new TabProxyDelegate(tab));
|
| }
|
| }
|
| @@ -222,11 +190,67 @@ DevToolsDiscoveryProviderAndroid::GetDescriptors() {
|
| return result;
|
| }
|
|
|
| -// static
|
| -void DevToolsDiscoveryProviderAndroid::Install() {
|
| - devtools_discovery::DevToolsDiscoveryManager* discovery_manager =
|
| - devtools_discovery::DevToolsDiscoveryManager::GetInstance();
|
| - discovery_manager->AddProvider(
|
| - base::WrapUnique(new DevToolsDiscoveryProviderAndroid()));
|
| - discovery_manager->SetCreateCallback(base::Bind(&CreateNewAndroidTab));
|
| +} // namespace
|
| +
|
| +DevToolsManagerDelegateAndroid::DevToolsManagerDelegateAndroid()
|
| + : network_protocol_handler_(new DevToolsNetworkProtocolHandler()) {
|
| +#if BUILDFLAG(ANDROID_JAVA_UI)
|
| + DevToolsAgentHost::AddDiscoveryProvider(base::Bind(&GetDescriptors));
|
| +#endif // BUILDFLAG(ANDROID_JAVA_UI)
|
| +}
|
| +
|
| +DevToolsManagerDelegateAndroid::~DevToolsManagerDelegateAndroid() {
|
| +}
|
| +
|
| +void DevToolsManagerDelegateAndroid::Inspect(
|
| + DevToolsAgentHost* agent_host) {
|
| +}
|
| +
|
| +base::DictionaryValue* DevToolsManagerDelegateAndroid::HandleCommand(
|
| + DevToolsAgentHost* agent_host,
|
| + base::DictionaryValue* command_dict) {
|
| + return network_protocol_handler_->HandleCommand(agent_host, command_dict);
|
| +}
|
| +
|
| +std::string DevToolsManagerDelegateAndroid::GetTargetType(
|
| + content::RenderFrameHost* host) {
|
| + content::WebContents* web_contents =
|
| + content::WebContents::FromRenderFrameHost(host);
|
| + TabAndroid* tab = web_contents ? TabAndroid::FromWebContents(web_contents)
|
| + : nullptr;
|
| + return tab ? DevToolsAgentHost::kTypePage :
|
| + DevToolsAgentHost::kTypeOther;
|
| +}
|
| +
|
| +std::string DevToolsManagerDelegateAndroid::GetTargetTitle(
|
| + content::RenderFrameHost* host) {
|
| + content::WebContents* web_contents =
|
| + content::WebContents::FromRenderFrameHost(host);
|
| + TabAndroid* tab = TabAndroid::FromWebContents(web_contents);
|
| + return tab ? base::UTF16ToUTF8(tab->GetTitle()) : "";
|
| +}
|
| +
|
| +scoped_refptr<DevToolsAgentHost>
|
| +DevToolsManagerDelegateAndroid::CreateNewTarget(const GURL& url) {
|
| + if (TabModelList::empty())
|
| + return nullptr;
|
| +
|
| + TabModel* tab_model = TabModelList::get(0);
|
| + if (!tab_model)
|
| + return nullptr;
|
| +
|
| + WebContents* web_contents = tab_model->CreateNewTabForDevTools(url);
|
| + if (!web_contents)
|
| + return nullptr;
|
| +
|
| + TabAndroid* tab = TabAndroid::FromWebContents(web_contents);
|
| + if (!tab)
|
| + return nullptr;
|
| +
|
| + return DevToolsAgentHost::Create(new TabProxyDelegate(tab));
|
| +}
|
| +
|
| +void DevToolsManagerDelegateAndroid::DevToolsAgentStateChanged(
|
| + DevToolsAgentHost* agent_host, bool attached) {
|
| + network_protocol_handler_->DevToolsAgentStateChanged(agent_host, attached);
|
| }
|
|
|