Index: chrome/browser/task_manager/renderer_resource.cc |
diff --git a/chrome/browser/task_manager/renderer_resource.cc b/chrome/browser/task_manager/renderer_resource.cc |
index 8539663c596b35d732e315fe82829af58c95c25f..007028528cab6bb0bef9f1f13032163b45a240e8 100644 |
--- a/chrome/browser/task_manager/renderer_resource.cc |
+++ b/chrome/browser/task_manager/renderer_resource.cc |
@@ -6,12 +6,14 @@ |
#include "base/basictypes.h" |
#include "chrome/browser/devtools/devtools_window.h" |
+#include "chrome/browser/process_resource_usage.h" |
#include "chrome/browser/profiles/profile.h" |
#include "chrome/browser/task_manager/resource_provider.h" |
#include "chrome/browser/task_manager/task_manager_util.h" |
#include "chrome/common/render_messages.h" |
#include "content/public/browser/render_process_host.h" |
#include "content/public/browser/render_view_host.h" |
+#include "content/public/common/service_registry.h" |
namespace task_manager { |
@@ -19,15 +21,17 @@ RendererResource::RendererResource(base::ProcessHandle process, |
content::RenderViewHost* render_view_host) |
: process_(process), |
render_view_host_(render_view_host), |
- pending_stats_update_(false), |
- v8_memory_allocated_(0), |
- v8_memory_used_(0), |
- pending_v8_memory_allocated_update_(false) { |
+ pending_stats_update_(false) { |
// We cache the process and pid as when a Tab/BackgroundContents is closed the |
// process reference becomes NULL and the TaskManager still needs it. |
- pid_ = base::GetProcId(process_); |
unique_process_id_ = render_view_host_->GetProcess()->GetID(); |
memset(&stats_, 0, sizeof(stats_)); |
+ ResourceUsageReporterPtr service; |
+ content::ServiceRegistry* service_registry = |
+ render_view_host_->GetProcess()->GetServiceRegistry(); |
+ if (service_registry) |
+ service_registry->ConnectToRemoteService(&service); |
+ process_resource_usage_.reset(new ProcessResourceUsage(service.Pass())); |
} |
RendererResource::~RendererResource() { |
@@ -38,10 +42,7 @@ void RendererResource::Refresh() { |
render_view_host_->Send(new ChromeViewMsg_GetCacheResourceStats); |
pending_stats_update_ = true; |
} |
- if (!pending_v8_memory_allocated_update_) { |
- render_view_host_->Send(new ChromeViewMsg_GetV8HeapStats); |
- pending_v8_memory_allocated_update_ = true; |
- } |
+ process_resource_usage_->Refresh(base::Closure()); |
} |
blink::WebCache::ResourceTypeStats |
@@ -50,11 +51,11 @@ RendererResource::GetWebCoreCacheStats() const { |
} |
size_t RendererResource::GetV8MemoryAllocated() const { |
- return v8_memory_allocated_; |
+ return process_resource_usage_->GetV8MemoryAllocated(); |
} |
size_t RendererResource::GetV8MemoryUsed() const { |
- return v8_memory_used_; |
+ return process_resource_usage_->GetV8MemoryUsed(); |
} |
void RendererResource::NotifyResourceTypeStats( |
@@ -63,13 +64,6 @@ void RendererResource::NotifyResourceTypeStats( |
pending_stats_update_ = false; |
} |
-void RendererResource::NotifyV8HeapStats( |
- size_t v8_memory_allocated, size_t v8_memory_used) { |
- v8_memory_allocated_ = v8_memory_allocated; |
- v8_memory_used_ = v8_memory_used; |
- pending_v8_memory_allocated_update_ = false; |
-} |
- |
base::string16 RendererResource::GetProfileName() const { |
return util::GetProfileNameFromInfoCache(Profile::FromBrowserContext( |
render_view_host_->GetProcess()->GetBrowserContext())); |