Chromium Code Reviews| Index: chrome/browser/task_manager/child_process_resource_provider.cc |
| diff --git a/chrome/browser/task_manager/child_process_resource_provider.cc b/chrome/browser/task_manager/child_process_resource_provider.cc |
| index 38d7b06d80002595b821ea236f8ef1a3cccccdd6..b460125701462d9f0a923b49db3ed3169db7516b 100644 |
| --- a/chrome/browser/task_manager/child_process_resource_provider.cc |
| +++ b/chrome/browser/task_manager/child_process_resource_provider.cc |
| @@ -60,11 +60,8 @@ class ChildProcessResource : public Resource { |
| // process would be "Plugin: Flash" when name is "Flash". |
| base::string16 GetLocalizedTitle() const; |
| - static mojo::InterfacePtrInfo<ResourceUsageReporter> |
| - GetProcessUsageOnIOThread(int id); |
| - |
| - void OnGetProcessUsageDone( |
| - mojo::InterfacePtrInfo<ResourceUsageReporter> info); |
| + static void ConnectResourceReporterOnIOThread( |
| + int id, mojo::InterfaceRequest<ResourceUsageReporter> req); |
| int process_type_; |
| base::string16 name_; |
| @@ -88,21 +85,19 @@ class ChildProcessResource : public Resource { |
| gfx::ImageSkia* ChildProcessResource::default_icon_ = NULL; |
| // static |
| -mojo::InterfacePtrInfo<ResourceUsageReporter> |
| -ChildProcessResource::GetProcessUsageOnIOThread(int id) { |
| +void ChildProcessResource::ConnectResourceReporterOnIOThread( |
| + int id, mojo::InterfaceRequest<ResourceUsageReporter> req) { |
| DCHECK_CURRENTLY_ON(BrowserThread::IO); |
| content::BrowserChildProcessHost* host = |
| content::BrowserChildProcessHost::FromID(id); |
| if (!host) |
| - return mojo::InterfacePtrInfo<ResourceUsageReporter>(); |
| + return; |
| content::ServiceRegistry* registry = host->GetServiceRegistry(); |
| if (!registry) |
| - return mojo::InterfacePtrInfo<ResourceUsageReporter>(); |
| + return; |
| - ResourceUsageReporterPtr service; |
| - registry->ConnectToRemoteService(&service); |
| - return service.PassInterface().Pass(); |
| + registry->ConnectToRemoteService(req.Pass()); |
| } |
| ChildProcessResource::ChildProcessResource(int process_type, |
| @@ -123,27 +118,19 @@ ChildProcessResource::ChildProcessResource(int process_type, |
| default_icon_ = rb.GetImageSkiaNamed(IDR_PLUGINS_FAVICON); |
| // TODO(jabdelmalek): use different icon for web workers. |
| } |
| - BrowserThread::PostTaskAndReplyWithResult( |
| + ResourceUsageReporterPtr service; |
| + mojo::InterfaceRequest<ResourceUsageReporter> request = |
| + mojo::GetProxy(&service); |
| + BrowserThread::PostTask( |
| BrowserThread::IO, FROM_HERE, |
| - base::Bind(&ChildProcessResource::GetProcessUsageOnIOThread, |
| - unique_process_id), |
| - base::Bind(&ChildProcessResource::OnGetProcessUsageDone, |
| - weak_factory_.GetWeakPtr())); |
| + base::Bind(&ChildProcessResource::ConnectResourceReporterOnIOThread, |
| + unique_process_id, base::Passed(&request))); |
| + resource_usage_.reset(new ProcessResourceUsage(service.Pass())); |
|
Sam McNally
2015/05/20 02:53:12
This change will cause ProcessResourceUsages to be
Anand Mistry (off Chromium)
2015/05/20 03:14:59
It will, as soon as I submit https://codereview.ch
|
| } |
| ChildProcessResource::~ChildProcessResource() { |
| } |
| -void ChildProcessResource::OnGetProcessUsageDone( |
| - mojo::InterfacePtrInfo<ResourceUsageReporter> info) { |
| - DCHECK_CURRENTLY_ON(BrowserThread::UI); |
| - if (info.is_valid()) { |
| - ResourceUsageReporterPtr service; |
| - service.Bind(info.Pass()); |
| - resource_usage_.reset(new ProcessResourceUsage(service.Pass())); |
| - } |
| -} |
| - |
| // Resource methods: |
| base::string16 ChildProcessResource::GetTitle() const { |
| if (title_.empty()) |