Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(18)

Side by Side Diff: chromeos/dbus/power_policy_controller.cc

Issue 18153007: Add policies to control power management on the Chrome OS login screen (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 7 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2013 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2013 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "chromeos/dbus/power_policy_controller.h" 5 #include "chromeos/dbus/power_policy_controller.h"
6 6
7 #include "base/format_macros.h" 7 #include "base/format_macros.h"
8 #include "base/logging.h" 8 #include "base/logging.h"
9 #include "base/strings/string_util.h" 9 #include "base/strings/string_util.h"
10 #include "base/strings/stringprintf.h" 10 #include "base/strings/stringprintf.h"
(...skipping 139 matching lines...) Expand 10 before | Expand all | Expand 10 after
150 delays->set_screen_off_ms(values.ac_screen_off_delay_ms); 150 delays->set_screen_off_ms(values.ac_screen_off_delay_ms);
151 delays->set_screen_lock_ms(values.ac_screen_lock_delay_ms); 151 delays->set_screen_lock_ms(values.ac_screen_lock_delay_ms);
152 delays->set_idle_warning_ms(values.ac_idle_warning_delay_ms); 152 delays->set_idle_warning_ms(values.ac_idle_warning_delay_ms);
153 delays->set_idle_ms(values.ac_idle_delay_ms); 153 delays->set_idle_ms(values.ac_idle_delay_ms);
154 154
155 // If screen-locking is enabled, ensure that the screen is locked soon 155 // If screen-locking is enabled, ensure that the screen is locked soon
156 // after it's turned off due to user inactivity. 156 // after it's turned off due to user inactivity.
157 int64 lock_ms = delays->screen_off_ms() + kScreenLockAfterOffDelayMs; 157 int64 lock_ms = delays->screen_off_ms() + kScreenLockAfterOffDelayMs;
158 if (values.enable_screen_lock && delays->screen_off_ms() > 0 && 158 if (values.enable_screen_lock && delays->screen_off_ms() > 0 &&
159 (delays->screen_lock_ms() <= 0 || lock_ms < delays->screen_lock_ms()) && 159 (delays->screen_lock_ms() <= 0 || lock_ms < delays->screen_lock_ms()) &&
160 lock_ms < delays->idle_ms()) 160 lock_ms < delays->idle_ms()) {
Daniel Erat 2013/06/28 17:05:09 for what it's worth, i've been told in previous re
bartfab (slow) 2013/07/01 12:32:59 The style guide definitely does not forbid them:
Daniel Erat 2013/07/01 14:29:05 sounds fine. for what it's worth, the distinction
bartfab (slow) 2013/07/01 14:53:08 It seems that different reviewers interpret the st
Daniel Erat 2013/07/01 14:53:52 i'm certainly fine with leaving it like this
161 delays->set_screen_lock_ms(lock_ms); 161 delays->set_screen_lock_ms(lock_ms);
162 }
162 163
163 delays = prefs_policy_.mutable_battery_delays(); 164 delays = prefs_policy_.mutable_battery_delays();
164 delays->set_screen_dim_ms(values.battery_screen_dim_delay_ms); 165 delays->set_screen_dim_ms(values.battery_screen_dim_delay_ms);
165 delays->set_screen_off_ms(values.battery_screen_off_delay_ms); 166 delays->set_screen_off_ms(values.battery_screen_off_delay_ms);
166 delays->set_screen_lock_ms(values.battery_screen_lock_delay_ms); 167 delays->set_screen_lock_ms(values.battery_screen_lock_delay_ms);
167 delays->set_idle_warning_ms(values.battery_idle_warning_delay_ms); 168 delays->set_idle_warning_ms(values.battery_idle_warning_delay_ms);
168 delays->set_idle_ms(values.battery_idle_delay_ms); 169 delays->set_idle_ms(values.battery_idle_delay_ms);
169 170
170 lock_ms = delays->screen_off_ms() + kScreenLockAfterOffDelayMs; 171 lock_ms = delays->screen_off_ms() + kScreenLockAfterOffDelayMs;
171 if (values.enable_screen_lock && delays->screen_off_ms() > 0 && 172 if (values.enable_screen_lock && delays->screen_off_ms() > 0 &&
172 (delays->screen_lock_ms() <= 0 || lock_ms < delays->screen_lock_ms()) && 173 (delays->screen_lock_ms() <= 0 || lock_ms < delays->screen_lock_ms()) &&
173 lock_ms < delays->idle_ms()) 174 lock_ms < delays->idle_ms()) {
174 delays->set_screen_lock_ms(lock_ms); 175 delays->set_screen_lock_ms(lock_ms);
176 }
175 177
176 prefs_policy_.set_ac_idle_action(GetProtoAction(values.ac_idle_action)); 178 prefs_policy_.set_ac_idle_action(GetProtoAction(values.ac_idle_action));
177 prefs_policy_.set_battery_idle_action( 179 prefs_policy_.set_battery_idle_action(
178 GetProtoAction(values.battery_idle_action)); 180 GetProtoAction(values.battery_idle_action));
179 prefs_policy_.set_lid_closed_action(GetProtoAction(values.lid_closed_action)); 181 prefs_policy_.set_lid_closed_action(GetProtoAction(values.lid_closed_action));
180 prefs_policy_.set_use_audio_activity(values.use_audio_activity); 182 prefs_policy_.set_use_audio_activity(values.use_audio_activity);
181 prefs_policy_.set_use_video_activity(values.use_video_activity); 183 prefs_policy_.set_use_video_activity(values.use_video_activity);
182 prefs_policy_.set_presentation_screen_dim_delay_factor( 184 prefs_policy_.set_presentation_screen_dim_delay_factor(
183 values.presentation_screen_dim_delay_factor); 185 values.presentation_screen_dim_delay_factor);
184 prefs_policy_.set_user_activity_screen_dim_delay_factor( 186 prefs_policy_.set_user_activity_screen_dim_delay_factor(
185 values.user_activity_screen_dim_delay_factor); 187 values.user_activity_screen_dim_delay_factor);
186 188
187 honor_screen_wake_locks_ = values.allow_screen_wake_locks; 189 honor_screen_wake_locks_ = values.allow_screen_wake_locks;
188 190
189 prefs_were_set_ = true; 191 prefs_were_set_ = true;
190 SendCurrentPolicy(); 192 SendCurrentPolicy();
191 } 193 }
192 194
195 void PowerPolicyController::ClearPrefs() {
196 prefs_policy_.Clear();
197 honor_screen_wake_locks_ = true;
198 prefs_were_set_ = false;
199 SendCurrentPolicy();
200 }
201
193 int PowerPolicyController::AddScreenWakeLock(const std::string& reason) { 202 int PowerPolicyController::AddScreenWakeLock(const std::string& reason) {
194 int id = next_wake_lock_id_++; 203 int id = next_wake_lock_id_++;
195 screen_wake_locks_[id] = reason; 204 screen_wake_locks_[id] = reason;
196 SendCurrentPolicy(); 205 SendCurrentPolicy();
197 return id; 206 return id;
198 } 207 }
199 208
200 int PowerPolicyController::AddSystemWakeLock(const std::string& reason) { 209 int PowerPolicyController::AddSystemWakeLock(const std::string& reason) {
201 int id = next_wake_lock_id_++; 210 int id = next_wake_lock_id_++;
202 system_wake_locks_[id] = reason; 211 system_wake_locks_[id] = reason;
(...skipping 59 matching lines...) Expand 10 before | Expand all | Expand 10 after
262 if (!reason.empty()) 271 if (!reason.empty())
263 policy.set_reason(reason); 272 policy.set_reason(reason);
264 client_->SetPolicy(policy); 273 client_->SetPolicy(policy);
265 } 274 }
266 275
267 void PowerPolicyController::SendEmptyPolicy() { 276 void PowerPolicyController::SendEmptyPolicy() {
268 client_->SetPolicy(power_manager::PowerManagementPolicy()); 277 client_->SetPolicy(power_manager::PowerManagementPolicy());
269 } 278 }
270 279
271 } // namespace chromeos 280 } // namespace chromeos
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698