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

Side by Side Diff: chrome/browser/chromeos/login/users/wallpaper/wallpaper_manager_policy_browsertest.cc

Issue 1886653002: Remove WallpaperManager dependency on Cryptohome. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fix rebase (raw_salt_ is now properly set). Created 4 years, 8 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
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 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 <stdint.h> 5 #include <stdint.h>
6 6
7 #include <memory> 7 #include <memory>
8 #include <string> 8 #include <string>
9 #include <vector> 9 #include <vector>
10 10
(...skipping 14 matching lines...) Expand all
25 #include "chrome/browser/chromeos/login/users/wallpaper/wallpaper_manager.h" 25 #include "chrome/browser/chromeos/login/users/wallpaper/wallpaper_manager.h"
26 #include "chrome/browser/chromeos/policy/cloud_external_data_manager_base_test_u til.h" 26 #include "chrome/browser/chromeos/policy/cloud_external_data_manager_base_test_u til.h"
27 #include "chrome/browser/chromeos/policy/user_cloud_policy_manager_chromeos.h" 27 #include "chrome/browser/chromeos/policy/user_cloud_policy_manager_chromeos.h"
28 #include "chrome/browser/chromeos/policy/user_cloud_policy_manager_factory_chrom eos.h" 28 #include "chrome/browser/chromeos/policy/user_cloud_policy_manager_factory_chrom eos.h"
29 #include "chrome/browser/chromeos/profiles/profile_helper.h" 29 #include "chrome/browser/chromeos/profiles/profile_helper.h"
30 #include "chrome/browser/profiles/profile.h" 30 #include "chrome/browser/profiles/profile.h"
31 #include "chrome/browser/ui/webui/chromeos/login/oobe_ui.h" 31 #include "chrome/browser/ui/webui/chromeos/login/oobe_ui.h"
32 #include "chrome/common/chrome_paths.h" 32 #include "chrome/common/chrome_paths.h"
33 #include "chromeos/chromeos_paths.h" 33 #include "chromeos/chromeos_paths.h"
34 #include "chromeos/chromeos_switches.h" 34 #include "chromeos/chromeos_switches.h"
35 #include "chromeos/cryptohome/system_salt_getter.h"
35 #include "chromeos/dbus/cryptohome_client.h" 36 #include "chromeos/dbus/cryptohome_client.h"
36 #include "chromeos/dbus/dbus_thread_manager.h" 37 #include "chromeos/dbus/dbus_thread_manager.h"
37 #include "chromeos/dbus/fake_session_manager_client.h" 38 #include "chromeos/dbus/fake_session_manager_client.h"
38 #include "chromeos/dbus/session_manager_client.h" 39 #include "chromeos/dbus/session_manager_client.h"
39 #include "components/policy/core/common/cloud/cloud_policy_core.h" 40 #include "components/policy/core/common/cloud/cloud_policy_core.h"
40 #include "components/policy/core/common/cloud/cloud_policy_store.h" 41 #include "components/policy/core/common/cloud/cloud_policy_store.h"
41 #include "components/policy/core/common/cloud/cloud_policy_validator.h" 42 #include "components/policy/core/common/cloud/cloud_policy_validator.h"
42 #include "components/policy/core/common/cloud/policy_builder.h" 43 #include "components/policy/core/common/cloud/policy_builder.h"
43 #include "components/user_manager/user.h" 44 #include "components/user_manager/user.h"
44 #include "components/user_manager/user_manager.h" 45 #include "components/user_manager/user_manager.h"
(...skipping 75 matching lines...) Expand 10 before | Expand all | Expand 10 after
120 const gfx::ImageSkiaRep& representation = image.GetRepresentation(1.); 121 const gfx::ImageSkiaRep& representation = image.GetRepresentation(1.);
121 if (representation.is_null()) { 122 if (representation.is_null()) {
122 ADD_FAILURE() << "No image representation."; 123 ADD_FAILURE() << "No image representation.";
123 return SkColorSetARGB(0, 0, 0, 0); 124 return SkColorSetARGB(0, 0, 0, 0);
124 } 125 }
125 126
126 const SkBitmap& bitmap = representation.sk_bitmap(); 127 const SkBitmap& bitmap = representation.sk_bitmap();
127 return ComputeAverageColor(bitmap); 128 return ComputeAverageColor(bitmap);
128 } 129 }
129 130
131 // Initialize system salt to calculate wallpaper file names.
132 void SetSystemSalt() {
133 chromeos::SystemSaltGetter::Get()->SetRawSaltForTesting(
134 chromeos::SystemSaltGetter::RawSalt({1, 2, 3, 4, 5, 6, 7, 8}));
135 }
136
130 } // namespace 137 } // namespace
131 138
132 class WallpaperManagerPolicyTest 139 class WallpaperManagerPolicyTest
133 : public LoginManagerTest, 140 : public LoginManagerTest,
134 public ash::DesktopBackgroundControllerObserver { 141 public ash::DesktopBackgroundControllerObserver {
135 protected: 142 protected:
136 WallpaperManagerPolicyTest() 143 WallpaperManagerPolicyTest()
137 : LoginManagerTest(true), 144 : LoginManagerTest(true),
138 wallpaper_change_count_(0), 145 wallpaper_change_count_(0),
139 fake_session_manager_client_(new FakeSessionManagerClient) { 146 fake_session_manager_client_(new FakeSessionManagerClient) {
(...skipping 148 matching lines...) Expand 10 before | Expand all | Expand 10 after
288 RegisterUser(testUsers_[0].GetUserEmail()); 295 RegisterUser(testUsers_[0].GetUserEmail());
289 RegisterUser(testUsers_[1].GetUserEmail()); 296 RegisterUser(testUsers_[1].GetUserEmail());
290 StartupUtils::MarkOobeCompleted(); 297 StartupUtils::MarkOobeCompleted();
291 } 298 }
292 299
293 // Verifies that the wallpaper can be set and re-set through policy and that 300 // Verifies that the wallpaper can be set and re-set through policy and that
294 // setting policy for a user that is not logged in doesn't affect the current 301 // setting policy for a user that is not logged in doesn't affect the current
295 // user. Also verifies that after the policy has been cleared, the wallpaper 302 // user. Also verifies that after the policy has been cleared, the wallpaper
296 // reverts to default. 303 // reverts to default.
297 IN_PROC_BROWSER_TEST_F(WallpaperManagerPolicyTest, SetResetClear) { 304 IN_PROC_BROWSER_TEST_F(WallpaperManagerPolicyTest, SetResetClear) {
305 SetSystemSalt();
298 wallpaper::WallpaperInfo info; 306 wallpaper::WallpaperInfo info;
299 LoginUser(testUsers_[0].GetUserEmail()); 307 LoginUser(testUsers_[0].GetUserEmail());
300 base::RunLoop().RunUntilIdle(); 308 base::RunLoop().RunUntilIdle();
301 309
302 // First user: Wait until default wallpaper has been loaded (happens 310 // First user: Wait until default wallpaper has been loaded (happens
303 // automatically) and store color to recognize it later. 311 // automatically) and store color to recognize it later.
304 RunUntilWallpaperChangeCount(1); 312 RunUntilWallpaperChangeCount(1);
305 const SkColor original_background_color = GetAverageBackgroundColor(); 313 const SkColor original_background_color = GetAverageBackgroundColor();
306 314
307 // Second user: Set wallpaper policy to blue image. This should not result in 315 // Second user: Set wallpaper policy to blue image. This should not result in
(...skipping 73 matching lines...) Expand 10 before | Expand all | Expand 10 after
381 389
382 // Select the second pod (belonging to user 1). 390 // Select the second pod (belonging to user 1).
383 ASSERT_TRUE(content::ExecuteScript( 391 ASSERT_TRUE(content::ExecuteScript(
384 LoginDisplayHost::default_host()->GetOobeUI()->web_ui()->GetWebContents(), 392 LoginDisplayHost::default_host()->GetOobeUI()->web_ui()->GetWebContents(),
385 "document.getElementsByClassName('pod')[1].focus();")); 393 "document.getElementsByClassName('pod')[1].focus();"));
386 RunUntilWallpaperChangeCount(2); 394 RunUntilWallpaperChangeCount(2);
387 ASSERT_EQ(kRedImageColor, GetAverageBackgroundColor()); 395 ASSERT_EQ(kRedImageColor, GetAverageBackgroundColor());
388 } 396 }
389 397
390 IN_PROC_BROWSER_TEST_F(WallpaperManagerPolicyTest, PRE_PRE_PersistOverLogout) { 398 IN_PROC_BROWSER_TEST_F(WallpaperManagerPolicyTest, PRE_PRE_PersistOverLogout) {
399 SetSystemSalt();
391 RegisterUser(testUsers_[0].GetUserEmail()); 400 RegisterUser(testUsers_[0].GetUserEmail());
392 StartupUtils::MarkOobeCompleted(); 401 StartupUtils::MarkOobeCompleted();
393 } 402 }
394 403
395 IN_PROC_BROWSER_TEST_F(WallpaperManagerPolicyTest, PRE_PersistOverLogout) { 404 IN_PROC_BROWSER_TEST_F(WallpaperManagerPolicyTest, PRE_PersistOverLogout) {
405 SetSystemSalt();
396 LoginUser(testUsers_[0].GetUserEmail()); 406 LoginUser(testUsers_[0].GetUserEmail());
397 407
398 // Wait until default wallpaper has been loaded. 408 // Wait until default wallpaper has been loaded.
399 RunUntilWallpaperChangeCount(1); 409 RunUntilWallpaperChangeCount(1);
400 410
401 // Set wallpaper policy to red image. 411 // Set wallpaper policy to red image.
402 InjectPolicy(0, kRedImageFileName); 412 InjectPolicy(0, kRedImageFileName);
403 413
404 // Run until wallpaper has changed. 414 // Run until wallpaper has changed.
405 RunUntilWallpaperChangeCount(2); 415 RunUntilWallpaperChangeCount(2);
406 ASSERT_EQ(kRedImageColor, GetAverageBackgroundColor()); 416 ASSERT_EQ(kRedImageColor, GetAverageBackgroundColor());
407 } 417 }
408 418
409 IN_PROC_BROWSER_TEST_F(WallpaperManagerPolicyTest, PersistOverLogout) { 419 IN_PROC_BROWSER_TEST_F(WallpaperManagerPolicyTest, PersistOverLogout) {
410 LoginUser(testUsers_[0].GetUserEmail()); 420 LoginUser(testUsers_[0].GetUserEmail());
411 421
412 // Wait until wallpaper has been loaded. 422 // Wait until wallpaper has been loaded.
413 RunUntilWallpaperChangeCount(1); 423 RunUntilWallpaperChangeCount(1);
414 ASSERT_EQ(kRedImageColor, GetAverageBackgroundColor()); 424 ASSERT_EQ(kRedImageColor, GetAverageBackgroundColor());
415 } 425 }
416 426
417 } // namespace chromeos 427 } // namespace chromeos
OLDNEW
« no previous file with comments | « chrome/browser/chromeos/login/users/wallpaper/wallpaper_manager.cc ('k') | chromeos/cryptohome/system_salt_getter.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698