| // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| #include "chrome/browser/chromeos/power/video_activity_notifier.h" |
| |
| #include "ash/shell.h" |
| #include "chromeos/dbus/dbus_thread_manager.h" |
| #include "chromeos/dbus/power_manager_client.h" |
| |
| namespace { |
| |
| // Minimum number of seconds between notifications. |
| const int kNotifyIntervalSec = 5; |
| |
| } // namespace |
| |
| namespace chromeos { |
| |
| VideoActivityNotifier::VideoActivityNotifier() { |
| ash::Shell::GetInstance()->video_detector()->AddObserver(this); |
| } |
| |
| VideoActivityNotifier::~VideoActivityNotifier() { |
| ash::Shell::GetInstance()->video_detector()->RemoveObserver(this); |
| } |
| |
| void VideoActivityNotifier::OnVideoDetected(bool is_fullscreen) { |
| base::TimeTicks now = base::TimeTicks::Now(); |
| if (last_notify_time_.is_null() || |
| (now - last_notify_time_).InSeconds() >= kNotifyIntervalSec) { |
| DBusThreadManager::Get()->GetPowerManagerClient()->NotifyVideoActivity( |
| is_fullscreen); |
| last_notify_time_ = now; |
| } |
| } |
| |
| } // namespace chromeos |