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

Side by Side Diff: chrome/browser/chromeos/policy/power_policy_browsertest.cc

Issue 116983008: chromeos: Don't send empty power management policies. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: don't crash in d'tor if uninitialized Created 6 years, 11 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 <string> 5 #include <string>
6 #include <vector> 6 #include <vector>
7 7
8 #include "base/basictypes.h" 8 #include "base/basictypes.h"
9 #include "base/bind.h" 9 #include "base/bind.h"
10 #include "base/callback.h" 10 #include "base/callback.h"
(...skipping 274 matching lines...) Expand 10 before | Expand all | Expand 10 after
285 285
286 // Tell the DeviceSettingsService that there is no local owner. 286 // Tell the DeviceSettingsService that there is no local owner.
287 chromeos::DeviceSettingsService::Get()->SetUsername(std::string()); 287 chromeos::DeviceSettingsService::Get()->SetUsername(std::string());
288 } 288 }
289 289
290 // Verifies that device policy is applied on the login screen. 290 // Verifies that device policy is applied on the login screen.
291 // http://crbug.com/330454 291 // http://crbug.com/330454
292 IN_PROC_BROWSER_TEST_F(PowerPolicyLoginScreenBrowserTest, 292 IN_PROC_BROWSER_TEST_F(PowerPolicyLoginScreenBrowserTest,
293 DISABLED_SetDevicePolicy) { 293 DISABLED_SetDevicePolicy) {
294 pm::PowerManagementPolicy power_management_policy = 294 pm::PowerManagementPolicy power_management_policy =
295 power_manager_client_->get_policy(); 295 power_manager_client_->policy();
296 power_management_policy.mutable_ac_delays()->set_screen_dim_ms(5000); 296 power_management_policy.mutable_ac_delays()->set_screen_dim_ms(5000);
297 power_management_policy.mutable_ac_delays()->set_screen_off_ms(7000); 297 power_management_policy.mutable_ac_delays()->set_screen_off_ms(7000);
298 power_management_policy.mutable_ac_delays()->set_idle_ms(9000); 298 power_management_policy.mutable_ac_delays()->set_idle_ms(9000);
299 power_management_policy.mutable_battery_delays()->set_screen_dim_ms(1000); 299 power_management_policy.mutable_battery_delays()->set_screen_dim_ms(1000);
300 power_management_policy.mutable_battery_delays()->set_screen_off_ms(3000); 300 power_management_policy.mutable_battery_delays()->set_screen_off_ms(3000);
301 power_management_policy.mutable_battery_delays()->set_idle_ms(4000); 301 power_management_policy.mutable_battery_delays()->set_idle_ms(4000);
302 power_management_policy.set_ac_idle_action( 302 power_management_policy.set_ac_idle_action(
303 pm::PowerManagementPolicy::DO_NOTHING); 303 pm::PowerManagementPolicy::DO_NOTHING);
304 power_management_policy.set_battery_idle_action( 304 power_management_policy.set_battery_idle_action(
305 pm::PowerManagementPolicy::DO_NOTHING); 305 pm::PowerManagementPolicy::DO_NOTHING);
306 power_management_policy.set_lid_closed_action( 306 power_management_policy.set_lid_closed_action(
307 pm::PowerManagementPolicy::DO_NOTHING); 307 pm::PowerManagementPolicy::DO_NOTHING);
308 power_management_policy.set_user_activity_screen_dim_delay_factor(3.0); 308 power_management_policy.set_user_activity_screen_dim_delay_factor(3.0);
309 309
310 em::ChromeDeviceSettingsProto& proto(device_policy()->payload()); 310 em::ChromeDeviceSettingsProto& proto(device_policy()->payload());
311 proto.mutable_login_screen_power_management()-> 311 proto.mutable_login_screen_power_management()->
312 set_login_screen_power_management(kLoginScreenPowerManagementPolicy); 312 set_login_screen_power_management(kLoginScreenPowerManagementPolicy);
313 StoreAndReloadDevicePolicyAndWaitForLoginProfileChange(); 313 StoreAndReloadDevicePolicyAndWaitForLoginProfileChange();
314 EXPECT_EQ(GetDebugString(power_management_policy), 314 EXPECT_EQ(GetDebugString(power_management_policy),
315 GetDebugString(power_manager_client_->get_policy())); 315 GetDebugString(power_manager_client_->policy()));
316 } 316 }
317 317
318 // Verifies that device policy is ignored during a session. 318 // Verifies that device policy is ignored during a session.
319 // http://crbug.com/330454 319 // http://crbug.com/330454
320 IN_PROC_BROWSER_TEST_F(PowerPolicyInSessionBrowserTest, 320 IN_PROC_BROWSER_TEST_F(PowerPolicyInSessionBrowserTest,
321 DISABLED_SetDevicePolicy) { 321 DISABLED_SetDevicePolicy) {
322 pm::PowerManagementPolicy power_management_policy = 322 pm::PowerManagementPolicy power_management_policy =
323 power_manager_client_->get_policy(); 323 power_manager_client_->policy();
324 324
325 em::ChromeDeviceSettingsProto& proto(device_policy()->payload()); 325 em::ChromeDeviceSettingsProto& proto(device_policy()->payload());
326 proto.mutable_login_screen_power_management()-> 326 proto.mutable_login_screen_power_management()->
327 set_login_screen_power_management(kLoginScreenPowerManagementPolicy); 327 set_login_screen_power_management(kLoginScreenPowerManagementPolicy);
328 StoreAndReloadDevicePolicyAndWaitForLoginProfileChange(); 328 StoreAndReloadDevicePolicyAndWaitForLoginProfileChange();
329 EXPECT_EQ(GetDebugString(power_management_policy), 329 EXPECT_EQ(GetDebugString(power_management_policy),
330 GetDebugString(power_manager_client_->get_policy())); 330 GetDebugString(power_manager_client_->policy()));
331 } 331 }
332 332
333 // Verifies that user policy is applied during a session. 333 // Verifies that user policy is applied during a session.
334 // http://crbug.com/330454 334 // http://crbug.com/330454
335 IN_PROC_BROWSER_TEST_F(PowerPolicyInSessionBrowserTest, 335 IN_PROC_BROWSER_TEST_F(PowerPolicyInSessionBrowserTest,
336 DISABLED_SetUserPolicy) { 336 DISABLED_SetUserPolicy) {
337 pm::PowerManagementPolicy power_management_policy = 337 pm::PowerManagementPolicy power_management_policy =
338 power_manager_client_->get_policy(); 338 power_manager_client_->policy();
339 power_management_policy.mutable_ac_delays()->set_screen_dim_ms(5000); 339 power_management_policy.mutable_ac_delays()->set_screen_dim_ms(5000);
340 power_management_policy.mutable_ac_delays()->set_screen_lock_ms(6000); 340 power_management_policy.mutable_ac_delays()->set_screen_lock_ms(6000);
341 power_management_policy.mutable_ac_delays()->set_screen_off_ms(7000); 341 power_management_policy.mutable_ac_delays()->set_screen_off_ms(7000);
342 power_management_policy.mutable_ac_delays()->set_idle_warning_ms(8000); 342 power_management_policy.mutable_ac_delays()->set_idle_warning_ms(8000);
343 power_management_policy.mutable_ac_delays()->set_idle_ms(9000); 343 power_management_policy.mutable_ac_delays()->set_idle_ms(9000);
344 power_management_policy.mutable_battery_delays()->set_screen_dim_ms(1000); 344 power_management_policy.mutable_battery_delays()->set_screen_dim_ms(1000);
345 power_management_policy.mutable_battery_delays()->set_screen_lock_ms(2000); 345 power_management_policy.mutable_battery_delays()->set_screen_lock_ms(2000);
346 power_management_policy.mutable_battery_delays()->set_screen_off_ms(3000); 346 power_management_policy.mutable_battery_delays()->set_screen_off_ms(3000);
347 power_management_policy.mutable_battery_delays()->set_idle_warning_ms(4000); 347 power_management_policy.mutable_battery_delays()->set_idle_warning_ms(4000);
348 power_management_policy.mutable_battery_delays()->set_idle_ms(5000); 348 power_management_policy.mutable_battery_delays()->set_idle_ms(5000);
(...skipping 29 matching lines...) Expand all
378 chromeos::PowerPolicyController::ACTION_STOP_SESSION); 378 chromeos::PowerPolicyController::ACTION_STOP_SESSION);
379 user_policy_.payload().mutable_lidcloseaction()->set_value( 379 user_policy_.payload().mutable_lidcloseaction()->set_value(
380 chromeos::PowerPolicyController::ACTION_STOP_SESSION); 380 chromeos::PowerPolicyController::ACTION_STOP_SESSION);
381 user_policy_.payload().mutable_presentationscreendimdelayscale()->set_value( 381 user_policy_.payload().mutable_presentationscreendimdelayscale()->set_value(
382 300); 382 300);
383 user_policy_.payload().mutable_useractivityscreendimdelayscale()->set_value( 383 user_policy_.payload().mutable_useractivityscreendimdelayscale()->set_value(
384 300); 384 300);
385 user_policy_.payload().mutable_waitforinitialuseractivity()->set_value(true); 385 user_policy_.payload().mutable_waitforinitialuseractivity()->set_value(true);
386 StoreAndReloadUserPolicy(); 386 StoreAndReloadUserPolicy();
387 EXPECT_EQ(GetDebugString(power_management_policy), 387 EXPECT_EQ(GetDebugString(power_management_policy),
388 GetDebugString(power_manager_client_->get_policy())); 388 GetDebugString(power_manager_client_->policy()));
389 } 389 }
390 390
391 // Verifies that screen wake locks can be enabled and disabled by extensions and 391 // Verifies that screen wake locks can be enabled and disabled by extensions and
392 // user policy during a session. 392 // user policy during a session.
393 IN_PROC_BROWSER_TEST_F(PowerPolicyInSessionBrowserTest, AllowScreenWakeLocks) { 393 IN_PROC_BROWSER_TEST_F(PowerPolicyInSessionBrowserTest, AllowScreenWakeLocks) {
394 pm::PowerManagementPolicy baseline_policy = 394 pm::PowerManagementPolicy baseline_policy =
395 power_manager_client_->get_policy(); 395 power_manager_client_->policy();
396 396
397 // Default settings should have delays. 397 // Default settings should have delays.
398 pm::PowerManagementPolicy power_management_policy = baseline_policy; 398 pm::PowerManagementPolicy power_management_policy = baseline_policy;
399 EXPECT_NE(0, baseline_policy.ac_delays().screen_dim_ms()); 399 EXPECT_NE(0, baseline_policy.ac_delays().screen_dim_ms());
400 EXPECT_NE(0, baseline_policy.ac_delays().screen_off_ms()); 400 EXPECT_NE(0, baseline_policy.ac_delays().screen_off_ms());
401 EXPECT_NE(0, baseline_policy.battery_delays().screen_dim_ms()); 401 EXPECT_NE(0, baseline_policy.battery_delays().screen_dim_ms());
402 EXPECT_NE(0, baseline_policy.battery_delays().screen_off_ms()); 402 EXPECT_NE(0, baseline_policy.battery_delays().screen_off_ms());
403 403
404 // Pretend an extension grabs a screen wake lock. 404 // Pretend an extension grabs a screen wake lock.
405 const char kExtensionId[] = "abcdefghijklmnopabcdefghijlkmnop"; 405 const char kExtensionId[] = "abcdefghijklmnopabcdefghijlkmnop";
406 extensions::PowerApiManager::GetInstance()->AddRequest( 406 extensions::PowerApiManager::GetInstance()->AddRequest(
407 kExtensionId, extensions::api::power::LEVEL_DISPLAY); 407 kExtensionId, extensions::api::power::LEVEL_DISPLAY);
408 base::RunLoop().RunUntilIdle(); 408 base::RunLoop().RunUntilIdle();
409 409
410 // Check that the lock is in effect (ignoring ac_idle_action, 410 // Check that the lock is in effect (ignoring ac_idle_action,
411 // battery_idle_action and reason). 411 // battery_idle_action and reason).
412 pm::PowerManagementPolicy policy = baseline_policy; 412 pm::PowerManagementPolicy policy = baseline_policy;
413 policy.mutable_ac_delays()->set_screen_dim_ms(0); 413 policy.mutable_ac_delays()->set_screen_dim_ms(0);
414 policy.mutable_ac_delays()->set_screen_off_ms(0); 414 policy.mutable_ac_delays()->set_screen_off_ms(0);
415 policy.mutable_battery_delays()->set_screen_dim_ms(0); 415 policy.mutable_battery_delays()->set_screen_dim_ms(0);
416 policy.mutable_battery_delays()->set_screen_off_ms(0); 416 policy.mutable_battery_delays()->set_screen_off_ms(0);
417 policy.set_ac_idle_action( 417 policy.set_ac_idle_action(
418 power_manager_client_->get_policy().ac_idle_action()); 418 power_manager_client_->policy().ac_idle_action());
419 policy.set_battery_idle_action( 419 policy.set_battery_idle_action(
420 power_manager_client_->get_policy().battery_idle_action()); 420 power_manager_client_->policy().battery_idle_action());
421 policy.set_reason(power_manager_client_->get_policy().reason()); 421 policy.set_reason(power_manager_client_->policy().reason());
422 EXPECT_EQ(GetDebugString(policy), 422 EXPECT_EQ(GetDebugString(policy),
423 GetDebugString(power_manager_client_->get_policy())); 423 GetDebugString(power_manager_client_->policy()));
424 424
425 // Engage the user policy and verify that the defaults take effect again. 425 // Engage the user policy and verify that the defaults take effect again.
426 user_policy_.payload().mutable_allowscreenwakelocks()->set_value(false); 426 user_policy_.payload().mutable_allowscreenwakelocks()->set_value(false);
427 StoreAndReloadUserPolicy(); 427 StoreAndReloadUserPolicy();
428 policy = baseline_policy; 428 policy = baseline_policy;
429 policy.set_ac_idle_action( 429 policy.set_ac_idle_action(power_manager_client_->policy().ac_idle_action());
430 power_manager_client_->get_policy().ac_idle_action());
431 policy.set_battery_idle_action( 430 policy.set_battery_idle_action(
432 power_manager_client_->get_policy().battery_idle_action()); 431 power_manager_client_->policy().battery_idle_action());
433 policy.set_reason(power_manager_client_->get_policy().reason()); 432 policy.set_reason(power_manager_client_->policy().reason());
434 EXPECT_EQ(GetDebugString(policy), 433 EXPECT_EQ(GetDebugString(policy),
435 GetDebugString(power_manager_client_->get_policy())); 434 GetDebugString(power_manager_client_->policy()));
436 } 435 }
437 436
438 } // namespace policy 437 } // namespace policy
OLDNEW
« no previous file with comments | « no previous file | chrome/browser/chromeos/power/power_prefs.cc » ('j') | chromeos/dbus/fake_power_manager_client.h » ('J')

Powered by Google App Engine
This is Rietveld 408576698