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

Side by Side Diff: chrome/browser/task_management/providers/web_contents/renderer_task.cc

Issue 1374283003: Reporting top cpu and memory consumers via rappor on chromeos (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Turn off ResourceReporter on task_management CrOs browser_tests. Created 5 years 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 unified diff | Download patch
OLDNEW
1 // Copyright 2015 The Chromium Authors. All rights reserved. 1 // Copyright 2015 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 #include "chrome/browser/task_management/providers/web_contents/renderer_task.h" 5 #include "chrome/browser/task_management/providers/web_contents/renderer_task.h"
6 6
7 #include "base/i18n/rtl.h" 7 #include "base/i18n/rtl.h"
8 #include "base/numerics/safe_conversions.h" 8 #include "base/numerics/safe_conversions.h"
9 #include "base/strings/utf_string_conversions.h" 9 #include "base/strings/utf_string_conversions.h"
10 #include "chrome/browser/browser_process.h" 10 #include "chrome/browser/browser_process.h"
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after
42 const content::RenderProcessHost* render_process_host) { 42 const content::RenderProcessHost* render_process_host) {
43 Profile* profile = 43 Profile* profile =
44 Profile::FromBrowserContext(render_process_host->GetBrowserContext()); 44 Profile::FromBrowserContext(render_process_host->GetBrowserContext());
45 return Task::GetProfileNameFromProfile(profile); 45 return Task::GetProfileNameFromProfile(profile);
46 } 46 }
47 47
48 inline bool IsRendererResourceSamplingDisabled(int64 flags) { 48 inline bool IsRendererResourceSamplingDisabled(int64 flags) {
49 return (flags & (REFRESH_TYPE_V8_MEMORY | REFRESH_TYPE_WEBCACHE_STATS)) == 0; 49 return (flags & (REFRESH_TYPE_V8_MEMORY | REFRESH_TYPE_WEBCACHE_STATS)) == 0;
50 } 50 }
51 51
52 std::string GetRapporSampleName(content::WebContents* web_contents) {
53 return web_contents->GetVisibleURL().GetOrigin().spec();
54 }
55
52 } // namespace 56 } // namespace
53 57
54 RendererTask::RendererTask(const base::string16& title, 58 RendererTask::RendererTask(const base::string16& title,
55 const gfx::ImageSkia* icon, 59 const gfx::ImageSkia* icon,
56 content::WebContents* web_contents, 60 content::WebContents* web_contents,
57 content::RenderProcessHost* render_process_host) 61 content::RenderProcessHost* render_process_host)
58 : Task(title, icon, render_process_host->GetHandle()), 62 : Task(title,
63 GetRapporSampleName(web_contents),
64 icon,
65 render_process_host->GetHandle()),
59 web_contents_(web_contents), 66 web_contents_(web_contents),
60 render_process_host_(render_process_host), 67 render_process_host_(render_process_host),
61 renderer_resources_sampler_( 68 renderer_resources_sampler_(
62 CreateRendererResourcesSampler(render_process_host_)), 69 CreateRendererResourcesSampler(render_process_host_)),
63 render_process_id_(render_process_host_->GetID()), 70 render_process_id_(render_process_host_->GetID()),
64 v8_memory_allocated_(0), 71 v8_memory_allocated_(0),
65 v8_memory_used_(0), 72 v8_memory_used_(0),
66 webcache_stats_(), 73 webcache_stats_(),
67 profile_name_(GetRendererProfileName(render_process_host_)) { 74 profile_name_(GetRendererProfileName(render_process_host_)) {
68 // All renderer tasks are capable of reporting network usage, so the default 75 // All renderer tasks are capable of reporting network usage, so the default
69 // invalid value of -1 doesn't apply here. 76 // invalid value of -1 doesn't apply here.
70 OnNetworkBytesRead(0); 77 OnNetworkBytesRead(0);
71 78
72 // Tag the web_contents with a |ContentFaviconDriver| (if needed) so that 79 // Tag the web_contents with a |ContentFaviconDriver| (if needed) so that
73 // we can use it to observe favicons changes. 80 // we can use it to observe favicons changes.
74 favicon::CreateContentFaviconDriverForWebContents(web_contents); 81 favicon::CreateContentFaviconDriverForWebContents(web_contents);
75 favicon::ContentFaviconDriver::FromWebContents(web_contents)->AddObserver( 82 favicon::ContentFaviconDriver::FromWebContents(web_contents)->AddObserver(
76 this); 83 this);
77 } 84 }
78 85
79 RendererTask::~RendererTask() { 86 RendererTask::~RendererTask() {
80 favicon::ContentFaviconDriver::FromWebContents(web_contents())-> 87 favicon::ContentFaviconDriver::FromWebContents(web_contents())->
81 RemoveObserver(this); 88 RemoveObserver(this);
82 } 89 }
83 90
91 void RendererTask::UpdateRapporSampleName() {
92 set_rappor_sample_name(GetRapporSampleName(web_contents()));
93 }
94
84 void RendererTask::Activate() { 95 void RendererTask::Activate() {
85 if (!web_contents_->GetDelegate()) 96 if (!web_contents_->GetDelegate())
86 return; 97 return;
87 98
88 web_contents_->GetDelegate()->ActivateContents(web_contents_); 99 web_contents_->GetDelegate()->ActivateContents(web_contents_);
89 } 100 }
90 101
91 void RendererTask::Refresh(const base::TimeDelta& update_interval, 102 void RendererTask::Refresh(const base::TimeDelta& update_interval,
92 int64 refresh_flags) { 103 int64 refresh_flags) {
93 Task::Refresh(update_interval, refresh_flags); 104 Task::Refresh(update_interval, refresh_flags);
(...skipping 115 matching lines...) Expand 10 before | Expand all | Expand 10 after
209 if (is_incognito) 220 if (is_incognito)
210 message_id = IDS_TASK_MANAGER_EXTENSION_INCOGNITO_PREFIX; 221 message_id = IDS_TASK_MANAGER_EXTENSION_INCOGNITO_PREFIX;
211 else 222 else
212 message_id = IDS_TASK_MANAGER_EXTENSION_PREFIX; 223 message_id = IDS_TASK_MANAGER_EXTENSION_PREFIX;
213 } 224 }
214 225
215 return l10n_util::GetStringFUTF16(message_id, title); 226 return l10n_util::GetStringFUTF16(message_id, title);
216 } 227 }
217 228
218 } // namespace task_management 229 } // namespace task_management
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698