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

Side by Side Diff: chrome/browser/chromeos/login/users/avatar/user_image_manager_browsertest.cc

Issue 444903002: [cros] user_manager component - move UserManagerBase and UserManager (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: rebase Created 6 years, 4 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 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 <map> 5 #include <map>
6 #include <string> 6 #include <string>
7 #include <vector> 7 #include <vector>
8 8
9 #include "base/basictypes.h" 9 #include "base/basictypes.h"
10 #include "base/compiler_specific.h" 10 #include "base/compiler_specific.h"
(...skipping 12 matching lines...) Expand all
23 #include "base/run_loop.h" 23 #include "base/run_loop.h"
24 #include "base/time/time.h" 24 #include "base/time/time.h"
25 #include "base/values.h" 25 #include "base/values.h"
26 #include "chrome/browser/browser_process.h" 26 #include "chrome/browser/browser_process.h"
27 #include "chrome/browser/chrome_notification_types.h" 27 #include "chrome/browser/chrome_notification_types.h"
28 #include "chrome/browser/chromeos/login/login_manager_test.h" 28 #include "chrome/browser/chromeos/login/login_manager_test.h"
29 #include "chrome/browser/chromeos/login/startup_utils.h" 29 #include "chrome/browser/chromeos/login/startup_utils.h"
30 #include "chrome/browser/chromeos/login/users/avatar/user_image_manager.h" 30 #include "chrome/browser/chromeos/login/users/avatar/user_image_manager.h"
31 #include "chrome/browser/chromeos/login/users/avatar/user_image_manager_impl.h" 31 #include "chrome/browser/chromeos/login/users/avatar/user_image_manager_impl.h"
32 #include "chrome/browser/chromeos/login/users/avatar/user_image_manager_test_uti l.h" 32 #include "chrome/browser/chromeos/login/users/avatar/user_image_manager_test_uti l.h"
33 #include "chrome/browser/chromeos/login/users/chrome_user_manager.h"
33 #include "chrome/browser/chromeos/login/users/mock_user_manager.h" 34 #include "chrome/browser/chromeos/login/users/mock_user_manager.h"
34 #include "chrome/browser/chromeos/login/users/user_manager.h" 35 #include "chrome/browser/chromeos/login/users/scoped_user_manager_enabler.h"
35 #include "chrome/browser/chromeos/policy/cloud_external_data_manager_base_test_u til.h" 36 #include "chrome/browser/chromeos/policy/cloud_external_data_manager_base_test_u til.h"
36 #include "chrome/browser/chromeos/policy/user_cloud_policy_manager_chromeos.h" 37 #include "chrome/browser/chromeos/policy/user_cloud_policy_manager_chromeos.h"
37 #include "chrome/browser/chromeos/policy/user_cloud_policy_manager_factory_chrom eos.h" 38 #include "chrome/browser/chromeos/policy/user_cloud_policy_manager_factory_chrom eos.h"
38 #include "chrome/browser/chromeos/profiles/profile_helper.h" 39 #include "chrome/browser/chromeos/profiles/profile_helper.h"
39 #include "chrome/browser/profiles/profile.h" 40 #include "chrome/browser/profiles/profile.h"
40 #include "chrome/browser/profiles/profile_downloader.h" 41 #include "chrome/browser/profiles/profile_downloader.h"
41 #include "chrome/common/chrome_paths.h" 42 #include "chrome/common/chrome_paths.h"
42 #include "chrome/test/base/in_process_browser_test.h" 43 #include "chrome/test/base/in_process_browser_test.h"
43 #include "chrome/test/base/testing_browser_process.h" 44 #include "chrome/test/base/testing_browser_process.h"
44 #include "chromeos/chromeos_paths.h" 45 #include "chromeos/chromeos_paths.h"
45 #include "chromeos/dbus/cryptohome_client.h" 46 #include "chromeos/dbus/cryptohome_client.h"
46 #include "chromeos/dbus/dbus_thread_manager.h" 47 #include "chromeos/dbus/dbus_thread_manager.h"
47 #include "chromeos/dbus/fake_dbus_thread_manager.h" 48 #include "chromeos/dbus/fake_dbus_thread_manager.h"
48 #include "chromeos/dbus/fake_session_manager_client.h" 49 #include "chromeos/dbus/fake_session_manager_client.h"
49 #include "chromeos/dbus/session_manager_client.h" 50 #include "chromeos/dbus/session_manager_client.h"
50 #include "components/policy/core/common/cloud/cloud_policy_core.h" 51 #include "components/policy/core/common/cloud/cloud_policy_core.h"
51 #include "components/policy/core/common/cloud/cloud_policy_store.h" 52 #include "components/policy/core/common/cloud/cloud_policy_store.h"
52 #include "components/policy/core/common/cloud/policy_builder.h" 53 #include "components/policy/core/common/cloud/policy_builder.h"
53 #include "components/user_manager/user.h" 54 #include "components/user_manager/user.h"
54 #include "components/user_manager/user_image/default_user_images.h" 55 #include "components/user_manager/user_image/default_user_images.h"
55 #include "components/user_manager/user_image/user_image.h" 56 #include "components/user_manager/user_image/user_image.h"
57 #include "components/user_manager/user_manager.h"
56 #include "content/public/browser/notification_service.h" 58 #include "content/public/browser/notification_service.h"
57 #include "content/public/browser/notification_source.h" 59 #include "content/public/browser/notification_source.h"
58 #include "content/public/test/test_utils.h" 60 #include "content/public/test/test_utils.h"
59 #include "crypto/rsa_private_key.h" 61 #include "crypto/rsa_private_key.h"
60 #include "google_apis/gaia/gaia_oauth_client.h" 62 #include "google_apis/gaia/gaia_oauth_client.h"
61 #include "google_apis/gaia/oauth2_token_service.h" 63 #include "google_apis/gaia/oauth2_token_service.h"
62 #include "net/test/embedded_test_server/embedded_test_server.h" 64 #include "net/test/embedded_test_server/embedded_test_server.h"
63 #include "net/url_request/test_url_fetcher_factory.h" 65 #include "net/url_request/test_url_fetcher_factory.h"
64 #include "net/url_request/url_fetcher_delegate.h" 66 #include "net/url_request/url_fetcher_delegate.h"
65 #include "net/url_request/url_request_status.h" 67 #include "net/url_request/url_request_status.h"
(...skipping 23 matching lines...) Expand all
89 if (!policy_manager) { 91 if (!policy_manager) {
90 ADD_FAILURE(); 92 ADD_FAILURE();
91 return NULL; 93 return NULL;
92 } 94 }
93 return policy_manager->core()->store(); 95 return policy_manager->core()->store();
94 } 96 }
95 97
96 } // namespace 98 } // namespace
97 99
98 class UserImageManagerTest : public LoginManagerTest, 100 class UserImageManagerTest : public LoginManagerTest,
99 public UserManager::Observer { 101 public user_manager::UserManager::Observer {
100 protected: 102 protected:
101 UserImageManagerTest() : LoginManagerTest(true) { 103 UserImageManagerTest() : LoginManagerTest(true) {
102 } 104 }
103 105
104 // LoginManagerTest overrides: 106 // LoginManagerTest overrides:
105 virtual void SetUpInProcessBrowserTestFixture() OVERRIDE { 107 virtual void SetUpInProcessBrowserTestFixture() OVERRIDE {
106 LoginManagerTest::SetUpInProcessBrowserTestFixture(); 108 LoginManagerTest::SetUpInProcessBrowserTestFixture();
107 109
108 ASSERT_TRUE(PathService::Get(chrome::DIR_TEST_DATA, &test_data_dir_)); 110 ASSERT_TRUE(PathService::Get(chrome::DIR_TEST_DATA, &test_data_dir_));
109 ASSERT_TRUE(PathService::Get(chrome::DIR_USER_DATA, &user_data_dir_)); 111 ASSERT_TRUE(PathService::Get(chrome::DIR_USER_DATA, &user_data_dir_));
110 } 112 }
111 113
112 virtual void SetUpOnMainThread() OVERRIDE { 114 virtual void SetUpOnMainThread() OVERRIDE {
113 LoginManagerTest::SetUpOnMainThread(); 115 LoginManagerTest::SetUpOnMainThread();
114 local_state_ = g_browser_process->local_state(); 116 local_state_ = g_browser_process->local_state();
115 UserManager::Get()->AddObserver(this); 117 user_manager::UserManager::Get()->AddObserver(this);
116 } 118 }
117 119
118 virtual void TearDownOnMainThread() OVERRIDE { 120 virtual void TearDownOnMainThread() OVERRIDE {
119 UserManager::Get()->RemoveObserver(this); 121 user_manager::UserManager::Get()->RemoveObserver(this);
120 LoginManagerTest::TearDownOnMainThread(); 122 LoginManagerTest::TearDownOnMainThread();
121 } 123 }
122 124
123 // UserManager::Observer overrides: 125 // UserManager::Observer overrides:
124 virtual void LocalStateChanged(UserManager* user_manager) OVERRIDE { 126 virtual void LocalStateChanged(
127 user_manager::UserManager* user_manager) OVERRIDE {
125 if (run_loop_) 128 if (run_loop_)
126 run_loop_->Quit(); 129 run_loop_->Quit();
127 } 130 }
128 131
129 // Logs in |username|. 132 // Logs in |username|.
130 void LogIn(const std::string& username) { 133 void LogIn(const std::string& username) {
131 UserManager::Get()->UserLoggedIn(username, username, false); 134 user_manager::UserManager::Get()->UserLoggedIn(username, username, false);
132 } 135 }
133 136
134 // Stores old (pre-migration) user image info. 137 // Stores old (pre-migration) user image info.
135 void SetOldUserImageInfo(const std::string& username, 138 void SetOldUserImageInfo(const std::string& username,
136 int image_index, 139 int image_index,
137 const base::FilePath& image_path) { 140 const base::FilePath& image_path) {
138 RegisterUser(username); 141 RegisterUser(username);
139 DictionaryPrefUpdate images_pref(local_state_, "UserImages"); 142 DictionaryPrefUpdate images_pref(local_state_, "UserImages");
140 base::DictionaryValue* image_properties = new base::DictionaryValue(); 143 base::DictionaryValue* image_properties = new base::DictionaryValue();
141 image_properties->Set("index", new base::FundamentalValue(image_index)); 144 image_properties->Set("index", new base::FundamentalValue(image_index));
(...skipping 76 matching lines...) Expand 10 before | Expand all | Expand 10 after
218 // Completes the download of all non-image profile data for the user 221 // Completes the download of all non-image profile data for the user
219 // |username|. This method must only be called after a profile data 222 // |username|. This method must only be called after a profile data
220 // download has been started. |url_fetcher_factory| will capture 223 // download has been started. |url_fetcher_factory| will capture
221 // the net::TestURLFetcher created by the ProfileDownloader to 224 // the net::TestURLFetcher created by the ProfileDownloader to
222 // download the profile image. 225 // download the profile image.
223 void CompleteProfileMetadataDownload( 226 void CompleteProfileMetadataDownload(
224 const std::string& username, 227 const std::string& username,
225 net::TestURLFetcherFactory* url_fetcher_factory) { 228 net::TestURLFetcherFactory* url_fetcher_factory) {
226 ProfileDownloader* profile_downloader = 229 ProfileDownloader* profile_downloader =
227 reinterpret_cast<UserImageManagerImpl*>( 230 reinterpret_cast<UserImageManagerImpl*>(
228 UserManager::Get()->GetUserImageManager(username))-> 231 ChromeUserManager::Get()->GetUserImageManager(username))
229 profile_downloader_.get(); 232 ->profile_downloader_.get();
230 ASSERT_TRUE(profile_downloader); 233 ASSERT_TRUE(profile_downloader);
231 234
232 static_cast<OAuth2TokenService::Consumer*>(profile_downloader)-> 235 static_cast<OAuth2TokenService::Consumer*>(profile_downloader)->
233 OnGetTokenSuccess(NULL, 236 OnGetTokenSuccess(NULL,
234 std::string(), 237 std::string(),
235 base::Time::Now() + base::TimeDelta::FromDays(1)); 238 base::Time::Now() + base::TimeDelta::FromDays(1));
236 239
237 net::TestURLFetcher* fetcher = 240 net::TestURLFetcher* fetcher =
238 url_fetcher_factory->GetFetcherByID(0); 241 url_fetcher_factory->GetFetcherByID(0);
239 ASSERT_TRUE(fetcher); 242 ASSERT_TRUE(fetcher);
(...skipping 27 matching lines...) Expand all
267 pref_change_registrar.Add("UserDisplayName", run_loop.QuitClosure()); 270 pref_change_registrar.Add("UserDisplayName", run_loop.QuitClosure());
268 net::TestURLFetcher* fetcher = url_fetcher_factory->GetFetcherByID(0); 271 net::TestURLFetcher* fetcher = url_fetcher_factory->GetFetcherByID(0);
269 ASSERT_TRUE(fetcher); 272 ASSERT_TRUE(fetcher);
270 fetcher->SetResponseString(profile_image_data); 273 fetcher->SetResponseString(profile_image_data);
271 fetcher->set_status(net::URLRequestStatus(net::URLRequestStatus::SUCCESS, 274 fetcher->set_status(net::URLRequestStatus(net::URLRequestStatus::SUCCESS,
272 net::OK)); 275 net::OK));
273 fetcher->set_response_code(200); 276 fetcher->set_response_code(200);
274 fetcher->delegate()->OnURLFetchComplete(fetcher); 277 fetcher->delegate()->OnURLFetchComplete(fetcher);
275 run_loop.Run(); 278 run_loop.Run();
276 279
277 const user_manager::User* user = UserManager::Get()->GetLoggedInUser(); 280 const user_manager::User* user =
281 user_manager::UserManager::Get()->GetLoggedInUser();
278 ASSERT_TRUE(user); 282 ASSERT_TRUE(user);
279 UserImageManagerImpl* uim = reinterpret_cast<UserImageManagerImpl*>( 283 UserImageManagerImpl* uim = reinterpret_cast<UserImageManagerImpl*>(
280 UserManager::Get()->GetUserImageManager(user->email())); 284 ChromeUserManager::Get()->GetUserImageManager(user->email()));
281 if (uim->job_.get()) { 285 if (uim->job_.get()) {
282 run_loop_.reset(new base::RunLoop); 286 run_loop_.reset(new base::RunLoop);
283 run_loop_->Run(); 287 run_loop_->Run();
284 } 288 }
285 } 289 }
286 290
287 base::FilePath test_data_dir_; 291 base::FilePath test_data_dir_;
288 base::FilePath user_data_dir_; 292 base::FilePath user_data_dir_;
289 293
290 PrefService* local_state_; 294 PrefService* local_state_;
291 295
292 scoped_ptr<gfx::ImageSkia> decoded_image_; 296 scoped_ptr<gfx::ImageSkia> decoded_image_;
293 297
294 scoped_ptr<base::RunLoop> run_loop_; 298 scoped_ptr<base::RunLoop> run_loop_;
295 299
296 private: 300 private:
297 DISALLOW_COPY_AND_ASSIGN(UserImageManagerTest); 301 DISALLOW_COPY_AND_ASSIGN(UserImageManagerTest);
298 }; 302 };
299 303
300 IN_PROC_BROWSER_TEST_F(UserImageManagerTest, PRE_DefaultUserImagePreserved) { 304 IN_PROC_BROWSER_TEST_F(UserImageManagerTest, PRE_DefaultUserImagePreserved) {
301 // Setup an old default (stock) user image. 305 // Setup an old default (stock) user image.
302 ScopedUserManagerEnabler(new MockUserManager); 306 ScopedUserManagerEnabler(new MockUserManager);
303 SetOldUserImageInfo( 307 SetOldUserImageInfo(
304 kTestUser1, user_manager::kFirstDefaultImageIndex, base::FilePath()); 308 kTestUser1, user_manager::kFirstDefaultImageIndex, base::FilePath());
305 } 309 }
306 310
307 IN_PROC_BROWSER_TEST_F(UserImageManagerTest, DefaultUserImagePreserved) { 311 IN_PROC_BROWSER_TEST_F(UserImageManagerTest, DefaultUserImagePreserved) {
308 UserManager::Get()->GetUsers(); // Load users. 312 user_manager::UserManager::Get()->GetUsers(); // Load users.
309 // Old info preserved. 313 // Old info preserved.
310 ExpectOldUserImageInfo( 314 ExpectOldUserImageInfo(
311 kTestUser1, user_manager::kFirstDefaultImageIndex, base::FilePath()); 315 kTestUser1, user_manager::kFirstDefaultImageIndex, base::FilePath());
312 LogIn(kTestUser1); 316 LogIn(kTestUser1);
313 // Image info is migrated now. 317 // Image info is migrated now.
314 ExpectNewUserImageInfo( 318 ExpectNewUserImageInfo(
315 kTestUser1, user_manager::kFirstDefaultImageIndex, base::FilePath()); 319 kTestUser1, user_manager::kFirstDefaultImageIndex, base::FilePath());
316 } 320 }
317 321
318 IN_PROC_BROWSER_TEST_F(UserImageManagerTest, PRE_OtherUsersUnaffected) { 322 IN_PROC_BROWSER_TEST_F(UserImageManagerTest, PRE_OtherUsersUnaffected) {
319 // Setup two users with stock images. 323 // Setup two users with stock images.
320 ScopedUserManagerEnabler(new MockUserManager); 324 ScopedUserManagerEnabler(new MockUserManager);
321 SetOldUserImageInfo( 325 SetOldUserImageInfo(
322 kTestUser1, user_manager::kFirstDefaultImageIndex, base::FilePath()); 326 kTestUser1, user_manager::kFirstDefaultImageIndex, base::FilePath());
323 SetOldUserImageInfo( 327 SetOldUserImageInfo(
324 kTestUser2, user_manager::kFirstDefaultImageIndex + 1, base::FilePath()); 328 kTestUser2, user_manager::kFirstDefaultImageIndex + 1, base::FilePath());
325 } 329 }
326 330
327 IN_PROC_BROWSER_TEST_F(UserImageManagerTest, OtherUsersUnaffected) { 331 IN_PROC_BROWSER_TEST_F(UserImageManagerTest, OtherUsersUnaffected) {
328 UserManager::Get()->GetUsers(); // Load users. 332 user_manager::UserManager::Get()->GetUsers(); // Load users.
329 // Old info preserved. 333 // Old info preserved.
330 ExpectOldUserImageInfo( 334 ExpectOldUserImageInfo(
331 kTestUser1, user_manager::kFirstDefaultImageIndex, base::FilePath()); 335 kTestUser1, user_manager::kFirstDefaultImageIndex, base::FilePath());
332 ExpectOldUserImageInfo( 336 ExpectOldUserImageInfo(
333 kTestUser2, user_manager::kFirstDefaultImageIndex + 1, base::FilePath()); 337 kTestUser2, user_manager::kFirstDefaultImageIndex + 1, base::FilePath());
334 LogIn(kTestUser1); 338 LogIn(kTestUser1);
335 // Image info is migrated for the first user and unaffected for the rest. 339 // Image info is migrated for the first user and unaffected for the rest.
336 ExpectNewUserImageInfo( 340 ExpectNewUserImageInfo(
337 kTestUser1, user_manager::kFirstDefaultImageIndex, base::FilePath()); 341 kTestUser1, user_manager::kFirstDefaultImageIndex, base::FilePath());
338 ExpectOldUserImageInfo( 342 ExpectOldUserImageInfo(
339 kTestUser2, user_manager::kFirstDefaultImageIndex + 1, base::FilePath()); 343 kTestUser2, user_manager::kFirstDefaultImageIndex + 1, base::FilePath());
340 } 344 }
341 345
342 IN_PROC_BROWSER_TEST_F(UserImageManagerTest, PRE_PRE_NonJPEGImageFromFile) { 346 IN_PROC_BROWSER_TEST_F(UserImageManagerTest, PRE_PRE_NonJPEGImageFromFile) {
343 // Setup a user with non-JPEG image. 347 // Setup a user with non-JPEG image.
344 ScopedUserManagerEnabler(new MockUserManager); 348 ScopedUserManagerEnabler(new MockUserManager);
345 SaveUserImagePNG(kTestUser1, 349 SaveUserImagePNG(kTestUser1,
346 user_manager::kDefaultImageResourceIDs 350 user_manager::kDefaultImageResourceIDs
347 [user_manager::kFirstDefaultImageIndex]); 351 [user_manager::kFirstDefaultImageIndex]);
348 } 352 }
349 353
350 IN_PROC_BROWSER_TEST_F(UserImageManagerTest, PRE_NonJPEGImageFromFile) { 354 IN_PROC_BROWSER_TEST_F(UserImageManagerTest, PRE_NonJPEGImageFromFile) {
351 UserManager::Get()->GetUsers(); // Load users. 355 user_manager::UserManager::Get()->GetUsers(); // Load users.
352 // Old info preserved. 356 // Old info preserved.
353 ExpectOldUserImageInfo(kTestUser1, 357 ExpectOldUserImageInfo(kTestUser1,
354 user_manager::User::USER_IMAGE_EXTERNAL, 358 user_manager::User::USER_IMAGE_EXTERNAL,
355 GetUserImagePath(kTestUser1, "png")); 359 GetUserImagePath(kTestUser1, "png"));
356 const user_manager::User* user = UserManager::Get()->FindUser(kTestUser1); 360 const user_manager::User* user =
361 user_manager::UserManager::Get()->FindUser(kTestUser1);
357 EXPECT_TRUE(user->image_is_stub()); 362 EXPECT_TRUE(user->image_is_stub());
358 363
359 base::RunLoop run_loop; 364 base::RunLoop run_loop;
360 PrefChangeRegistrar pref_change_registrar_; 365 PrefChangeRegistrar pref_change_registrar_;
361 pref_change_registrar_.Init(local_state_); 366 pref_change_registrar_.Init(local_state_);
362 pref_change_registrar_.Add("UserImages", run_loop.QuitClosure()); 367 pref_change_registrar_.Add("UserImages", run_loop.QuitClosure());
363 LogIn(kTestUser1); 368 LogIn(kTestUser1);
364 369
365 // Wait for migration. 370 // Wait for migration.
366 run_loop.Run(); 371 run_loop.Run();
367 372
368 // Image info is migrated and the image is converted to JPG. 373 // Image info is migrated and the image is converted to JPG.
369 ExpectNewUserImageInfo(kTestUser1, 374 ExpectNewUserImageInfo(kTestUser1,
370 user_manager::User::USER_IMAGE_EXTERNAL, 375 user_manager::User::USER_IMAGE_EXTERNAL,
371 GetUserImagePath(kTestUser1, "jpg")); 376 GetUserImagePath(kTestUser1, "jpg"));
372 user = UserManager::Get()->GetLoggedInUser(); 377 user = user_manager::UserManager::Get()->GetLoggedInUser();
373 ASSERT_TRUE(user); 378 ASSERT_TRUE(user);
374 EXPECT_FALSE(user->image_is_safe_format()); 379 EXPECT_FALSE(user->image_is_safe_format());
375 // Check image dimensions. 380 // Check image dimensions.
376 const gfx::ImageSkia& saved_image = 381 const gfx::ImageSkia& saved_image =
377 user_manager::GetDefaultImage(user_manager::kFirstDefaultImageIndex); 382 user_manager::GetDefaultImage(user_manager::kFirstDefaultImageIndex);
378 EXPECT_EQ(saved_image.width(), user->GetImage().width()); 383 EXPECT_EQ(saved_image.width(), user->GetImage().width());
379 EXPECT_EQ(saved_image.height(), user->GetImage().height()); 384 EXPECT_EQ(saved_image.height(), user->GetImage().height());
380 } 385 }
381 386
382 IN_PROC_BROWSER_TEST_F(UserImageManagerTest, NonJPEGImageFromFile) { 387 IN_PROC_BROWSER_TEST_F(UserImageManagerTest, NonJPEGImageFromFile) {
383 UserManager::Get()->GetUsers(); // Load users. 388 user_manager::UserManager::Get()->GetUsers(); // Load users.
384 const user_manager::User* user = UserManager::Get()->FindUser(kTestUser1); 389 const user_manager::User* user =
390 user_manager::UserManager::Get()->FindUser(kTestUser1);
385 ASSERT_TRUE(user); 391 ASSERT_TRUE(user);
386 // Wait for image load. 392 // Wait for image load.
387 if (user->image_index() == user_manager::User::USER_IMAGE_INVALID) { 393 if (user->image_index() == user_manager::User::USER_IMAGE_INVALID) {
388 content::WindowedNotificationObserver( 394 content::WindowedNotificationObserver(
389 chrome::NOTIFICATION_LOGIN_USER_IMAGE_CHANGED, 395 chrome::NOTIFICATION_LOGIN_USER_IMAGE_CHANGED,
390 content::NotificationService::AllSources()).Wait(); 396 content::NotificationService::AllSources()).Wait();
391 } 397 }
392 // Now the migrated image is used. 398 // Now the migrated image is used.
393 EXPECT_TRUE(user->image_is_safe_format()); 399 EXPECT_TRUE(user->image_is_safe_format());
394 // Check image dimensions. Images can't be compared since JPEG is lossy. 400 // Check image dimensions. Images can't be compared since JPEG is lossy.
395 const gfx::ImageSkia& saved_image = 401 const gfx::ImageSkia& saved_image =
396 user_manager::GetDefaultImage(user_manager::kFirstDefaultImageIndex); 402 user_manager::GetDefaultImage(user_manager::kFirstDefaultImageIndex);
397 EXPECT_EQ(saved_image.width(), user->GetImage().width()); 403 EXPECT_EQ(saved_image.width(), user->GetImage().width());
398 EXPECT_EQ(saved_image.height(), user->GetImage().height()); 404 EXPECT_EQ(saved_image.height(), user->GetImage().height());
399 } 405 }
400 406
401 IN_PROC_BROWSER_TEST_F(UserImageManagerTest, PRE_SaveUserDefaultImageIndex) { 407 IN_PROC_BROWSER_TEST_F(UserImageManagerTest, PRE_SaveUserDefaultImageIndex) {
402 RegisterUser(kTestUser1); 408 RegisterUser(kTestUser1);
403 } 409 }
404 410
405 // Verifies that SaveUserDefaultImageIndex() correctly sets and persists the 411 // Verifies that SaveUserDefaultImageIndex() correctly sets and persists the
406 // chosen user image. 412 // chosen user image.
407 IN_PROC_BROWSER_TEST_F(UserImageManagerTest, SaveUserDefaultImageIndex) { 413 IN_PROC_BROWSER_TEST_F(UserImageManagerTest, SaveUserDefaultImageIndex) {
408 const user_manager::User* user = UserManager::Get()->FindUser(kTestUser1); 414 const user_manager::User* user =
415 user_manager::UserManager::Get()->FindUser(kTestUser1);
409 ASSERT_TRUE(user); 416 ASSERT_TRUE(user);
410 417
411 const gfx::ImageSkia& default_image = 418 const gfx::ImageSkia& default_image =
412 user_manager::GetDefaultImage(user_manager::kFirstDefaultImageIndex); 419 user_manager::GetDefaultImage(user_manager::kFirstDefaultImageIndex);
413 420
414 UserImageManager* user_image_manager = 421 UserImageManager* user_image_manager =
415 UserManager::Get()->GetUserImageManager(kTestUser1); 422 ChromeUserManager::Get()->GetUserImageManager(kTestUser1);
416 user_image_manager->SaveUserDefaultImageIndex( 423 user_image_manager->SaveUserDefaultImageIndex(
417 user_manager::kFirstDefaultImageIndex); 424 user_manager::kFirstDefaultImageIndex);
418 425
419 EXPECT_TRUE(user->HasDefaultImage()); 426 EXPECT_TRUE(user->HasDefaultImage());
420 EXPECT_EQ(user_manager::kFirstDefaultImageIndex, user->image_index()); 427 EXPECT_EQ(user_manager::kFirstDefaultImageIndex, user->image_index());
421 EXPECT_TRUE(test::AreImagesEqual(default_image, user->GetImage())); 428 EXPECT_TRUE(test::AreImagesEqual(default_image, user->GetImage()));
422 ExpectNewUserImageInfo( 429 ExpectNewUserImageInfo(
423 kTestUser1, user_manager::kFirstDefaultImageIndex, base::FilePath()); 430 kTestUser1, user_manager::kFirstDefaultImageIndex, base::FilePath());
424 } 431 }
425 432
426 IN_PROC_BROWSER_TEST_F(UserImageManagerTest, PRE_SaveUserImage) { 433 IN_PROC_BROWSER_TEST_F(UserImageManagerTest, PRE_SaveUserImage) {
427 RegisterUser(kTestUser1); 434 RegisterUser(kTestUser1);
428 } 435 }
429 436
430 // Verifies that SaveUserImage() correctly sets and persists the chosen user 437 // Verifies that SaveUserImage() correctly sets and persists the chosen user
431 // image. 438 // image.
432 IN_PROC_BROWSER_TEST_F(UserImageManagerTest, SaveUserImage) { 439 IN_PROC_BROWSER_TEST_F(UserImageManagerTest, SaveUserImage) {
433 const user_manager::User* user = UserManager::Get()->FindUser(kTestUser1); 440 const user_manager::User* user =
441 user_manager::UserManager::Get()->FindUser(kTestUser1);
434 ASSERT_TRUE(user); 442 ASSERT_TRUE(user);
435 443
436 SkBitmap custom_image_bitmap; 444 SkBitmap custom_image_bitmap;
437 custom_image_bitmap.allocN32Pixels(10, 10); 445 custom_image_bitmap.allocN32Pixels(10, 10);
438 custom_image_bitmap.setImmutable(); 446 custom_image_bitmap.setImmutable();
439 const gfx::ImageSkia custom_image = 447 const gfx::ImageSkia custom_image =
440 gfx::ImageSkia::CreateFrom1xBitmap(custom_image_bitmap); 448 gfx::ImageSkia::CreateFrom1xBitmap(custom_image_bitmap);
441 449
442 run_loop_.reset(new base::RunLoop); 450 run_loop_.reset(new base::RunLoop);
443 UserImageManager* user_image_manager = 451 UserImageManager* user_image_manager =
444 UserManager::Get()->GetUserImageManager(kTestUser1); 452 ChromeUserManager::Get()->GetUserImageManager(kTestUser1);
445 user_image_manager->SaveUserImage( 453 user_image_manager->SaveUserImage(
446 user_manager::UserImage::CreateAndEncode(custom_image)); 454 user_manager::UserImage::CreateAndEncode(custom_image));
447 run_loop_->Run(); 455 run_loop_->Run();
448 456
449 EXPECT_FALSE(user->HasDefaultImage()); 457 EXPECT_FALSE(user->HasDefaultImage());
450 EXPECT_EQ(user_manager::User::USER_IMAGE_EXTERNAL, user->image_index()); 458 EXPECT_EQ(user_manager::User::USER_IMAGE_EXTERNAL, user->image_index());
451 EXPECT_TRUE(test::AreImagesEqual(custom_image, user->GetImage())); 459 EXPECT_TRUE(test::AreImagesEqual(custom_image, user->GetImage()));
452 ExpectNewUserImageInfo(kTestUser1, 460 ExpectNewUserImageInfo(kTestUser1,
453 user_manager::User::USER_IMAGE_EXTERNAL, 461 user_manager::User::USER_IMAGE_EXTERNAL,
454 GetUserImagePath(kTestUser1, "jpg")); 462 GetUserImagePath(kTestUser1, "jpg"));
455 463
456 const scoped_ptr<gfx::ImageSkia> saved_image = 464 const scoped_ptr<gfx::ImageSkia> saved_image =
457 test::ImageLoader(GetUserImagePath(kTestUser1, "jpg")).Load(); 465 test::ImageLoader(GetUserImagePath(kTestUser1, "jpg")).Load();
458 ASSERT_TRUE(saved_image); 466 ASSERT_TRUE(saved_image);
459 467
460 // Check image dimensions. Images can't be compared since JPEG is lossy. 468 // Check image dimensions. Images can't be compared since JPEG is lossy.
461 EXPECT_EQ(custom_image.width(), saved_image->width()); 469 EXPECT_EQ(custom_image.width(), saved_image->width());
462 EXPECT_EQ(custom_image.height(), saved_image->height()); 470 EXPECT_EQ(custom_image.height(), saved_image->height());
463 } 471 }
464 472
465 IN_PROC_BROWSER_TEST_F(UserImageManagerTest, PRE_SaveUserImageFromFile) { 473 IN_PROC_BROWSER_TEST_F(UserImageManagerTest, PRE_SaveUserImageFromFile) {
466 RegisterUser(kTestUser1); 474 RegisterUser(kTestUser1);
467 } 475 }
468 476
469 // Verifies that SaveUserImageFromFile() correctly sets and persists the chosen 477 // Verifies that SaveUserImageFromFile() correctly sets and persists the chosen
470 // user image. 478 // user image.
471 IN_PROC_BROWSER_TEST_F(UserImageManagerTest, SaveUserImageFromFile) { 479 IN_PROC_BROWSER_TEST_F(UserImageManagerTest, SaveUserImageFromFile) {
472 const user_manager::User* user = UserManager::Get()->FindUser(kTestUser1); 480 const user_manager::User* user =
481 user_manager::UserManager::Get()->FindUser(kTestUser1);
473 ASSERT_TRUE(user); 482 ASSERT_TRUE(user);
474 483
475 const base::FilePath custom_image_path = 484 const base::FilePath custom_image_path =
476 test_data_dir_.Append(test::kUserAvatarImage1RelativePath); 485 test_data_dir_.Append(test::kUserAvatarImage1RelativePath);
477 const scoped_ptr<gfx::ImageSkia> custom_image = 486 const scoped_ptr<gfx::ImageSkia> custom_image =
478 test::ImageLoader(custom_image_path).Load(); 487 test::ImageLoader(custom_image_path).Load();
479 ASSERT_TRUE(custom_image); 488 ASSERT_TRUE(custom_image);
480 489
481 run_loop_.reset(new base::RunLoop); 490 run_loop_.reset(new base::RunLoop);
482 UserImageManager* user_image_manager = 491 UserImageManager* user_image_manager =
483 UserManager::Get()->GetUserImageManager(kTestUser1); 492 ChromeUserManager::Get()->GetUserImageManager(kTestUser1);
484 user_image_manager->SaveUserImageFromFile(custom_image_path); 493 user_image_manager->SaveUserImageFromFile(custom_image_path);
485 run_loop_->Run(); 494 run_loop_->Run();
486 495
487 EXPECT_FALSE(user->HasDefaultImage()); 496 EXPECT_FALSE(user->HasDefaultImage());
488 EXPECT_EQ(user_manager::User::USER_IMAGE_EXTERNAL, user->image_index()); 497 EXPECT_EQ(user_manager::User::USER_IMAGE_EXTERNAL, user->image_index());
489 EXPECT_TRUE(test::AreImagesEqual(*custom_image, user->GetImage())); 498 EXPECT_TRUE(test::AreImagesEqual(*custom_image, user->GetImage()));
490 ExpectNewUserImageInfo(kTestUser1, 499 ExpectNewUserImageInfo(kTestUser1,
491 user_manager::User::USER_IMAGE_EXTERNAL, 500 user_manager::User::USER_IMAGE_EXTERNAL,
492 GetUserImagePath(kTestUser1, "jpg")); 501 GetUserImagePath(kTestUser1, "jpg"));
493 502
494 const scoped_ptr<gfx::ImageSkia> saved_image = 503 const scoped_ptr<gfx::ImageSkia> saved_image =
495 test::ImageLoader(GetUserImagePath(kTestUser1, "jpg")).Load(); 504 test::ImageLoader(GetUserImagePath(kTestUser1, "jpg")).Load();
496 ASSERT_TRUE(saved_image); 505 ASSERT_TRUE(saved_image);
497 506
498 // Check image dimensions. Images can't be compared since JPEG is lossy. 507 // Check image dimensions. Images can't be compared since JPEG is lossy.
499 EXPECT_EQ(custom_image->width(), saved_image->width()); 508 EXPECT_EQ(custom_image->width(), saved_image->width());
500 EXPECT_EQ(custom_image->height(), saved_image->height()); 509 EXPECT_EQ(custom_image->height(), saved_image->height());
501 } 510 }
502 511
503 IN_PROC_BROWSER_TEST_F(UserImageManagerTest, 512 IN_PROC_BROWSER_TEST_F(UserImageManagerTest,
504 PRE_SaveUserImageFromProfileImage) { 513 PRE_SaveUserImageFromProfileImage) {
505 RegisterUser(kTestUser1); 514 RegisterUser(kTestUser1);
506 chromeos::StartupUtils::MarkOobeCompleted(); 515 chromeos::StartupUtils::MarkOobeCompleted();
507 } 516 }
508 517
509 // Verifies that SaveUserImageFromProfileImage() correctly downloads, sets and 518 // Verifies that SaveUserImageFromProfileImage() correctly downloads, sets and
510 // persists the chosen user image. 519 // persists the chosen user image.
511 IN_PROC_BROWSER_TEST_F(UserImageManagerTest, SaveUserImageFromProfileImage) { 520 IN_PROC_BROWSER_TEST_F(UserImageManagerTest, SaveUserImageFromProfileImage) {
512 const user_manager::User* user = UserManager::Get()->FindUser(kTestUser1); 521 const user_manager::User* user =
522 user_manager::UserManager::Get()->FindUser(kTestUser1);
513 ASSERT_TRUE(user); 523 ASSERT_TRUE(user);
514 524
515 UserImageManagerImpl::IgnoreProfileDataDownloadDelayForTesting(); 525 UserImageManagerImpl::IgnoreProfileDataDownloadDelayForTesting();
516 LoginUser(kTestUser1); 526 LoginUser(kTestUser1);
517 527
518 run_loop_.reset(new base::RunLoop); 528 run_loop_.reset(new base::RunLoop);
519 UserImageManager* user_image_manager = 529 UserImageManager* user_image_manager =
520 UserManager::Get()->GetUserImageManager(kTestUser1); 530 ChromeUserManager::Get()->GetUserImageManager(kTestUser1);
521 user_image_manager->SaveUserImageFromProfileImage(); 531 user_image_manager->SaveUserImageFromProfileImage();
522 run_loop_->Run(); 532 run_loop_->Run();
523 533
524 net::TestURLFetcherFactory url_fetcher_factory; 534 net::TestURLFetcherFactory url_fetcher_factory;
525 CompleteProfileMetadataDownload(kTestUser1, &url_fetcher_factory); 535 CompleteProfileMetadataDownload(kTestUser1, &url_fetcher_factory);
526 CompleteProfileImageDownload(&url_fetcher_factory); 536 CompleteProfileImageDownload(&url_fetcher_factory);
527 537
528 const gfx::ImageSkia& profile_image = 538 const gfx::ImageSkia& profile_image =
529 user_image_manager->DownloadedProfileImage(); 539 user_image_manager->DownloadedProfileImage();
530 540
(...skipping 18 matching lines...) Expand all
549 RegisterUser(kTestUser1); 559 RegisterUser(kTestUser1);
550 chromeos::StartupUtils::MarkOobeCompleted(); 560 chromeos::StartupUtils::MarkOobeCompleted();
551 } 561 }
552 562
553 // Sets the user image to the profile image, then sets it to one of the default 563 // Sets the user image to the profile image, then sets it to one of the default
554 // images while the profile image download is still in progress. Verifies that 564 // images while the profile image download is still in progress. Verifies that
555 // when the download completes, the profile image is ignored and does not 565 // when the download completes, the profile image is ignored and does not
556 // clobber the default image chosen in the meantime. 566 // clobber the default image chosen in the meantime.
557 IN_PROC_BROWSER_TEST_F(UserImageManagerTest, 567 IN_PROC_BROWSER_TEST_F(UserImageManagerTest,
558 ProfileImageDownloadDoesNotClobber) { 568 ProfileImageDownloadDoesNotClobber) {
559 const user_manager::User* user = UserManager::Get()->FindUser(kTestUser1); 569 const user_manager::User* user =
570 user_manager::UserManager::Get()->FindUser(kTestUser1);
560 ASSERT_TRUE(user); 571 ASSERT_TRUE(user);
561 572
562 const gfx::ImageSkia& default_image = 573 const gfx::ImageSkia& default_image =
563 user_manager::GetDefaultImage(user_manager::kFirstDefaultImageIndex); 574 user_manager::GetDefaultImage(user_manager::kFirstDefaultImageIndex);
564 575
565 UserImageManagerImpl::IgnoreProfileDataDownloadDelayForTesting(); 576 UserImageManagerImpl::IgnoreProfileDataDownloadDelayForTesting();
566 LoginUser(kTestUser1); 577 LoginUser(kTestUser1);
567 578
568 run_loop_.reset(new base::RunLoop); 579 run_loop_.reset(new base::RunLoop);
569 UserImageManager* user_image_manager = 580 UserImageManager* user_image_manager =
570 UserManager::Get()->GetUserImageManager(kTestUser1); 581 ChromeUserManager::Get()->GetUserImageManager(kTestUser1);
571 user_image_manager->SaveUserImageFromProfileImage(); 582 user_image_manager->SaveUserImageFromProfileImage();
572 run_loop_->Run(); 583 run_loop_->Run();
573 584
574 net::TestURLFetcherFactory url_fetcher_factory; 585 net::TestURLFetcherFactory url_fetcher_factory;
575 CompleteProfileMetadataDownload(kTestUser1, &url_fetcher_factory); 586 CompleteProfileMetadataDownload(kTestUser1, &url_fetcher_factory);
576 587
577 user_image_manager->SaveUserDefaultImageIndex( 588 user_image_manager->SaveUserDefaultImageIndex(
578 user_manager::kFirstDefaultImageIndex); 589 user_manager::kFirstDefaultImageIndex);
579 590
580 CompleteProfileImageDownload(&url_fetcher_factory); 591 CompleteProfileImageDownload(&url_fetcher_factory);
(...skipping 88 matching lines...) Expand 10 before | Expand all | Expand 10 after
669 IN_PROC_BROWSER_TEST_F(UserImageManagerPolicyTest, PRE_SetAndClear) { 680 IN_PROC_BROWSER_TEST_F(UserImageManagerPolicyTest, PRE_SetAndClear) {
670 RegisterUser(kTestUser1); 681 RegisterUser(kTestUser1);
671 chromeos::StartupUtils::MarkOobeCompleted(); 682 chromeos::StartupUtils::MarkOobeCompleted();
672 } 683 }
673 684
674 // Verifies that the user image can be set through policy. Also verifies that 685 // Verifies that the user image can be set through policy. Also verifies that
675 // after the policy has been cleared, the user is able to choose a different 686 // after the policy has been cleared, the user is able to choose a different
676 // image. 687 // image.
677 // http://crbug.com/396352 688 // http://crbug.com/396352
678 IN_PROC_BROWSER_TEST_F(UserImageManagerPolicyTest, DISABLED_SetAndClear) { 689 IN_PROC_BROWSER_TEST_F(UserImageManagerPolicyTest, DISABLED_SetAndClear) {
679 const user_manager::User* user = UserManager::Get()->FindUser(kTestUser1); 690 const user_manager::User* user =
691 user_manager::UserManager::Get()->FindUser(kTestUser1);
680 ASSERT_TRUE(user); 692 ASSERT_TRUE(user);
681 693
682 LoginUser(kTestUser1); 694 LoginUser(kTestUser1);
683 base::RunLoop().RunUntilIdle(); 695 base::RunLoop().RunUntilIdle();
684 696
685 policy::CloudPolicyStore* store = GetStoreForUser(user); 697 policy::CloudPolicyStore* store = GetStoreForUser(user);
686 ASSERT_TRUE(store); 698 ASSERT_TRUE(store);
687 699
688 // Set policy. Verify that the policy-provided user image is downloaded, set 700 // Set policy. Verify that the policy-provided user image is downloaded, set
689 // and persisted. 701 // and persisted.
(...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after
738 // Choose a different user image. Verify that the chosen user image is set and 750 // Choose a different user image. Verify that the chosen user image is set and
739 // persisted. 751 // persisted.
740 const int user_image_index = 752 const int user_image_index =
741 user_manager::kFirstDefaultImageIndex + 753 user_manager::kFirstDefaultImageIndex +
742 (default_image_index - user_manager::kFirstDefaultImageIndex + 1) % 754 (default_image_index - user_manager::kFirstDefaultImageIndex + 1) %
743 user_manager::kDefaultImagesCount; 755 user_manager::kDefaultImagesCount;
744 const gfx::ImageSkia& user_image = 756 const gfx::ImageSkia& user_image =
745 user_manager::GetDefaultImage(user_image_index); 757 user_manager::GetDefaultImage(user_image_index);
746 758
747 UserImageManager* user_image_manager = 759 UserImageManager* user_image_manager =
748 UserManager::Get()->GetUserImageManager(kTestUser1); 760 ChromeUserManager::Get()->GetUserImageManager(kTestUser1);
749 user_image_manager->SaveUserDefaultImageIndex(user_image_index); 761 user_image_manager->SaveUserDefaultImageIndex(user_image_index);
750 762
751 EXPECT_TRUE(user->HasDefaultImage()); 763 EXPECT_TRUE(user->HasDefaultImage());
752 EXPECT_EQ(user_image_index, user->image_index()); 764 EXPECT_EQ(user_image_index, user->image_index());
753 EXPECT_TRUE(test::AreImagesEqual(user_image, user->GetImage())); 765 EXPECT_TRUE(test::AreImagesEqual(user_image, user->GetImage()));
754 ExpectNewUserImageInfo(kTestUser1, user_image_index, base::FilePath()); 766 ExpectNewUserImageInfo(kTestUser1, user_image_index, base::FilePath());
755 } 767 }
756 768
757 IN_PROC_BROWSER_TEST_F(UserImageManagerPolicyTest, PRE_PolicyOverridesUser) { 769 IN_PROC_BROWSER_TEST_F(UserImageManagerPolicyTest, PRE_PolicyOverridesUser) {
758 RegisterUser(kTestUser1); 770 RegisterUser(kTestUser1);
759 chromeos::StartupUtils::MarkOobeCompleted(); 771 chromeos::StartupUtils::MarkOobeCompleted();
760 } 772 }
761 773
762 // Verifies that when the user chooses a user image and a different image is 774 // Verifies that when the user chooses a user image and a different image is
763 // then set through policy, the policy takes precedence, overriding the 775 // then set through policy, the policy takes precedence, overriding the
764 // previously chosen image. 776 // previously chosen image.
765 IN_PROC_BROWSER_TEST_F(UserImageManagerPolicyTest, PolicyOverridesUser) { 777 IN_PROC_BROWSER_TEST_F(UserImageManagerPolicyTest, PolicyOverridesUser) {
766 const user_manager::User* user = UserManager::Get()->FindUser(kTestUser1); 778 const user_manager::User* user =
779 user_manager::UserManager::Get()->FindUser(kTestUser1);
767 ASSERT_TRUE(user); 780 ASSERT_TRUE(user);
768 781
769 LoginUser(kTestUser1); 782 LoginUser(kTestUser1);
770 base::RunLoop().RunUntilIdle(); 783 base::RunLoop().RunUntilIdle();
771 784
772 policy::CloudPolicyStore* store = GetStoreForUser(user); 785 policy::CloudPolicyStore* store = GetStoreForUser(user);
773 ASSERT_TRUE(store); 786 ASSERT_TRUE(store);
774 787
775 // Choose a user image. Verify that the chosen user image is set and 788 // Choose a user image. Verify that the chosen user image is set and
776 // persisted. 789 // persisted.
777 const gfx::ImageSkia& default_image = 790 const gfx::ImageSkia& default_image =
778 user_manager::GetDefaultImage(user_manager::kFirstDefaultImageIndex); 791 user_manager::GetDefaultImage(user_manager::kFirstDefaultImageIndex);
779 792
780 UserImageManager* user_image_manager = 793 UserImageManager* user_image_manager =
781 UserManager::Get()->GetUserImageManager(kTestUser1); 794 ChromeUserManager::Get()->GetUserImageManager(kTestUser1);
782 user_image_manager->SaveUserDefaultImageIndex( 795 user_image_manager->SaveUserDefaultImageIndex(
783 user_manager::kFirstDefaultImageIndex); 796 user_manager::kFirstDefaultImageIndex);
784 797
785 EXPECT_TRUE(user->HasDefaultImage()); 798 EXPECT_TRUE(user->HasDefaultImage());
786 EXPECT_EQ(user_manager::kFirstDefaultImageIndex, user->image_index()); 799 EXPECT_EQ(user_manager::kFirstDefaultImageIndex, user->image_index());
787 EXPECT_TRUE(test::AreImagesEqual(default_image, user->GetImage())); 800 EXPECT_TRUE(test::AreImagesEqual(default_image, user->GetImage()));
788 ExpectNewUserImageInfo( 801 ExpectNewUserImageInfo(
789 kTestUser1, user_manager::kFirstDefaultImageIndex, base::FilePath()); 802 kTestUser1, user_manager::kFirstDefaultImageIndex, base::FilePath());
790 803
791 // Set policy. Verify that the policy-provided user image is downloaded, set 804 // Set policy. Verify that the policy-provided user image is downloaded, set
(...skipping 26 matching lines...) Expand all
818 IN_PROC_BROWSER_TEST_F(UserImageManagerPolicyTest, 831 IN_PROC_BROWSER_TEST_F(UserImageManagerPolicyTest,
819 PRE_UserDoesNotOverridePolicy) { 832 PRE_UserDoesNotOverridePolicy) {
820 RegisterUser(kTestUser1); 833 RegisterUser(kTestUser1);
821 chromeos::StartupUtils::MarkOobeCompleted(); 834 chromeos::StartupUtils::MarkOobeCompleted();
822 } 835 }
823 836
824 // Verifies that when the user image has been set through policy and the user 837 // Verifies that when the user image has been set through policy and the user
825 // chooses a different image, the policy takes precedence, preventing the user 838 // chooses a different image, the policy takes precedence, preventing the user
826 // from overriding the previously chosen image. 839 // from overriding the previously chosen image.
827 IN_PROC_BROWSER_TEST_F(UserImageManagerPolicyTest, UserDoesNotOverridePolicy) { 840 IN_PROC_BROWSER_TEST_F(UserImageManagerPolicyTest, UserDoesNotOverridePolicy) {
828 const user_manager::User* user = UserManager::Get()->FindUser(kTestUser1); 841 const user_manager::User* user =
842 user_manager::UserManager::Get()->FindUser(kTestUser1);
829 ASSERT_TRUE(user); 843 ASSERT_TRUE(user);
830 844
831 LoginUser(kTestUser1); 845 LoginUser(kTestUser1);
832 base::RunLoop().RunUntilIdle(); 846 base::RunLoop().RunUntilIdle();
833 847
834 policy::CloudPolicyStore* store = GetStoreForUser(user); 848 policy::CloudPolicyStore* store = GetStoreForUser(user);
835 ASSERT_TRUE(store); 849 ASSERT_TRUE(store);
836 850
837 // Set policy. Verify that the policy-provided user image is downloaded, set 851 // Set policy. Verify that the policy-provided user image is downloaded, set
838 // and persisted. 852 // and persisted.
(...skipping 17 matching lines...) Expand all
856 test::ImageLoader(GetUserImagePath(kTestUser1, "jpg")).Load(); 870 test::ImageLoader(GetUserImagePath(kTestUser1, "jpg")).Load();
857 ASSERT_TRUE(saved_image); 871 ASSERT_TRUE(saved_image);
858 872
859 // Check image dimensions. Images can't be compared since JPEG is lossy. 873 // Check image dimensions. Images can't be compared since JPEG is lossy.
860 EXPECT_EQ(policy_image_->width(), saved_image->width()); 874 EXPECT_EQ(policy_image_->width(), saved_image->width());
861 EXPECT_EQ(policy_image_->height(), saved_image->height()); 875 EXPECT_EQ(policy_image_->height(), saved_image->height());
862 876
863 // Choose a different user image. Verify that the user image does not change 877 // Choose a different user image. Verify that the user image does not change
864 // as policy takes precedence. 878 // as policy takes precedence.
865 UserImageManager* user_image_manager = 879 UserImageManager* user_image_manager =
866 UserManager::Get()->GetUserImageManager(kTestUser1); 880 ChromeUserManager::Get()->GetUserImageManager(kTestUser1);
867 user_image_manager->SaveUserDefaultImageIndex( 881 user_image_manager->SaveUserDefaultImageIndex(
868 user_manager::kFirstDefaultImageIndex); 882 user_manager::kFirstDefaultImageIndex);
869 883
870 EXPECT_FALSE(user->HasDefaultImage()); 884 EXPECT_FALSE(user->HasDefaultImage());
871 EXPECT_EQ(user_manager::User::USER_IMAGE_EXTERNAL, user->image_index()); 885 EXPECT_EQ(user_manager::User::USER_IMAGE_EXTERNAL, user->image_index());
872 EXPECT_TRUE(test::AreImagesEqual(*policy_image_, user->GetImage())); 886 EXPECT_TRUE(test::AreImagesEqual(*policy_image_, user->GetImage()));
873 ExpectNewUserImageInfo(kTestUser1, 887 ExpectNewUserImageInfo(kTestUser1,
874 user_manager::User::USER_IMAGE_EXTERNAL, 888 user_manager::User::USER_IMAGE_EXTERNAL,
875 GetUserImagePath(kTestUser1, "jpg")); 889 GetUserImagePath(kTestUser1, "jpg"));
876 890
877 saved_image = test::ImageLoader(GetUserImagePath(kTestUser1, "jpg")).Load(); 891 saved_image = test::ImageLoader(GetUserImagePath(kTestUser1, "jpg")).Load();
878 ASSERT_TRUE(saved_image); 892 ASSERT_TRUE(saved_image);
879 893
880 // Check image dimensions. Images can't be compared since JPEG is lossy. 894 // Check image dimensions. Images can't be compared since JPEG is lossy.
881 EXPECT_EQ(policy_image_->width(), saved_image->width()); 895 EXPECT_EQ(policy_image_->width(), saved_image->width());
882 EXPECT_EQ(policy_image_->height(), saved_image->height()); 896 EXPECT_EQ(policy_image_->height(), saved_image->height());
883 } 897 }
884 898
885 } // namespace chromeos 899 } // namespace chromeos
OLDNEW
« no previous file with comments | « chrome/browser/chromeos/login/user_flow.cc ('k') | chrome/browser/chromeos/login/users/avatar/user_image_manager_impl.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698