OLD | NEW |
1 // Copyright 2016 The Chromium Authors. All rights reserved. | 1 // Copyright 2016 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/chromeos/arc/arc_service_launcher.h" | 5 #include "chrome/browser/chromeos/arc/arc_service_launcher.h" |
6 | 6 |
7 #include <utility> | 7 #include <utility> |
8 | 8 |
9 #include "base/bind.h" | 9 #include "base/bind.h" |
10 #include "base/logging.h" | 10 #include "base/logging.h" |
(...skipping 82 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
93 base::MakeUnique<ArcAccessibilityHelperBridge>(arc_bridge_service)); | 93 base::MakeUnique<ArcAccessibilityHelperBridge>(arc_bridge_service)); |
94 arc_service_manager_->AddService( | 94 arc_service_manager_->AddService( |
95 base::MakeUnique<ArcAudioBridge>(arc_bridge_service)); | 95 base::MakeUnique<ArcAudioBridge>(arc_bridge_service)); |
96 arc_service_manager_->AddService( | 96 arc_service_manager_->AddService( |
97 base::MakeUnique<ArcAuthService>(arc_bridge_service)); | 97 base::MakeUnique<ArcAuthService>(arc_bridge_service)); |
98 arc_service_manager_->AddService( | 98 arc_service_manager_->AddService( |
99 base::MakeUnique<ArcBluetoothBridge>(arc_bridge_service)); | 99 base::MakeUnique<ArcBluetoothBridge>(arc_bridge_service)); |
100 arc_service_manager_->AddService( | 100 arc_service_manager_->AddService( |
101 base::MakeUnique<ArcBootErrorNotification>(arc_bridge_service)); | 101 base::MakeUnique<ArcBootErrorNotification>(arc_bridge_service)); |
102 arc_service_manager_->AddService( | 102 arc_service_manager_->AddService( |
103 base::MakeUnique<ArcBootPhaseMonitorBridge>(arc_bridge_service)); | |
104 arc_service_manager_->AddService( | |
105 base::MakeUnique<ArcClipboardBridge>(arc_bridge_service)); | 103 base::MakeUnique<ArcClipboardBridge>(arc_bridge_service)); |
106 arc_service_manager_->AddService(base::MakeUnique<ArcCrashCollectorBridge>( | 104 arc_service_manager_->AddService(base::MakeUnique<ArcCrashCollectorBridge>( |
107 arc_bridge_service, arc_service_manager_->blocking_task_runner())); | 105 arc_bridge_service, arc_service_manager_->blocking_task_runner())); |
108 arc_service_manager_->AddService( | 106 arc_service_manager_->AddService( |
109 base::MakeUnique<ArcFileSystemOperationRunner>(arc_bridge_service)); | 107 base::MakeUnique<ArcFileSystemOperationRunner>(arc_bridge_service)); |
110 arc_service_manager_->AddService( | 108 arc_service_manager_->AddService( |
111 base::MakeUnique<ArcDownloadsWatcherService>(arc_bridge_service)); | 109 base::MakeUnique<ArcDownloadsWatcherService>(arc_bridge_service)); |
112 arc_service_manager_->AddService( | 110 arc_service_manager_->AddService( |
113 base::MakeUnique<ArcEnterpriseReportingService>(arc_bridge_service)); | 111 base::MakeUnique<ArcEnterpriseReportingService>(arc_bridge_service)); |
114 arc_service_manager_->AddService( | 112 arc_service_manager_->AddService( |
(...skipping 23 matching lines...) Expand all Loading... |
138 arc_service_manager_->AddService( | 136 arc_service_manager_->AddService( |
139 base::MakeUnique<ArcTtsService>(arc_bridge_service)); | 137 base::MakeUnique<ArcTtsService>(arc_bridge_service)); |
140 arc_service_manager_->AddService( | 138 arc_service_manager_->AddService( |
141 base::MakeUnique<ArcWallpaperService>(arc_bridge_service)); | 139 base::MakeUnique<ArcWallpaperService>(arc_bridge_service)); |
142 arc_service_manager_->AddService( | 140 arc_service_manager_->AddService( |
143 base::MakeUnique<GpuArcVideoServiceHost>(arc_bridge_service)); | 141 base::MakeUnique<GpuArcVideoServiceHost>(arc_bridge_service)); |
144 } | 142 } |
145 | 143 |
146 void ArcServiceLauncher::OnPrimaryUserProfilePrepared(Profile* profile) { | 144 void ArcServiceLauncher::OnPrimaryUserProfilePrepared(Profile* profile) { |
147 DCHECK(arc_service_manager_); | 145 DCHECK(arc_service_manager_); |
| 146 // List in lexicographical order |
| 147 arc_service_manager_->AddService(base::MakeUnique<ArcBootPhaseMonitorBridge>( |
| 148 arc_service_manager_->arc_bridge_service(), |
| 149 multi_user_util::GetAccountIdFromProfile(profile))); |
148 arc_service_manager_->AddService(base::MakeUnique<ArcNotificationManager>( | 150 arc_service_manager_->AddService(base::MakeUnique<ArcNotificationManager>( |
149 arc_service_manager_->arc_bridge_service(), | 151 arc_service_manager_->arc_bridge_service(), |
150 multi_user_util::GetAccountIdFromProfile(profile))); | 152 multi_user_util::GetAccountIdFromProfile(profile))); |
151 | 153 |
152 // Kiosk apps should be run only for kiosk sessions. | 154 // Kiosk apps should be run only for kiosk sessions. |
153 if (user_manager::UserManager::Get()->IsLoggedInAsArcKioskApp()) { | 155 if (user_manager::UserManager::Get()->IsLoggedInAsArcKioskApp()) { |
154 // ArcKioskAppService is BrowserContextKeyedService so that it's destroyed | 156 // ArcKioskAppService is BrowserContextKeyedService so that it's destroyed |
155 // on destroying the Profile, that is after ArcServiceLauncher::Shutdown(). | 157 // on destroying the Profile, that is after ArcServiceLauncher::Shutdown(). |
156 arc_service_manager_->AddService(base::MakeUnique<ArcKioskBridge>( | 158 arc_service_manager_->AddService(base::MakeUnique<ArcKioskBridge>( |
157 arc_service_manager_->arc_bridge_service(), | 159 arc_service_manager_->arc_bridge_service(), |
158 chromeos::ArcKioskAppService::Get(profile))); | 160 chromeos::ArcKioskAppService::Get(profile))); |
159 } | 161 } |
160 | 162 |
161 arc_session_manager_->OnPrimaryUserProfilePrepared(profile); | 163 arc_session_manager_->OnPrimaryUserProfilePrepared(profile); |
162 } | 164 } |
163 | 165 |
164 void ArcServiceLauncher::Shutdown() { | 166 void ArcServiceLauncher::Shutdown() { |
165 DCHECK(arc_service_manager_); | 167 DCHECK(arc_service_manager_); |
166 // Destroy in the reverse order of the initialization. | 168 // Destroy in the reverse order of the initialization. |
167 arc_service_manager_->Shutdown(); | 169 arc_service_manager_->Shutdown(); |
168 arc_session_manager_.reset(); | 170 arc_session_manager_.reset(); |
169 arc_service_manager_.reset(); | 171 arc_service_manager_.reset(); |
170 } | 172 } |
171 | 173 |
172 } // namespace arc | 174 } // namespace arc |
OLD | NEW |