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) { |