OLD | NEW |
1 // Copyright 2017 The Chromium Authors. All rights reserved. | 1 // Copyright 2017 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 "services/resource_coordinator/coordination_unit/coordination_unit_mana
ger.h" | 5 #include "services/resource_coordinator/coordination_unit/coordination_unit_mana
ger.h" |
6 | 6 |
7 #include <memory> | 7 #include <memory> |
8 | 8 |
9 #include "base/bind.h" | 9 #include "base/bind.h" |
10 #include "base/bind_helpers.h" | 10 #include "base/bind_helpers.h" |
11 #include "base/macros.h" | 11 #include "base/macros.h" |
12 #include "services/resource_coordinator/coordination_unit/coordination_unit_grap
h_observer.h" | 12 #include "services/resource_coordinator/coordination_unit/coordination_unit_grap
h_observer.h" |
13 #include "services/resource_coordinator/coordination_unit/coordination_unit_impl
.h" | 13 #include "services/resource_coordinator/coordination_unit/coordination_unit_impl
.h" |
14 #include "services/resource_coordinator/coordination_unit/coordination_unit_prov
ider_impl.h" | 14 #include "services/resource_coordinator/coordination_unit/coordination_unit_prov
ider_impl.h" |
| 15 #include "services/resource_coordinator/coordination_unit/tab_cpu_usage_observer
.h" |
15 #include "services/resource_coordinator/public/cpp/coordination_unit_types.h" | 16 #include "services/resource_coordinator/public/cpp/coordination_unit_types.h" |
16 #include "services/service_manager/public/cpp/binder_registry.h" | 17 #include "services/service_manager/public/cpp/binder_registry.h" |
17 #include "services/service_manager/public/cpp/service_context.h" | 18 #include "services/service_manager/public/cpp/service_context.h" |
18 | 19 |
19 namespace resource_coordinator { | 20 namespace resource_coordinator { |
20 | 21 |
21 CoordinationUnitManager::CoordinationUnitManager() = default; | 22 CoordinationUnitManager::CoordinationUnitManager() { |
| 23 RegisterObserver(new TabCPUUsageObserver()); |
| 24 } |
22 | 25 |
23 CoordinationUnitManager::~CoordinationUnitManager() { | 26 CoordinationUnitManager::~CoordinationUnitManager() { |
24 for (CoordinationUnitGraphObserver* observer : observers_) { | 27 for (CoordinationUnitGraphObserver* observer : observers_) { |
25 delete observer; | 28 delete observer; |
26 } | 29 } |
27 } | 30 } |
28 | 31 |
29 void CoordinationUnitManager::OnStart( | 32 void CoordinationUnitManager::OnStart( |
30 service_manager::BinderRegistry* registry, | 33 service_manager::BinderRegistry* registry, |
31 service_manager::ServiceContextRefFactory* service_ref_factory) { | 34 service_manager::ServiceContextRefFactory* service_ref_factory) { |
(...skipping 21 matching lines...) Expand all Loading... |
53 void CoordinationUnitManager::NotifyObserversCoordinationUnitWillBeDestroyed( | 56 void CoordinationUnitManager::NotifyObserversCoordinationUnitWillBeDestroyed( |
54 CoordinationUnitImpl* coordination_unit) { | 57 CoordinationUnitImpl* coordination_unit) { |
55 coordination_unit->WillBeDestroyed(); | 58 coordination_unit->WillBeDestroyed(); |
56 } | 59 } |
57 | 60 |
58 void CoordinationUnitManager::UnregisterAllObserversForTesting() { | 61 void CoordinationUnitManager::UnregisterAllObserversForTesting() { |
59 observers_.clear(); | 62 observers_.clear(); |
60 } | 63 } |
61 | 64 |
62 } // namespace resource_coordinator | 65 } // namespace resource_coordinator |
OLD | NEW |