Chromium Code Reviews| Index: android_webview/native/aw_dev_tools_server.cc |
| diff --git a/android_webview/native/aw_dev_tools_server.cc b/android_webview/native/aw_dev_tools_server.cc |
| index f00b2df9f801334dcfe110c805351962e604b368..b6b0c4e98e73e6319dae4a51eecfb42a3d59ddab 100644 |
| --- a/android_webview/native/aw_dev_tools_server.cc |
| +++ b/android_webview/native/aw_dev_tools_server.cc |
| @@ -14,10 +14,9 @@ |
| #include "base/strings/stringprintf.h" |
| #include "base/strings/utf_string_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/android/devtools_auth.h" |
| #include "content/public/browser/devtools_agent_host.h" |
| +#include "content/public/browser/devtools_manager_delegate.h" |
| #include "content/public/browser/devtools_socket_factory.h" |
| #include "content/public/browser/web_contents.h" |
| #include "content/public/common/user_agent.h" |
| @@ -27,9 +26,9 @@ |
| using base::android::JavaParamRef; |
| using content::DevToolsAgentHost; |
| +using content::RenderFrameHost; |
| using content::RenderViewHost; |
| using content::WebContents; |
| -using devtools_http_handler::DevToolsHttpHandler; |
| namespace { |
| @@ -42,23 +41,55 @@ const int kBackLog = 10; |
| // 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 devtools_http_handler::DevToolsHttpHandlerDelegate { |
| +class AwDevToolsServerDelegate : public content::DevToolsManagerDelegate { |
| public: |
| AwDevToolsServerDelegate() { |
| } |
| ~AwDevToolsServerDelegate() override {} |
| - // devtools_http_handler::DevToolsHttpHandlerDelegate implementation. |
| + // content::DevToolsManagerDelegate implementation. |
| + void Inspect(DevToolsAgentHost* agent_host) override; |
| + void DevToolsAgentStateChanged(DevToolsAgentHost* agent_host, |
| + bool attached) override; |
| + std::string GetTargetType(RenderFrameHost* host) override; |
|
dgozman
2016/09/02 19:33:07
Let's turn SetDescription into GetTargetDescriptio
|
| + std::string GetTargetTitle(RenderFrameHost* host) override; |
| + scoped_refptr<DevToolsAgentHost> CreateNewTarget(const GURL& url) override; |
| + base::DictionaryValue* HandleCommand( |
| + DevToolsAgentHost* agent_host, |
| + base::DictionaryValue* command) override; |
| std::string GetDiscoveryPageHTML() override; |
| std::string GetFrontendResource(const std::string& path) override; |
| private: |
| - |
| DISALLOW_COPY_AND_ASSIGN(AwDevToolsServerDelegate); |
| }; |
| +void AwDevToolsServerDelegate::Inspect(DevToolsAgentHost* agent_host) { |
| +} |
| + |
| +void AwDevToolsServerDelegate::DevToolsAgentStateChanged( |
| + DevToolsAgentHost* agent_host, bool attached) { |
| +} |
| + |
| +std::string AwDevToolsServerDelegate::GetTargetType(RenderFrameHost* host) { |
| + return "webview"; |
| +} |
| + |
| +std::string AwDevToolsServerDelegate::GetTargetTitle(RenderFrameHost* host) { |
| + return std::string(); |
| +} |
| + |
| +scoped_refptr<DevToolsAgentHost> AwDevToolsServerDelegate::CreateNewTarget( |
| + const GURL& url) { |
| + return nullptr; |
| +} |
| + |
| +base::DictionaryValue* AwDevToolsServerDelegate::HandleCommand( |
| + DevToolsAgentHost* agent_host, |
| + base::DictionaryValue* command) { |
| + return nullptr; |
| +} |
| std::string AwDevToolsServerDelegate::GetDiscoveryPageHTML() { |
| const char html[] = |
| @@ -84,7 +115,7 @@ class UnixDomainServerSocketFactory : public content::DevToolsSocketFactory { |
| } |
| private: |
| - // devtools_http_handler::DevToolsHttpHandler::ServerSocketFactory. |
| + // content::DevToolsAgentHost::ServerSocketFactory. |
| std::unique_ptr<net::ServerSocket> CreateForHttpServer() override { |
| std::unique_ptr<net::UnixDomainServerSocket> socket( |
| new net::UnixDomainServerSocket( |
| @@ -120,7 +151,7 @@ class UnixDomainServerSocketFactory : public content::DevToolsSocketFactory { |
| namespace android_webview { |
| -AwDevToolsServer::AwDevToolsServer() { |
| +AwDevToolsServer::AwDevToolsServer() : is_started_(false) { |
| } |
| AwDevToolsServer::~AwDevToolsServer() { |
| @@ -128,25 +159,27 @@ AwDevToolsServer::~AwDevToolsServer() { |
| } |
| void AwDevToolsServer::Start() { |
| - if (devtools_http_handler_) |
| + if (is_started_) |
| return; |
| + is_started_ = true; |
| std::unique_ptr<content::DevToolsSocketFactory> factory( |
| new UnixDomainServerSocketFactory( |
| base::StringPrintf(kSocketNameFormat, getpid()))); |
| - devtools_http_handler_.reset(new DevToolsHttpHandler( |
| + DevToolsAgentHost::StartRemoteDebuggingServer( |
| std::move(factory), |
| base::StringPrintf(kFrontEndURL, content::GetWebKitRevision().c_str()), |
| - new AwDevToolsServerDelegate(), base::FilePath(), base::FilePath(), |
| - GetProduct(), GetUserAgent())); |
| + base::FilePath(), base::FilePath(), |
| + GetProduct(), GetUserAgent()); |
| } |
| void AwDevToolsServer::Stop() { |
| - devtools_http_handler_.reset(); |
| + DevToolsAgentHost::StopRemoteDebuggingServer(); |
| + is_started_ = false; |
| } |
| bool AwDevToolsServer::IsStarted() const { |
| - return !!devtools_http_handler_; |
| + return is_started_; |
| } |
| bool RegisterAwDevToolsServer(JNIEnv* env) { |