chrome_browser_main_chromeos.h revision 116680a4aac90f2aa7413d9095a592090648e557
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. 4 5#ifndef CHROME_BROWSER_CHROMEOS_CHROME_BROWSER_MAIN_CHROMEOS_H_ 6#define CHROME_BROWSER_CHROMEOS_CHROME_BROWSER_MAIN_CHROMEOS_H_ 7 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 "chrome/browser/chromeos/version_loader.h" 13 14namespace content { 15class PowerSaveBlocker; 16} 17 18namespace session_manager { 19class SessionManager; 20} 21 22namespace chromeos { 23 24class DataPromoNotification; 25class EventRewriter; 26class EventRewriterController; 27class ExtensionSystemEventObserver; 28class IdleActionWarningObserver; 29class MagnificationManager; 30class PeripheralBatteryObserver; 31class PowerButtonObserver; 32class PowerPrefs; 33class SessionManagerObserver; 34class SwapMetrics; 35 36namespace default_app_order { 37class ExternalLoader; 38} 39 40namespace internal { 41class DBusServices; 42} 43 44class ChromeBrowserMainPartsChromeos : public ChromeBrowserMainPartsLinux { 45 public: 46 explicit ChromeBrowserMainPartsChromeos( 47 const content::MainFunctionParams& parameters); 48 virtual ~ChromeBrowserMainPartsChromeos(); 49 50 // ChromeBrowserMainParts overrides. 51 virtual void PreEarlyInitialization() OVERRIDE; 52 virtual void PreMainMessageLoopStart() OVERRIDE; 53 virtual void PostMainMessageLoopStart() OVERRIDE; 54 virtual void PreMainMessageLoopRun() OVERRIDE; 55 56 // Stages called from PreMainMessageLoopRun. 57 virtual void PreProfileInit() OVERRIDE; 58 virtual void PostProfileInit() OVERRIDE; 59 virtual void PreBrowserStart() OVERRIDE; 60 virtual void PostBrowserStart() OVERRIDE; 61 62 virtual void PostMainMessageLoopRun() OVERRIDE; 63 virtual void PostDestroyThreads() OVERRIDE; 64 65 private: 66 scoped_ptr<default_app_order::ExternalLoader> app_order_loader_; 67 scoped_ptr<ExtensionSystemEventObserver> extension_system_event_observer_; 68 scoped_ptr<PeripheralBatteryObserver> peripheral_battery_observer_; 69 scoped_ptr<PowerPrefs> power_prefs_; 70 scoped_ptr<PowerButtonObserver> power_button_observer_; 71 scoped_ptr<content::PowerSaveBlocker> retail_mode_power_save_blocker_; 72 scoped_ptr<IdleActionWarningObserver> idle_action_warning_observer_; 73 scoped_ptr<DataPromoNotification> data_promo_notification_; 74 75 scoped_ptr<internal::DBusServices> dbus_services_; 76 77 scoped_ptr<session_manager::SessionManager> session_manager_; 78 79 scoped_ptr<EventRewriterController> keyboard_event_rewriters_; 80 81 scoped_refptr<chromeos::ExternalMetrics> external_metrics_; 82 83 VersionLoader cros_version_loader_; 84 base::CancelableTaskTracker tracker_; 85 bool use_new_network_change_notifier_; 86 87 DISALLOW_COPY_AND_ASSIGN(ChromeBrowserMainPartsChromeos); 88}; 89 90} // namespace chromeos 91 92#endif // CHROME_BROWSER_CHROMEOS_CHROME_BROWSER_MAIN_CHROMEOS_H_ 93