OLD | NEW |
1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 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/sampling/task_manager_impl.h" | 5 #include "chrome/browser/task_manager/sampling/task_manager_impl.h" |
6 | 6 |
7 #include <algorithm> | 7 #include <algorithm> |
8 #include <string> | 8 #include <string> |
9 #include <unordered_map> | 9 #include <unordered_map> |
10 #include <unordered_set> | 10 #include <unordered_set> |
(...skipping 255 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
266 blink::WebCache::ResourceTypeStats* stats) const { | 266 blink::WebCache::ResourceTypeStats* stats) const { |
267 const Task* task = GetTaskByTaskId(task_id); | 267 const Task* task = GetTaskByTaskId(task_id); |
268 if (!task->ReportsWebCacheStats()) | 268 if (!task->ReportsWebCacheStats()) |
269 return false; | 269 return false; |
270 | 270 |
271 *stats = task->GetWebCacheStats(); | 271 *stats = task->GetWebCacheStats(); |
272 | 272 |
273 return true; | 273 return true; |
274 } | 274 } |
275 | 275 |
| 276 int TaskManagerImpl::GetKeepaliveCount(TaskId task_id) const { |
| 277 const Task* task = GetTaskByTaskId(task_id); |
| 278 if (!task) |
| 279 return -1; |
| 280 |
| 281 return task->GetKeepaliveCount(); |
| 282 } |
| 283 |
276 const TaskIdList& TaskManagerImpl::GetTaskIdsList() const { | 284 const TaskIdList& TaskManagerImpl::GetTaskIdsList() const { |
277 DCHECK(is_running_) << "Task manager is not running. You must observe the " | 285 DCHECK(is_running_) << "Task manager is not running. You must observe the " |
278 "task manager for it to start running"; | 286 "task manager for it to start running"; |
279 | 287 |
280 if (sorted_task_ids_.empty()) { | 288 if (sorted_task_ids_.empty()) { |
281 // |comparator| groups and sorts by subtask-ness (to push all subtasks to be | 289 // |comparator| groups and sorts by subtask-ness (to push all subtasks to be |
282 // last), then by process type (e.g. the browser process should be first; | 290 // last), then by process type (e.g. the browser process should be first; |
283 // renderer processes should be together), then tab id (processes used by | 291 // renderer processes should be together), then tab id (processes used by |
284 // the same tab should be kept together, and a tab should have a stable | 292 // the same tab should be kept together, and a tab should have a stable |
285 // position in the list as it cycles through processes, and tab creation | 293 // position in the list as it cycles through processes, and tab creation |
(...skipping 276 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
562 groups_itr.second->AreBackgroundCalculationsDone(); | 570 groups_itr.second->AreBackgroundCalculationsDone(); |
563 } | 571 } |
564 if (are_all_processes_data_ready) { | 572 if (are_all_processes_data_ready) { |
565 NotifyObserversOnRefreshWithBackgroundCalculations(GetTaskIdsList()); | 573 NotifyObserversOnRefreshWithBackgroundCalculations(GetTaskIdsList()); |
566 for (const auto& groups_itr : task_groups_by_proc_id_) | 574 for (const auto& groups_itr : task_groups_by_proc_id_) |
567 groups_itr.second->ClearCurrentBackgroundCalculationsFlags(); | 575 groups_itr.second->ClearCurrentBackgroundCalculationsFlags(); |
568 } | 576 } |
569 } | 577 } |
570 | 578 |
571 } // namespace task_manager | 579 } // namespace task_manager |
OLD | NEW |