| Index: chrome/browser/task_manager/sampling/task_manager_impl.cc
|
| diff --git a/chrome/browser/task_manager/sampling/task_manager_impl.cc b/chrome/browser/task_manager/sampling/task_manager_impl.cc
|
| index afd1ca1514b513670949f16ce3f709cb9f5e3e30..aab3f46770eaf7fd4be07856bc040329d76adf91 100644
|
| --- a/chrome/browser/task_manager/sampling/task_manager_impl.cc
|
| +++ b/chrome/browser/task_manager/sampling/task_manager_impl.cc
|
| @@ -50,7 +50,8 @@ TaskManagerImpl::TaskManagerImpl()
|
| base::Unretained(this))),
|
| blocking_pool_runner_(GetBlockingPoolRunner()),
|
| shared_sampler_(new SharedSampler(blocking_pool_runner_)),
|
| - is_running_(false) {
|
| + is_running_(false),
|
| + weak_ptr_factory_(this) {
|
| DCHECK_CURRENTLY_ON(content::BrowserThread::UI);
|
|
|
| task_providers_.emplace_back(new BrowserProcessTaskProvider());
|
| @@ -60,12 +61,9 @@ TaskManagerImpl::TaskManagerImpl()
|
| if (arc::IsArcAvailable())
|
| task_providers_.emplace_back(new ArcProcessTaskProvider());
|
| #endif // defined(OS_CHROMEOS)
|
| -
|
| - content::GpuDataManager::GetInstance()->AddObserver(this);
|
| }
|
|
|
| TaskManagerImpl::~TaskManagerImpl() {
|
| - content::GpuDataManager::GetInstance()->RemoveObserver(this);
|
| }
|
|
|
| // static
|
| @@ -452,13 +450,6 @@ void TaskManagerImpl::TaskUnresponsive(Task* task) {
|
| NotifyObserversOnTaskUnresponsive(task->task_id());
|
| }
|
|
|
| -void TaskManagerImpl::OnVideoMemoryUsageStatsUpdate(
|
| - const gpu::VideoMemoryUsageStats& gpu_memory_stats) {
|
| - DCHECK_CURRENTLY_ON(content::BrowserThread::UI);
|
| -
|
| - gpu_memory_stats_ = gpu_memory_stats;
|
| -}
|
| -
|
| // static
|
| void TaskManagerImpl::OnMultipleBytesReadUI(
|
| std::vector<BytesReadParam>* params) {
|
| @@ -481,10 +472,18 @@ void TaskManagerImpl::OnMultipleBytesReadUI(
|
| }
|
| }
|
|
|
| +void TaskManagerImpl::OnVideoMemoryUsageStatsUpdate(
|
| + const gpu::VideoMemoryUsageStats& gpu_memory_stats) {
|
| + DCHECK_CURRENTLY_ON(content::BrowserThread::UI);
|
| +
|
| + gpu_memory_stats_ = gpu_memory_stats;
|
| +}
|
| +
|
| void TaskManagerImpl::Refresh() {
|
| if (IsResourceRefreshEnabled(REFRESH_TYPE_GPU_MEMORY)) {
|
| - content::GpuDataManager::GetInstance()->
|
| - RequestVideoMemoryUsageStatsUpdate();
|
| + content::GpuDataManager::GetInstance()->RequestVideoMemoryUsageStatsUpdate(
|
| + base::Bind(&TaskManagerImpl::OnVideoMemoryUsageStatsUpdate,
|
| + weak_ptr_factory_.GetWeakPtr()));
|
| }
|
|
|
| for (auto& groups_itr : task_groups_by_proc_id_) {
|
|
|