summaryrefslogtreecommitdiffstats
path: root/ash/shell.h
diff options
context:
space:
mode:
authorderat@chromium.org <derat@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-10-09 07:56:55 +0000
committerderat@chromium.org <derat@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-10-09 07:56:55 +0000
commitded58fd466862cb75930af93350f9cb9c9bacea3 (patch)
treee356d8b92f9e5675ec5810ee7676e35b855f2ccb /ash/shell.h
parent3f0855c057b90feb3f77176d67d990d9e8d1097c (diff)
downloadchromium_src-ded58fd466862cb75930af93350f9cb9c9bacea3.zip
chromium_src-ded58fd466862cb75930af93350f9cb9c9bacea3.tar.gz
chromium_src-ded58fd466862cb75930af93350f9cb9c9bacea3.tar.bz2
Reland "chromeos: Move several power-related classes to Ash"
This reverts r227562 to reland r227544. Original description: "Move SuspendObserver, UserActivityNotifier, and VideoActivityNotifier from chrome/browser/chromeos/power to ash/system/chromeos/power." This iteration makes ash::Shell's destructor destroy VideoActivityNotifier before VideoDetector to avoid a use-after-free. BUG=none Review URL: https://codereview.chromium.org/26569003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@227694 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'ash/shell.h')
-rw-r--r--ash/shell.h12
1 files changed, 10 insertions, 2 deletions
diff --git a/ash/shell.h b/ash/shell.h
index 0c8d7dd..f04c511 100644
--- a/ash/shell.h
+++ b/ash/shell.h
@@ -129,9 +129,12 @@ class ScopedTargetRootWindow;
class ScreenPositionController;
class SlowAnimationEventFilter;
class StatusAreaWidget;
+class SuspendObserver;
class SystemGestureEventFilter;
class SystemModalContainerEventFilter;
class TouchObserverHUD;
+class UserActivityNotifier;
+class VideoActivityNotifier;
}
namespace shell {
@@ -622,7 +625,11 @@ class ASH_EXPORT Shell
scoped_ptr<internal::LocaleNotificationController>
locale_notification_controller_;
-#if defined(OS_CHROMEOS) && defined(USE_X11)
+#if defined(OS_CHROMEOS)
+ scoped_ptr<internal::SuspendObserver> suspend_observer_;
+ scoped_ptr<internal::UserActivityNotifier> user_activity_notifier_;
+ scoped_ptr<internal::VideoActivityNotifier> video_activity_notifier_;
+#if defined(USE_X11)
// Controls video output device state.
scoped_ptr<chromeos::OutputConfigurator> output_configurator_;
scoped_ptr<internal::OutputConfiguratorAnimation>
@@ -631,7 +638,8 @@ class ASH_EXPORT Shell
// Listens for output changes and updates the display manager.
scoped_ptr<internal::DisplayChangeObserver> display_change_observer_;
-#endif // defined(OS_CHROMEOS) && defined(USE_X11)
+#endif // defined(USE_X11)
+#endif // defined(OS_CHROMEOS)
scoped_ptr<internal::ResolutionNotificationController>
resolution_notification_controller_;