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

Side by Side Diff: chrome/browser/task_manager/task_manager_render_resource.cc

Issue 15196003: Create task_manager namespace and wrap classes related to TaskManager with it. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Rebase Created 7 years, 7 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
(Empty)
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
3 // found in the LICENSE file.
4
5 #include "chrome/browser/task_manager/task_manager_render_resource.h"
6
7 #include "base/basictypes.h"
8 #include "chrome/browser/devtools/devtools_window.h"
9 #include "chrome/browser/task_manager/task_manager.h"
10 #include "chrome/common/render_messages.h"
11 #include "content/public/browser/render_process_host.h"
12 #include "content/public/browser/render_view_host.h"
13
14 ////////////////////////////////////////////////////////////////////////////////
15 // TaskManagerRendererResource class
16 ////////////////////////////////////////////////////////////////////////////////
17 TaskManagerRendererResource::TaskManagerRendererResource(
18 base::ProcessHandle process, content::RenderViewHost* render_view_host)
19 : content::RenderViewHostObserver(render_view_host),
20 process_(process),
21 render_view_host_(render_view_host),
22 pending_stats_update_(false),
23 fps_(0.0f),
24 pending_fps_update_(false),
25 v8_memory_allocated_(0),
26 v8_memory_used_(0),
27 pending_v8_memory_allocated_update_(false) {
28 // We cache the process and pid as when a Tab/BackgroundContents is closed the
29 // process reference becomes NULL and the TaskManager still needs it.
30 pid_ = base::GetProcId(process_);
31 unique_process_id_ = render_view_host_->GetProcess()->GetID();
32 memset(&stats_, 0, sizeof(stats_));
33 }
34
35 TaskManagerRendererResource::~TaskManagerRendererResource() {
36 }
37
38 void TaskManagerRendererResource::Refresh() {
39 if (!pending_stats_update_) {
40 render_view_host_->Send(new ChromeViewMsg_GetCacheResourceStats);
41 pending_stats_update_ = true;
42 }
43 if (!pending_fps_update_) {
44 render_view_host_->Send(
45 new ChromeViewMsg_GetFPS(render_view_host_->GetRoutingID()));
46 pending_fps_update_ = true;
47 }
48 if (!pending_v8_memory_allocated_update_) {
49 render_view_host_->Send(new ChromeViewMsg_GetV8HeapStats);
50 pending_v8_memory_allocated_update_ = true;
51 }
52 }
53
54 WebKit::WebCache::ResourceTypeStats
55 TaskManagerRendererResource::GetWebCoreCacheStats() const {
56 return stats_;
57 }
58
59 float TaskManagerRendererResource::GetFPS() const {
60 return fps_;
61 }
62
63 size_t TaskManagerRendererResource::GetV8MemoryAllocated() const {
64 return v8_memory_allocated_;
65 }
66
67 size_t TaskManagerRendererResource::GetV8MemoryUsed() const {
68 return v8_memory_used_;
69 }
70
71 void TaskManagerRendererResource::NotifyResourceTypeStats(
72 const WebKit::WebCache::ResourceTypeStats& stats) {
73 stats_ = stats;
74 pending_stats_update_ = false;
75 }
76
77 void TaskManagerRendererResource::NotifyFPS(float fps) {
78 fps_ = fps;
79 pending_fps_update_ = false;
80 }
81
82 void TaskManagerRendererResource::NotifyV8HeapStats(
83 size_t v8_memory_allocated, size_t v8_memory_used) {
84 v8_memory_allocated_ = v8_memory_allocated;
85 v8_memory_used_ = v8_memory_used;
86 pending_v8_memory_allocated_update_ = false;
87 }
88
89 base::ProcessHandle TaskManagerRendererResource::GetProcess() const {
90 return process_;
91 }
92
93 int TaskManagerRendererResource::GetUniqueChildProcessId() const {
94 return unique_process_id_;
95 }
96
97 TaskManager::Resource::Type TaskManagerRendererResource::GetType() const {
98 return RENDERER;
99 }
100
101 int TaskManagerRendererResource::GetRoutingID() const {
102 return render_view_host_->GetRoutingID();
103 }
104
105 bool TaskManagerRendererResource::ReportsCacheStats() const {
106 return true;
107 }
108
109 bool TaskManagerRendererResource::ReportsFPS() const {
110 return true;
111 }
112
113 bool TaskManagerRendererResource::ReportsV8MemoryStats() const {
114 return true;
115 }
116
117 bool TaskManagerRendererResource::CanInspect() const {
118 return true;
119 }
120
121 void TaskManagerRendererResource::Inspect() const {
122 DevToolsWindow::OpenDevToolsWindow(render_view_host_);
123 }
124
125 bool TaskManagerRendererResource::SupportNetworkUsage() const {
126 return true;
127 }
128
129 void TaskManagerRendererResource::RenderViewHostDestroyed(
130 content::RenderViewHost* render_view_host) {
131 // We should never get here. We should get deleted first.
132 // Use this CHECK to help diagnose http://crbug.com/165138.
133 CHECK(false);
134 }
OLDNEW
« no previous file with comments | « chrome/browser/task_manager/task_manager_render_resource.h ('k') | chrome/browser/task_manager/task_manager_resource_util.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698