| 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 90b72d18a441113b584515e13742b6c541463475..48bfa5424e74dcf165d837b9af61a07d927d0a59 100644
|
| --- a/android_webview/native/aw_dev_tools_server.cc
|
| +++ b/android_webview/native/aw_dev_tools_server.cc
|
| @@ -31,20 +31,22 @@ const char kFrontEndURL[] =
|
| "http://chrome-devtools-frontend.appspot.com/serve_rev/%s/devtools.html";
|
| const char kSocketNameFormat[] = "webview_devtools_remote_%d";
|
|
|
| -const char kTargetTypePage[] = "page";
|
| -
|
| std::string GetViewDescription(WebContents* web_contents);
|
|
|
| class Target : public content::DevToolsTarget {
|
| public:
|
| - explicit Target(WebContents* web_contents);
|
| + explicit Target(scoped_refptr<DevToolsAgentHost> agent_host);
|
|
|
| - virtual std::string GetId() const OVERRIDE { return id_; }
|
| + virtual std::string GetId() const OVERRIDE { return agent_host_->GetId(); }
|
| virtual std::string GetParentId() const OVERRIDE { return std::string(); }
|
| - virtual std::string GetType() const OVERRIDE { return kTargetTypePage; }
|
| - virtual std::string GetTitle() const OVERRIDE { return title_; }
|
| + virtual std::string GetType() const OVERRIDE {
|
| + return agent_host_->GetType();
|
| + }
|
| + virtual std::string GetTitle() const OVERRIDE {
|
| + return agent_host_->GetTitle();
|
| + }
|
| virtual std::string GetDescription() const OVERRIDE { return description_; }
|
| - virtual GURL GetURL() const OVERRIDE { return url_; }
|
| + virtual GURL GetURL() const OVERRIDE { return agent_host_->GetURL(); }
|
| virtual GURL GetFaviconURL() const OVERRIDE { return GURL(); }
|
| virtual base::TimeTicks GetLastActivityTime() const OVERRIDE {
|
| return last_activity_time_;
|
| @@ -55,26 +57,21 @@ class Target : public content::DevToolsTarget {
|
| virtual scoped_refptr<DevToolsAgentHost> GetAgentHost() const OVERRIDE {
|
| return agent_host_;
|
| }
|
| - virtual bool Activate() const OVERRIDE { return false; }
|
| - virtual bool Close() const OVERRIDE { return false; }
|
| + virtual bool Activate() const OVERRIDE { return agent_host_->Activate(); }
|
| + virtual bool Close() const OVERRIDE { return agent_host_->Close(); }
|
|
|
| private:
|
| scoped_refptr<DevToolsAgentHost> agent_host_;
|
| - std::string id_;
|
| - std::string title_;
|
| std::string description_;
|
| - GURL url_;
|
| base::TimeTicks last_activity_time_;
|
| };
|
|
|
| -Target::Target(WebContents* web_contents) {
|
| - agent_host_ =
|
| - DevToolsAgentHost::GetOrCreateFor(web_contents);
|
| - id_ = agent_host_->GetId();
|
| - description_ = GetViewDescription(web_contents);
|
| - title_ = base::UTF16ToUTF8(web_contents->GetTitle());
|
| - url_ = web_contents->GetURL();
|
| - last_activity_time_ = web_contents->GetLastActiveTime();
|
| +Target::Target(scoped_refptr<DevToolsAgentHost> agent_host)
|
| + : agent_host_(agent_host) {
|
| + if (WebContents* web_contents = agent_host->GetWebContents()) {
|
| + description_ = GetViewDescription(web_contents);
|
| + last_activity_time_ = web_contents->GetLastActiveTime();
|
| + }
|
| }
|
|
|
| // Delegate implementation for the devtools http handler for WebView. A new
|
| @@ -106,10 +103,9 @@ class AwDevToolsServerDelegate : public content::DevToolsHttpHandlerDelegate {
|
|
|
| virtual void EnumerateTargets(TargetCallback callback) OVERRIDE {
|
| TargetList targets;
|
| - std::vector<WebContents*> wc_list =
|
| - DevToolsAgentHost::GetInspectableWebContents();
|
| - for (std::vector<WebContents*>::iterator it = wc_list.begin();
|
| - it != wc_list.end(); ++it) {
|
| + DevToolsAgentHost::List agents = DevToolsAgentHost::GetOrCreateAll();
|
| + for (DevToolsAgentHost::List::iterator it = agents.begin();
|
| + it != agents.end(); ++it) {
|
| targets.push_back(new Target(*it));
|
| }
|
| callback.Run(targets);
|
|
|