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 "chrome/browser/chrome_browser_main_linux.h"
10 #include "chrome/browser/chromeos/version_loader.h"
11 #include "chrome/common/cancelable_task_tracker.h"
18 class PowerSaveBlocker
;
23 class DataPromoNotification
;
24 class ExtensionSystemEventObserver
;
25 class IdleActionWarningObserver
;
26 class MagnificationManager
;
27 class PeripheralBatteryObserver
;
28 class PowerButtonObserver
;
30 class SessionManagerObserver
;
33 namespace default_app_order
{
41 class ChromeBrowserMainPartsChromeos
: public ChromeBrowserMainPartsLinux
{
43 explicit ChromeBrowserMainPartsChromeos(
44 const content::MainFunctionParams
& parameters
);
45 virtual ~ChromeBrowserMainPartsChromeos();
47 // ChromeBrowserMainParts overrides.
48 virtual void PreEarlyInitialization() OVERRIDE
;
49 virtual void PreMainMessageLoopStart() OVERRIDE
;
50 virtual void PostMainMessageLoopStart() OVERRIDE
;
51 virtual void PreMainMessageLoopRun() OVERRIDE
;
53 // Stages called from PreMainMessageLoopRun.
54 virtual void PreProfileInit() OVERRIDE
;
55 virtual void PostProfileInit() OVERRIDE
;
56 virtual void PreBrowserStart() OVERRIDE
;
57 virtual void PostBrowserStart() OVERRIDE
;
59 virtual void PostMainMessageLoopRun() OVERRIDE
;
60 virtual void PostDestroyThreads() OVERRIDE
;
63 scoped_ptr
<contacts::ContactManager
> contact_manager_
;
64 scoped_ptr
<default_app_order::ExternalLoader
> app_order_loader_
;
65 scoped_ptr
<ExtensionSystemEventObserver
> extension_system_event_observer_
;
66 scoped_ptr
<PeripheralBatteryObserver
> peripheral_battery_observer_
;
67 scoped_ptr
<PowerPrefs
> power_prefs_
;
68 scoped_ptr
<PowerButtonObserver
> power_button_observer_
;
69 scoped_ptr
<content::PowerSaveBlocker
> retail_mode_power_save_blocker_
;
70 scoped_ptr
<IdleActionWarningObserver
> idle_action_warning_observer_
;
71 scoped_ptr
<DataPromoNotification
> data_promo_notification_
;
73 scoped_ptr
<internal::DBusServices
> dbus_services_
;
75 VersionLoader cros_version_loader_
;
76 CancelableTaskTracker tracker_
;
77 bool use_new_network_change_notifier_
;
79 DISALLOW_COPY_AND_ASSIGN(ChromeBrowserMainPartsChromeos
);
82 } // namespace chromeos
84 #endif // CHROME_BROWSER_CHROMEOS_CHROME_BROWSER_MAIN_CHROMEOS_H_