Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(219)

Side by Side Diff: chrome/browser/chromeos/arc/arc_service_launcher.cc

Issue 2264743002: cheets: implement cros side of WallpaperManagerService. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: cheets: implement cros side of WallpaperManagerService. Created 4 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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 "base/logging.h" 7 #include "base/logging.h"
8 #include "base/memory/ptr_util.h" 8 #include "base/memory/ptr_util.h"
9 #include "chrome/browser/chromeos/arc/arc_auth_service.h" 9 #include "chrome/browser/chromeos/arc/arc_auth_service.h"
10 #include "chrome/browser/chromeos/arc/arc_boot_error_notification.h" 10 #include "chrome/browser/chromeos/arc/arc_boot_error_notification.h"
11 #include "chrome/browser/chromeos/arc/arc_downloads_watcher_service.h" 11 #include "chrome/browser/chromeos/arc/arc_downloads_watcher_service.h"
12 #include "chrome/browser/chromeos/arc/arc_enterprise_reporting_service.h" 12 #include "chrome/browser/chromeos/arc/arc_enterprise_reporting_service.h"
13 #include "chrome/browser/chromeos/arc/arc_policy_bridge.h" 13 #include "chrome/browser/chromeos/arc/arc_policy_bridge.h"
14 #include "chrome/browser/chromeos/arc/arc_print_service.h" 14 #include "chrome/browser/chromeos/arc/arc_print_service.h"
15 #include "chrome/browser/chromeos/arc/arc_process_service.h" 15 #include "chrome/browser/chromeos/arc/arc_process_service.h"
16 #include "chrome/browser/chromeos/arc/arc_settings_service.h" 16 #include "chrome/browser/chromeos/arc/arc_settings_service.h"
17 #include "chrome/browser/chromeos/arc/arc_tts_service.h" 17 #include "chrome/browser/chromeos/arc/arc_tts_service.h"
18 #include "chrome/browser/chromeos/arc/arc_wallpaper_handler.h" 18 #include "chrome/browser/chromeos/arc/arc_wallpaper_service.h"
19 #include "chrome/browser/chromeos/arc/gpu_arc_video_service_host.h" 19 #include "chrome/browser/chromeos/arc/gpu_arc_video_service_host.h"
20 #include "components/arc/arc_bridge_service.h" 20 #include "components/arc/arc_bridge_service.h"
21 #include "components/arc/intent_helper/arc_intent_helper_bridge.h" 21 #include "components/arc/intent_helper/arc_intent_helper_bridge.h"
22 #include "content/public/browser/browser_thread.h" 22 #include "content/public/browser/browser_thread.h"
23 23
24 namespace arc { 24 namespace arc {
25 25
26 ArcServiceLauncher::ArcServiceLauncher() = default; 26 ArcServiceLauncher::ArcServiceLauncher() = default;
27 27
28 ArcServiceLauncher::~ArcServiceLauncher() = default; 28 ArcServiceLauncher::~ArcServiceLauncher() = default;
29 29
30 void ArcServiceLauncher::Initialize() { 30 void ArcServiceLauncher::Initialize() {
31 // Create ARC service manager. 31 // Create ARC service manager.
32 arc_service_manager_ = base::MakeUnique<ArcServiceManager>( 32 arc_service_manager_ = base::MakeUnique<ArcServiceManager>(
33 content::BrowserThread::GetBlockingPool()); 33 content::BrowserThread::GetBlockingPool());
34 std::unique_ptr<ArcService> arc_wallpaper_handler_ =
hidehiko 2016/09/02 05:07:13 nit: Please remove trailing underscore.
Muyuan 2016/09/06 19:53:41 Acknowledged.
35 base::MakeUnique<ArcWallpaperService>(
36 arc_service_manager_->arc_bridge_service());
34 arc_service_manager_->AddService(base::MakeUnique<ArcAuthService>( 37 arc_service_manager_->AddService(base::MakeUnique<ArcAuthService>(
35 arc_service_manager_->arc_bridge_service())); 38 arc_service_manager_->arc_bridge_service()));
36 arc_service_manager_->AddService(base::MakeUnique<ArcBootErrorNotification>( 39 arc_service_manager_->AddService(base::MakeUnique<ArcBootErrorNotification>(
37 arc_service_manager_->arc_bridge_service())); 40 arc_service_manager_->arc_bridge_service()));
38 arc_service_manager_->AddService(base::MakeUnique<ArcDownloadsWatcherService>( 41 arc_service_manager_->AddService(base::MakeUnique<ArcDownloadsWatcherService>(
39 arc_service_manager_->arc_bridge_service())); 42 arc_service_manager_->arc_bridge_service()));
40 arc_service_manager_->AddService( 43 arc_service_manager_->AddService(
41 base::MakeUnique<ArcEnterpriseReportingService>( 44 base::MakeUnique<ArcEnterpriseReportingService>(
42 arc_service_manager_->arc_bridge_service())); 45 arc_service_manager_->arc_bridge_service()));
43 arc_service_manager_->AddService(base::MakeUnique<ArcIntentHelperBridge>( 46 arc_service_manager_->AddService(base::MakeUnique<ArcIntentHelperBridge>(
44 arc_service_manager_->arc_bridge_service(), 47 arc_service_manager_->arc_bridge_service(),
45 arc_service_manager_->icon_loader(), 48 arc_service_manager_->icon_loader(),
46 base::MakeUnique<ArcWallpaperHandler>(), 49 (ArcWallpaperService*)arc_wallpaper_handler_.get(),
hidehiko 2016/09/02 05:07:13 This can be use-after-free. IIUC, the element dest
Luis Héctor Chávez 2016/09/02 16:23:47 Another approach (since this will be removed very
Muyuan 2016/09/06 19:53:41 Done.
47 arc_service_manager_->activity_resolver())); 50 arc_service_manager_->activity_resolver()));
48 arc_service_manager_->AddService(base::MakeUnique<ArcPolicyBridge>( 51 arc_service_manager_->AddService(base::MakeUnique<ArcPolicyBridge>(
49 arc_service_manager_->arc_bridge_service())); 52 arc_service_manager_->arc_bridge_service()));
50 arc_service_manager_->AddService(base::MakeUnique<ArcPrintService>( 53 arc_service_manager_->AddService(base::MakeUnique<ArcPrintService>(
51 arc_service_manager_->arc_bridge_service())); 54 arc_service_manager_->arc_bridge_service()));
52 arc_service_manager_->AddService(base::MakeUnique<ArcProcessService>( 55 arc_service_manager_->AddService(base::MakeUnique<ArcProcessService>(
53 arc_service_manager_->arc_bridge_service())); 56 arc_service_manager_->arc_bridge_service()));
54 arc_service_manager_->AddService(base::MakeUnique<ArcSettingsService>( 57 arc_service_manager_->AddService(base::MakeUnique<ArcSettingsService>(
55 arc_service_manager_->arc_bridge_service())); 58 arc_service_manager_->arc_bridge_service()));
56 arc_service_manager_->AddService(base::MakeUnique<ArcTtsService>( 59 arc_service_manager_->AddService(base::MakeUnique<ArcTtsService>(
57 arc_service_manager_->arc_bridge_service())); 60 arc_service_manager_->arc_bridge_service()));
58 arc_service_manager_->AddService(base::MakeUnique<GpuArcVideoServiceHost>( 61 arc_service_manager_->AddService(base::MakeUnique<GpuArcVideoServiceHost>(
59 arc_service_manager_->arc_bridge_service())); 62 arc_service_manager_->arc_bridge_service()));
63 arc_service_manager_->AddService(std::move(arc_wallpaper_handler_));
60 } 64 }
61 65
62 void ArcServiceLauncher::Shutdown() { 66 void ArcServiceLauncher::Shutdown() {
63 DCHECK(arc_service_manager_); 67 DCHECK(arc_service_manager_);
64 arc_service_manager_->Shutdown(); 68 arc_service_manager_->Shutdown();
65 arc_service_manager_->arc_bridge_service()->Shutdown(); 69 arc_service_manager_->arc_bridge_service()->Shutdown();
66 } 70 }
67 71
68 } // namespace arc 72 } // namespace arc
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698