Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1825)

Unified Diff: content/shell/browser/shell_devtools_delegate.cc

Issue 459403002: DevTools: Added service workers to remote debugging targets (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Android fixes Created 6 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: content/shell/browser/shell_devtools_delegate.cc
diff --git a/content/shell/browser/shell_devtools_delegate.cc b/content/shell/browser/shell_devtools_delegate.cc
index 0f4214f1d42367d51e1edefa89f2d1dd82234b57..89983cbaa3744aa22b6c5fa6ed5365bf7e1dfcde 100644
--- a/content/shell/browser/shell_devtools_delegate.cc
+++ b/content/shell/browser/shell_devtools_delegate.cc
@@ -43,6 +43,7 @@ const char kFrontEndURL[] =
"http://chrome-devtools-frontend.appspot.com/serve_rev/%s/devtools.html";
#endif
const char kTargetTypePage[] = "page";
+const char kTargetTypeOther[] = "other";
net::StreamListenSocketFactory* CreateSocketFactory() {
const CommandLine& command_line = *CommandLine::ForCurrentProcess();
@@ -76,7 +77,7 @@ net::StreamListenSocketFactory* CreateSocketFactory() {
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 GetParentId() const OVERRIDE { return std::string(); }
@@ -100,22 +101,27 @@ class Target : public content::DevToolsTarget {
private:
scoped_refptr<DevToolsAgentHost> agent_host_;
std::string id_;
+ std::string type_;
std::string title_;
GURL url_;
GURL favicon_url_;
base::TimeTicks last_activity_time_;
};
-Target::Target(WebContents* web_contents) {
- agent_host_ = DevToolsAgentHost::GetOrCreateFor(web_contents);
- id_ = agent_host_->GetId();
- title_ = base::UTF16ToUTF8(web_contents->GetTitle());
- url_ = web_contents->GetURL();
- content::NavigationController& controller = web_contents->GetController();
- content::NavigationEntry* entry = controller.GetActiveEntry();
- if (entry != NULL && entry->GetURL().is_valid())
- favicon_url_ = entry->GetFavicon().url;
- last_activity_time_ = web_contents->GetLastActiveTime();
+Target::Target(scoped_refptr<DevToolsAgentHost> agent_host)
+ : agent_host_(agent_host),
+ id_(agent_host_->GetId()),
+ type_(kTargetTypeOther),
+ url_(agent_host_->GetURL()) {
+ if (WebContents* web_contents = agent_host_->GetWebContents()) {
+ title_ = base::UTF16ToUTF8(web_contents->GetTitle());
+ content::NavigationController& controller = web_contents->GetController();
+ content::NavigationEntry* entry = controller.GetActiveEntry();
+ if (entry != NULL && entry->GetURL().is_valid())
+ favicon_url_ = entry->GetFavicon().url;
+ last_activity_time_ = web_contents->GetLastActiveTime();
+ type_ = kTargetTypePage;
+ }
}
bool Target::Activate() const {
@@ -189,16 +195,16 @@ ShellDevToolsDelegate::CreateNewTarget(const GURL& url) {
NULL,
MSG_ROUTING_NONE,
gfx::Size());
- return scoped_ptr<DevToolsTarget>(new Target(shell->web_contents()));
+ return scoped_ptr<DevToolsTarget>(
+ new Target(DevToolsAgentHost::GetOrCreateFor(shell->web_contents())));
}
void ShellDevToolsDelegate::EnumerateTargets(TargetCallback callback) {
TargetList targets;
- std::vector<WebContents*> wc_list =
- content::DevToolsAgentHost::GetInspectableWebContents();
- for (std::vector<WebContents*>::iterator it = wc_list.begin();
- it != wc_list.end();
- ++it) {
+ content::DevToolsAgentHost::List agents =
+ content::DevToolsAgentHost::GetOrCreateAll();
+ for (content::DevToolsAgentHost::List::iterator it = agents.begin();
+ it != agents.end(); ++it) {
targets.push_back(new Target(*it));
}
callback.Run(targets);

Powered by Google App Engine
This is Rietveld 408576698