Updating trunk VERSION from 2139.0 to 2140.0
[chromium-blink-merge.git] / ash / system / chromeos / power / video_activity_notifier.h
blob8c2dc41ce6ca77585180f6a456a54061c873ec52
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"
13 namespace ash {
15 // Notifies the power manager when a video is playing.
16 class VideoActivityNotifier : public VideoDetectorObserver,
17 public ShellObserver {
18 public:
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;
28 private:
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);
40 } // namespace ash
42 #endif // ASH_SYSTEM_CHROMEOS_POWER_VIDEO_ACTIVITY_NOTIFIER_H_