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_