1 // Copyright 2013 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 ASH_SYSTEM_CHROMEOS_POWER_VIDEO_ACTIVITY_NOTIFIER_H_
6 #define ASH_SYSTEM_CHROMEOS_POWER_VIDEO_ACTIVITY_NOTIFIER_H_
8 #include "ash/wm/video_detector.h"
9 #include "base/basictypes.h"
10 #include "base/compiler_specific.h"
11 #include "base/time/time.h"
15 // Notifies the power manager when a video is playing.
16 class VideoActivityNotifier
: public VideoDetectorObserver
,
17 public ShellObserver
{
19 explicit VideoActivityNotifier(VideoDetector
* detector
);
20 virtual ~VideoActivityNotifier();
22 // VideoDetectorObserver implementation.
23 virtual void OnVideoDetected(bool is_fullscreen
) OVERRIDE
;
25 // ShellObserver implementation.
26 virtual void OnLockStateChanged(bool locked
) OVERRIDE
;
29 VideoDetector
* detector_
; // not owned
31 // Last time that the power manager was notified.
32 base::TimeTicks last_notify_time_
;
34 // True if the screen is currently locked.
35 bool screen_is_locked_
;
37 DISALLOW_COPY_AND_ASSIGN(VideoActivityNotifier
);
42 #endif // ASH_SYSTEM_CHROMEOS_POWER_VIDEO_ACTIVITY_NOTIFIER_H_