| Index: chromeos/power/power_state_override.cc
|
| diff --git a/chromeos/power/power_state_override.cc b/chromeos/power/power_state_override.cc
|
| deleted file mode 100644
|
| index b46e57424ae2ace0f12e9e8953b53ea00da02aff..0000000000000000000000000000000000000000
|
| --- a/chromeos/power/power_state_override.cc
|
| +++ /dev/null
|
| @@ -1,100 +0,0 @@
|
| -// 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 "chromeos/power/power_state_override.h"
|
| -
|
| -#include "base/bind.h"
|
| -#include "base/message_loop.h"
|
| -#include "base/time.h"
|
| -#include "chromeos/dbus/dbus_thread_manager.h"
|
| -#include "chromeos/dbus/power_manager_client.h"
|
| -
|
| -namespace {
|
| -
|
| -// Frequency with which overrides are renewed.
|
| -const int kHeartbeatTimeInSecs = 300;
|
| -
|
| -// Duration beyond |kHeartbeatTimeInSecs| for which overrides are requested.
|
| -// This should be long enough that we're able to renew the request before it
|
| -// expires, but short enough that the power manager won't end up honoring a
|
| -// stale request for a long time if Chrome crashes and orphans its requests.
|
| -const int kRequestSlackInSecs = 15;
|
| -
|
| -} // namespace
|
| -
|
| -namespace chromeos {
|
| -
|
| -PowerStateOverride::PowerStateOverride(Mode mode)
|
| - : override_types_(0),
|
| - request_id_(0),
|
| - dbus_thread_manager_(DBusThreadManager::Get()) {
|
| - switch (mode) {
|
| - case BLOCK_DISPLAY_SLEEP:
|
| - override_types_ |= (PowerManagerClient::DISABLE_IDLE_DIM |
|
| - PowerManagerClient::DISABLE_IDLE_BLANK);
|
| - // fallthrough
|
| - case BLOCK_SYSTEM_SUSPEND:
|
| - override_types_ |= PowerManagerClient::DISABLE_IDLE_SUSPEND;
|
| - break;
|
| - default:
|
| - NOTREACHED() << "Unhandled mode " << mode;
|
| - }
|
| -
|
| - dbus_thread_manager_->AddObserver(this);
|
| -
|
| - // request_id_ = 0 will create a new override request.
|
| - // We do a post task here to ensure that this request runs 'after' our
|
| - // constructor is done. If not, there is a possibility (though only in
|
| - // tests at the moment) that the power state override request executes
|
| - // and returns before the constructor has finished executing. This will
|
| - // cause an AddRef and a Release, the latter destructing our current
|
| - // instance even before the constructor has finished executing (as it does
|
| - // in the DownloadExtensionTest browsertests currently).
|
| - MessageLoop::current()->PostTask(
|
| - FROM_HERE,
|
| - base::Bind(&PowerStateOverride::CallRequestPowerStateOverrides, this));
|
| -
|
| - heartbeat_.Start(FROM_HERE,
|
| - base::TimeDelta::FromSeconds(kHeartbeatTimeInSecs),
|
| - this,
|
| - &PowerStateOverride::CallRequestPowerStateOverrides);
|
| -}
|
| -
|
| -PowerStateOverride::~PowerStateOverride() {
|
| - if (dbus_thread_manager_)
|
| - dbus_thread_manager_->RemoveObserver(this);
|
| - CancelRequest();
|
| -}
|
| -
|
| -void PowerStateOverride::OnDBusThreadManagerDestroying(
|
| - DBusThreadManager* manager) {
|
| - DCHECK_EQ(manager, dbus_thread_manager_);
|
| - CancelRequest();
|
| - dbus_thread_manager_ = NULL;
|
| -}
|
| -
|
| -void PowerStateOverride::SetRequestId(uint32 request_id) {
|
| - request_id_ = request_id;
|
| -}
|
| -
|
| -void PowerStateOverride::CallRequestPowerStateOverrides() {
|
| - DCHECK(dbus_thread_manager_);
|
| - dbus_thread_manager_->GetPowerManagerClient()->RequestPowerStateOverrides(
|
| - request_id_,
|
| - base::TimeDelta::FromSeconds(
|
| - kHeartbeatTimeInSecs + kRequestSlackInSecs),
|
| - override_types_,
|
| - base::Bind(&PowerStateOverride::SetRequestId, this));
|
| -}
|
| -
|
| -void PowerStateOverride::CancelRequest() {
|
| - if (request_id_) {
|
| - DCHECK(dbus_thread_manager_);
|
| - dbus_thread_manager_->GetPowerManagerClient()->
|
| - CancelPowerStateOverrides(request_id_);
|
| - request_id_ = 0;
|
| - }
|
| -}
|
| -
|
| -} // namespace chromeos
|
|
|