| OLD | NEW |
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "chrome/browser/task_manager/task_manager.h" | 5 #include "chrome/browser/task_manager/task_manager.h" |
| 6 | 6 |
| 7 #include "base/bind.h" | 7 #include "base/bind.h" |
| 8 #include "base/i18n/number_formatting.h" | 8 #include "base/i18n/number_formatting.h" |
| 9 #include "base/i18n/rtl.h" | 9 #include "base/i18n/rtl.h" |
| 10 #include "base/location.h" | 10 #include "base/location.h" |
| (...skipping 162 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 173 public: | 173 public: |
| 174 TaskManagerModelGpuDataManagerObserver() { | 174 TaskManagerModelGpuDataManagerObserver() { |
| 175 content::GpuDataManager::GetInstance()->AddObserver(this); | 175 content::GpuDataManager::GetInstance()->AddObserver(this); |
| 176 } | 176 } |
| 177 | 177 |
| 178 ~TaskManagerModelGpuDataManagerObserver() override { | 178 ~TaskManagerModelGpuDataManagerObserver() override { |
| 179 content::GpuDataManager::GetInstance()->RemoveObserver(this); | 179 content::GpuDataManager::GetInstance()->RemoveObserver(this); |
| 180 } | 180 } |
| 181 | 181 |
| 182 static void NotifyVideoMemoryUsageStats( | 182 static void NotifyVideoMemoryUsageStats( |
| 183 const content::GPUVideoMemoryUsageStats& video_memory_usage_stats) { | 183 const gpu::VideoMemoryUsageStats& video_memory_usage_stats) { |
| 184 TaskManager::GetInstance()->model()->NotifyVideoMemoryUsageStats( | 184 TaskManager::GetInstance()->model()->NotifyVideoMemoryUsageStats( |
| 185 video_memory_usage_stats); | 185 video_memory_usage_stats); |
| 186 } | 186 } |
| 187 | 187 |
| 188 void OnVideoMemoryUsageStatsUpdate(const content::GPUVideoMemoryUsageStats& | 188 void OnVideoMemoryUsageStatsUpdate( |
| 189 video_memory_usage_stats) override { | 189 const gpu::VideoMemoryUsageStats& video_memory_usage_stats) override { |
| 190 if (BrowserThread::CurrentlyOn(BrowserThread::UI)) { | 190 if (BrowserThread::CurrentlyOn(BrowserThread::UI)) { |
| 191 NotifyVideoMemoryUsageStats(video_memory_usage_stats); | 191 NotifyVideoMemoryUsageStats(video_memory_usage_stats); |
| 192 } else { | 192 } else { |
| 193 BrowserThread::PostTask( | 193 BrowserThread::PostTask( |
| 194 BrowserThread::UI, FROM_HERE, base::Bind( | 194 BrowserThread::UI, FROM_HERE, base::Bind( |
| 195 &TaskManagerModelGpuDataManagerObserver:: | 195 &TaskManagerModelGpuDataManagerObserver:: |
| 196 NotifyVideoMemoryUsageStats, | 196 NotifyVideoMemoryUsageStats, |
| 197 video_memory_usage_stats)); | 197 video_memory_usage_stats)); |
| 198 } | 198 } |
| 199 } | 199 } |
| (...skipping 461 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 661 bool TaskManagerModel::GetVideoMemory(int index, | 661 bool TaskManagerModel::GetVideoMemory(int index, |
| 662 size_t* video_memory, | 662 size_t* video_memory, |
| 663 bool* has_duplicates) const { | 663 bool* has_duplicates) const { |
| 664 *video_memory = 0; | 664 *video_memory = 0; |
| 665 *has_duplicates = false; | 665 *has_duplicates = false; |
| 666 | 666 |
| 667 base::ProcessId pid = GetProcessId(index); | 667 base::ProcessId pid = GetProcessId(index); |
| 668 PerProcessValues& values( | 668 PerProcessValues& values( |
| 669 per_process_cache_[GetResource(index)->GetProcess()]); | 669 per_process_cache_[GetResource(index)->GetProcess()]); |
| 670 if (!values.is_video_memory_valid) { | 670 if (!values.is_video_memory_valid) { |
| 671 content::GPUVideoMemoryUsageStats::ProcessMap::const_iterator i = | 671 gpu::VideoMemoryUsageStats::ProcessMap::const_iterator i = |
| 672 video_memory_usage_stats_.process_map.find(pid); | 672 video_memory_usage_stats_.process_map.find(pid); |
| 673 if (i == video_memory_usage_stats_.process_map.end()) | 673 if (i == video_memory_usage_stats_.process_map.end()) |
| 674 return false; | 674 return false; |
| 675 values.is_video_memory_valid = true; | 675 values.is_video_memory_valid = true; |
| 676 // If this checked_cast asserts, then need to change this code to use | 676 // If this checked_cast asserts, then need to change this code to use |
| 677 // uint64_t instead of size_t. | 677 // uint64_t instead of size_t. |
| 678 values.video_memory = base::checked_cast<size_t>(i->second.video_memory); | 678 values.video_memory = base::checked_cast<size_t>(i->second.video_memory); |
| 679 values.video_memory_has_duplicates = i->second.has_duplicates; | 679 values.video_memory_has_duplicates = i->second.has_duplicates; |
| 680 } | 680 } |
| 681 *video_memory = values.video_memory; | 681 *video_memory = values.video_memory; |
| (...skipping 565 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1247 (*iter)->Refresh(); | 1247 (*iter)->Refresh(); |
| 1248 } | 1248 } |
| 1249 | 1249 |
| 1250 if (!resources_.empty()) { | 1250 if (!resources_.empty()) { |
| 1251 FOR_EACH_OBSERVER(TaskManagerModelObserver, observer_list_, | 1251 FOR_EACH_OBSERVER(TaskManagerModelObserver, observer_list_, |
| 1252 OnItemsChanged(0, ResourceCount())); | 1252 OnItemsChanged(0, ResourceCount())); |
| 1253 } | 1253 } |
| 1254 } | 1254 } |
| 1255 | 1255 |
| 1256 void TaskManagerModel::NotifyVideoMemoryUsageStats( | 1256 void TaskManagerModel::NotifyVideoMemoryUsageStats( |
| 1257 const content::GPUVideoMemoryUsageStats& video_memory_usage_stats) { | 1257 const gpu::VideoMemoryUsageStats& video_memory_usage_stats) { |
| 1258 DCHECK(pending_video_memory_usage_stats_update_); | 1258 DCHECK(pending_video_memory_usage_stats_update_); |
| 1259 video_memory_usage_stats_ = video_memory_usage_stats; | 1259 video_memory_usage_stats_ = video_memory_usage_stats; |
| 1260 pending_video_memory_usage_stats_update_ = false; | 1260 pending_video_memory_usage_stats_update_ = false; |
| 1261 } | 1261 } |
| 1262 | 1262 |
| 1263 void TaskManagerModel::NotifyBytesRead(const net::URLRequest& request, | 1263 void TaskManagerModel::NotifyBytesRead(const net::URLRequest& request, |
| 1264 int64_t byte_count) { | 1264 int64_t byte_count) { |
| 1265 DCHECK_CURRENTLY_ON(BrowserThread::IO); | 1265 DCHECK_CURRENTLY_ON(BrowserThread::IO); |
| 1266 if (!is_updating_byte_count_) | 1266 if (!is_updating_byte_count_) |
| 1267 return; | 1267 return; |
| (...skipping 310 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1578 params.disposition = NEW_FOREGROUND_TAB; | 1578 params.disposition = NEW_FOREGROUND_TAB; |
| 1579 chrome::Navigate(¶ms); | 1579 chrome::Navigate(¶ms); |
| 1580 } | 1580 } |
| 1581 | 1581 |
| 1582 TaskManager::TaskManager() | 1582 TaskManager::TaskManager() |
| 1583 : model_(new TaskManagerModel(this)) { | 1583 : model_(new TaskManagerModel(this)) { |
| 1584 } | 1584 } |
| 1585 | 1585 |
| 1586 TaskManager::~TaskManager() { | 1586 TaskManager::~TaskManager() { |
| 1587 } | 1587 } |
| OLD | NEW |