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
3 // found in the LICENSE file.
5 #ifndef CHROME_BROWSER_CHROMEOS_CHROME_BROWSER_MAIN_CHROMEOS_H_
6 #define CHROME_BROWSER_CHROMEOS_CHROME_BROWSER_MAIN_CHROMEOS_H_
8 #include "base/memory/scoped_ptr.h"
9 #include "base/task/cancelable_task_tracker.h"
10 #include "chrome/browser/chrome_browser_main_linux.h"
11 #include "chrome/browser/chromeos/external_metrics.h"
12 #include "chromeos/system/version_loader.h"
14 namespace session_manager
{
20 class DataPromoNotification
;
22 class EventRewriterController
;
23 class IdleActionWarningObserver
;
24 class MagnificationManager
;
25 class PeripheralBatteryObserver
;
26 class PowerButtonObserver
;
28 class RendererFreezer
;
29 class SessionManagerObserver
;
31 class WakeOnWifiManager
;
33 namespace default_app_order
{
41 class ChromeBrowserMainPartsChromeos
: public ChromeBrowserMainPartsLinux
{
43 explicit ChromeBrowserMainPartsChromeos(
44 const content::MainFunctionParams
& parameters
);
45 ~ChromeBrowserMainPartsChromeos() override
;
47 // ChromeBrowserMainParts overrides.
48 void PreEarlyInitialization() override
;
49 void PreMainMessageLoopStart() override
;
50 void PostMainMessageLoopStart() override
;
51 void PreMainMessageLoopRun() override
;
53 // Stages called from PreMainMessageLoopRun.
54 void PreProfileInit() override
;
55 void PostProfileInit() override
;
56 void PreBrowserStart() override
;
57 void PostBrowserStart() override
;
59 void PostMainMessageLoopRun() override
;
60 void PostDestroyThreads() override
;
63 scoped_ptr
<default_app_order::ExternalLoader
> app_order_loader_
;
64 scoped_ptr
<PeripheralBatteryObserver
> peripheral_battery_observer_
;
65 scoped_ptr
<PowerPrefs
> power_prefs_
;
66 scoped_ptr
<PowerButtonObserver
> power_button_observer_
;
67 scoped_ptr
<IdleActionWarningObserver
> idle_action_warning_observer_
;
68 scoped_ptr
<DataPromoNotification
> data_promo_notification_
;
69 scoped_ptr
<RendererFreezer
> renderer_freezer_
;
70 scoped_ptr
<WakeOnWifiManager
> wake_on_wifi_manager_
;
72 scoped_ptr
<internal::DBusServices
> dbus_services_
;
74 scoped_ptr
<session_manager::SessionManager
> session_manager_
;
76 scoped_ptr
<EventRewriterController
> keyboard_event_rewriters_
;
78 scoped_refptr
<chromeos::ExternalMetrics
> external_metrics_
;
80 DISALLOW_COPY_AND_ASSIGN(ChromeBrowserMainPartsChromeos
);
83 } // namespace chromeos
85 #endif // CHROME_BROWSER_CHROMEOS_CHROME_BROWSER_MAIN_CHROMEOS_H_