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
;
25 class MagnificationManager
;
26 class PeripheralBatteryObserver
;
27 class PowerButtonObserver
;
29 class RendererFreezer
;
30 class SessionManagerObserver
;
32 class WakeOnWifiManager
;
34 namespace default_app_order
{
42 class ChromeBrowserMainPartsChromeos
: public ChromeBrowserMainPartsLinux
{
44 explicit ChromeBrowserMainPartsChromeos(
45 const content::MainFunctionParams
& parameters
);
46 virtual ~ChromeBrowserMainPartsChromeos();
48 // ChromeBrowserMainParts overrides.
49 virtual void PreEarlyInitialization() override
;
50 virtual void PreMainMessageLoopStart() override
;
51 virtual void PostMainMessageLoopStart() override
;
52 virtual void PreMainMessageLoopRun() override
;
54 // Stages called from PreMainMessageLoopRun.
55 virtual void PreProfileInit() override
;
56 virtual void PostProfileInit() override
;
57 virtual void PreBrowserStart() override
;
58 virtual void PostBrowserStart() override
;
60 virtual void PostMainMessageLoopRun() override
;
61 virtual void PostDestroyThreads() override
;
64 scoped_ptr
<default_app_order::ExternalLoader
> app_order_loader_
;
65 scoped_ptr
<PeripheralBatteryObserver
> peripheral_battery_observer_
;
66 scoped_ptr
<PowerPrefs
> power_prefs_
;
67 scoped_ptr
<PowerButtonObserver
> power_button_observer_
;
68 scoped_ptr
<IdleActionWarningObserver
> idle_action_warning_observer_
;
69 scoped_ptr
<DataPromoNotification
> data_promo_notification_
;
70 scoped_ptr
<RendererFreezer
> renderer_freezer_
;
71 scoped_ptr
<LightBar
> light_bar_
;
72 scoped_ptr
<WakeOnWifiManager
> wake_on_wifi_manager_
;
74 scoped_ptr
<internal::DBusServices
> dbus_services_
;
76 scoped_ptr
<session_manager::SessionManager
> session_manager_
;
78 scoped_ptr
<EventRewriterController
> keyboard_event_rewriters_
;
80 scoped_refptr
<chromeos::ExternalMetrics
> external_metrics_
;
82 DISALLOW_COPY_AND_ASSIGN(ChromeBrowserMainPartsChromeos
);
85 } // namespace chromeos
87 #endif // CHROME_BROWSER_CHROMEOS_CHROME_BROWSER_MAIN_CHROMEOS_H_