| 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()));
|
|
|