| Index: chromeos/dbus/power_policy_controller.cc
|
| diff --git a/chromeos/dbus/power_policy_controller.cc b/chromeos/dbus/power_policy_controller.cc
|
| index 783d17fb3e636d76b77b95fa5a243f6160514e1a..1996e2f88c2dd314028187d8a2e9ec8e48e49490 100644
|
| --- a/chromeos/dbus/power_policy_controller.cc
|
| +++ b/chromeos/dbus/power_policy_controller.cc
|
| @@ -276,12 +276,21 @@ void PowerPolicyController::NotifyChromeIsExiting() {
|
| SendCurrentPolicy();
|
| }
|
|
|
| +void PowerPolicyController::SetEncryptionMigrationActive(bool active) {
|
| + if (encryption_migration_active_ == active)
|
| + return;
|
| +
|
| + encryption_migration_active_ = active;
|
| + SendCurrentPolicy();
|
| +}
|
| +
|
| PowerPolicyController::PowerPolicyController(PowerManagerClient* client)
|
| : client_(client),
|
| prefs_were_set_(false),
|
| honor_screen_wake_locks_(true),
|
| next_wake_lock_id_(1),
|
| - chrome_is_exiting_(false) {
|
| + chrome_is_exiting_(false),
|
| + encryption_migration_active_(false) {
|
| DCHECK(client_);
|
| client_->AddObserver(this);
|
| }
|
| @@ -367,6 +376,15 @@ void PowerPolicyController::SendCurrentPolicy() {
|
| }
|
| }
|
|
|
| + if (encryption_migration_active_ &&
|
| + policy.lid_closed_action() !=
|
| + power_manager::PowerManagementPolicy_Action_DO_NOTHING) {
|
| + policy.set_lid_closed_action(
|
| + power_manager::PowerManagementPolicy_Action_SUSPEND);
|
| + causes +=
|
| + std::string((causes.empty() ? "" : ", ")) + "encryption migration";
|
| + }
|
| +
|
| // To avoid a race in the case where the user asks Chrome to sign out
|
| // and then immediately closes the lid, override the lid-closed action
|
| // so the system will stay awake while Chrome is exiting. When Chrome
|
|
|