OLD | NEW |
1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #ifndef CHROME_BROWSER_DEVTOOLS_DEVTOOLS_TARGET_IMPL_H_ | 5 #ifndef CHROME_BROWSER_DEVTOOLS_DEVTOOLS_TARGET_IMPL_H_ |
6 #define CHROME_BROWSER_DEVTOOLS_DEVTOOLS_TARGET_IMPL_H_ | 6 #define CHROME_BROWSER_DEVTOOLS_DEVTOOLS_TARGET_IMPL_H_ |
7 | 7 |
8 #include <vector> | 8 #include <vector> |
9 | 9 |
10 #include "base/callback.h" | 10 #include "base/callback.h" |
11 #include "content/public/browser/devtools_target.h" | 11 #include "content/public/browser/devtools_target.h" |
12 #include "content/public/browser/worker_service.h" | 12 #include "content/public/browser/worker_service.h" |
13 | 13 |
14 class Profile; | 14 class Profile; |
15 | 15 |
16 namespace content { | 16 namespace content { |
17 class DevToolsAgentHost; | 17 class DevToolsAgentHost; |
18 class RenderViewHost; | 18 class RenderViewHost; |
| 19 class WebContents; |
19 } | 20 } |
20 | 21 |
21 class DevToolsTargetImpl : public content::DevToolsTarget { | 22 class DevToolsTargetImpl : public content::DevToolsTarget { |
22 public: | 23 public: |
23 explicit DevToolsTargetImpl( | 24 explicit DevToolsTargetImpl( |
24 scoped_refptr<content::DevToolsAgentHost> agent_host); | 25 scoped_refptr<content::DevToolsAgentHost> agent_host); |
25 virtual ~DevToolsTargetImpl(); | 26 virtual ~DevToolsTargetImpl(); |
26 | 27 |
27 // content::DevToolsTarget overrides: | 28 // content::DevToolsTarget overrides: |
28 virtual std::string GetId() const OVERRIDE; | 29 virtual std::string GetId() const OVERRIDE; |
29 virtual std::string GetParentId() const OVERRIDE; | 30 virtual std::string GetParentId() const OVERRIDE; |
30 virtual std::string GetType() const OVERRIDE; | 31 virtual std::string GetType() const OVERRIDE; |
31 virtual std::string GetTitle() const OVERRIDE; | 32 virtual std::string GetTitle() const OVERRIDE; |
32 virtual std::string GetDescription() const OVERRIDE; | 33 virtual std::string GetDescription() const OVERRIDE; |
33 virtual GURL GetURL() const OVERRIDE; | 34 virtual GURL GetURL() const OVERRIDE; |
34 virtual GURL GetFaviconURL() const OVERRIDE; | 35 virtual GURL GetFaviconURL() const OVERRIDE; |
35 virtual base::TimeTicks GetLastActivityTime() const OVERRIDE; | 36 virtual base::TimeTicks GetLastActivityTime() const OVERRIDE; |
36 virtual scoped_refptr<content::DevToolsAgentHost> | 37 virtual scoped_refptr<content::DevToolsAgentHost> |
37 GetAgentHost() const OVERRIDE; | 38 GetAgentHost() const OVERRIDE; |
38 virtual bool IsAttached() const OVERRIDE; | 39 virtual bool IsAttached() const OVERRIDE; |
39 virtual bool Activate() const OVERRIDE; | 40 virtual bool Activate() const OVERRIDE; |
40 virtual bool Close() const OVERRIDE; | 41 virtual bool Close() const OVERRIDE; |
41 | 42 |
42 // Returns the RenderViewHost associated with the target on NULL if there is | 43 // Returns the WebContents associated with the target on NULL if there is |
43 // not any. | 44 // not any. |
44 virtual content::RenderViewHost* GetRenderViewHost() const; | 45 virtual content::WebContents* GetWebContents() const; |
45 | 46 |
46 // Returns the tab id if the target is associated with a tab, -1 otherwise. | 47 // Returns the tab id if the target is associated with a tab, -1 otherwise. |
47 virtual int GetTabId() const; | 48 virtual int GetTabId() const; |
48 | 49 |
49 // Returns the extension id if the target is associated with an extension | 50 // Returns the extension id if the target is associated with an extension |
50 // background page. | 51 // background page. |
51 virtual std::string GetExtensionId() const; | 52 virtual std::string GetExtensionId() const; |
52 | 53 |
53 // Open a new DevTools window or activate the existing one. | 54 // Open a new DevTools window or activate the existing one. |
54 virtual void Inspect(Profile* profile) const; | 55 virtual void Inspect(Profile* profile) const; |
55 | 56 |
56 // Reload the target page. | 57 // Reload the target page. |
57 virtual void Reload() const; | 58 virtual void Reload() const; |
58 | 59 |
59 // Creates a new target associated with RenderViewHost. | 60 // Creates a new target associated with WebContents. |
60 static scoped_ptr<DevToolsTargetImpl> CreateForRenderViewHost( | 61 static scoped_ptr<DevToolsTargetImpl> CreateForWebContents( |
61 content::RenderViewHost*, bool is_tab); | 62 content::WebContents* web_contents, |
| 63 bool is_tab); |
62 | 64 |
63 void set_parent_id(const std::string& parent_id) { parent_id_ = parent_id; } | 65 void set_parent_id(const std::string& parent_id) { parent_id_ = parent_id; } |
64 void set_type(const std::string& type) { type_ = type; } | 66 void set_type(const std::string& type) { type_ = type; } |
65 void set_title(const std::string& title) { title_ = title; } | 67 void set_title(const std::string& title) { title_ = title; } |
66 void set_description(const std::string& desc) { description_ = desc; } | 68 void set_description(const std::string& desc) { description_ = desc; } |
67 void set_url(const GURL& url) { url_ = url; } | 69 void set_url(const GURL& url) { url_ = url; } |
68 void set_favicon_url(const GURL& url) { favicon_url_ = url; } | 70 void set_favicon_url(const GURL& url) { favicon_url_ = url; } |
69 void set_last_activity_time(const base::TimeTicks& time) { | 71 void set_last_activity_time(const base::TimeTicks& time) { |
70 last_activity_time_ = time; | 72 last_activity_time_ = time; |
71 } | 73 } |
72 | 74 |
73 typedef std::vector<DevToolsTargetImpl*> List; | 75 typedef std::vector<DevToolsTargetImpl*> List; |
74 typedef base::Callback<void(const List&)> Callback; | 76 typedef base::Callback<void(const List&)> Callback; |
75 | 77 |
76 static List EnumerateRenderViewHostTargets(); | 78 static List EnumerateWebContentsTargets(); |
77 static void EnumerateWorkerTargets(Callback callback); | 79 static void EnumerateWorkerTargets(Callback callback); |
78 static void EnumerateAllTargets(Callback callback); | 80 static void EnumerateAllTargets(Callback callback); |
79 | 81 |
80 private: | 82 private: |
81 scoped_refptr<content::DevToolsAgentHost> agent_host_; | 83 scoped_refptr<content::DevToolsAgentHost> agent_host_; |
82 std::string parent_id_; | 84 std::string parent_id_; |
83 std::string type_; | 85 std::string type_; |
84 std::string title_; | 86 std::string title_; |
85 std::string description_; | 87 std::string description_; |
86 GURL url_; | 88 GURL url_; |
87 GURL favicon_url_; | 89 GURL favicon_url_; |
88 base::TimeTicks last_activity_time_; | 90 base::TimeTicks last_activity_time_; |
89 }; | 91 }; |
90 | 92 |
91 #endif // CHROME_BROWSER_DEVTOOLS_DEVTOOLS_TARGET_IMPL_H_ | 93 #endif // CHROME_BROWSER_DEVTOOLS_DEVTOOLS_TARGET_IMPL_H_ |
OLD | NEW |