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

Side by Side Diff: chrome/browser/chromeos/login/screens/user_image_screen.cc

Issue 398753004: [cros] Move User class to user_manager component. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: rebase Created 6 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) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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 "chrome/browser/chromeos/login/screens/user_image_screen.h" 5 #include "chrome/browser/chromeos/login/screens/user_image_screen.h"
6 6
7 #include <string> 7 #include <string>
8 8
9 #include "base/bind.h" 9 #include "base/bind.h"
10 #include "base/bind_helpers.h" 10 #include "base/bind_helpers.h"
(...skipping 13 matching lines...) Expand all
24 #include "chrome/browser/chromeos/login/users/user_manager.h" 24 #include "chrome/browser/chromeos/login/users/user_manager.h"
25 #include "chrome/browser/chromeos/login/wizard_controller.h" 25 #include "chrome/browser/chromeos/login/wizard_controller.h"
26 #include "chrome/browser/chromeos/profiles/profile_helper.h" 26 #include "chrome/browser/chromeos/profiles/profile_helper.h"
27 #include "chrome/browser/policy/profile_policy_connector.h" 27 #include "chrome/browser/policy/profile_policy_connector.h"
28 #include "chrome/browser/policy/profile_policy_connector_factory.h" 28 #include "chrome/browser/policy/profile_policy_connector_factory.h"
29 #include "chrome/browser/profiles/profile.h" 29 #include "chrome/browser/profiles/profile.h"
30 #include "chrome/common/url_constants.h" 30 #include "chrome/common/url_constants.h"
31 #include "components/policy/core/common/policy_map.h" 31 #include "components/policy/core/common/policy_map.h"
32 #include "components/policy/core/common/policy_namespace.h" 32 #include "components/policy/core/common/policy_namespace.h"
33 #include "components/policy/core/common/policy_service.h" 33 #include "components/policy/core/common/policy_service.h"
34 #include "components/user_manager/user.h"
34 #include "components/user_manager/user_image/default_user_images.h" 35 #include "components/user_manager/user_image/default_user_images.h"
35 #include "components/user_manager/user_image/user_image.h" 36 #include "components/user_manager/user_image/user_image.h"
36 #include "content/public/browser/browser_thread.h" 37 #include "content/public/browser/browser_thread.h"
37 #include "content/public/browser/notification_service.h" 38 #include "content/public/browser/notification_service.h"
38 #include "grit/generated_resources.h" 39 #include "grit/generated_resources.h"
39 #include "grit/theme_resources.h" 40 #include "grit/theme_resources.h"
40 #include "policy/policy_constants.h" 41 #include "policy/policy_constants.h"
41 #include "third_party/skia/include/core/SkBitmap.h" 42 #include "third_party/skia/include/core/SkBitmap.h"
42 #include "ui/base/l10n/l10n_util.h" 43 #include "ui/base/l10n/l10n_util.h"
43 #include "ui/base/resource/resource_bundle.h" 44 #include "ui/base/resource/resource_bundle.h"
(...skipping 13 matching lines...) Expand all
57 // The screen is shown iff sync failed or time limit exceeded. 58 // The screen is shown iff sync failed or time limit exceeded.
58 const int kSyncTimeoutSeconds = 10; 59 const int kSyncTimeoutSeconds = 10;
59 60
60 } // namespace 61 } // namespace
61 62
62 UserImageScreen::UserImageScreen(ScreenObserver* screen_observer, 63 UserImageScreen::UserImageScreen(ScreenObserver* screen_observer,
63 UserImageScreenActor* actor) 64 UserImageScreenActor* actor)
64 : WizardScreen(screen_observer), 65 : WizardScreen(screen_observer),
65 actor_(actor), 66 actor_(actor),
66 accept_photo_after_decoding_(false), 67 accept_photo_after_decoding_(false),
67 selected_image_(User::kInvalidImageIndex), 68 selected_image_(user_manager::User::USER_IMAGE_INVALID),
68 profile_picture_enabled_(false), 69 profile_picture_enabled_(false),
69 profile_picture_data_url_(url::kAboutBlankURL), 70 profile_picture_data_url_(url::kAboutBlankURL),
70 profile_picture_absent_(false), 71 profile_picture_absent_(false),
71 is_screen_ready_(false), 72 is_screen_ready_(false),
72 user_has_selected_image_(false) { 73 user_has_selected_image_(false) {
73 actor_->SetDelegate(this); 74 actor_->SetDelegate(this);
74 SetProfilePictureEnabled(true); 75 SetProfilePictureEnabled(true);
75 notification_registrar_.Add(this, 76 notification_registrar_.Add(this,
76 chrome::NOTIFICATION_LOGIN_USER_IMAGE_CHANGED, 77 chrome::NOTIFICATION_LOGIN_USER_IMAGE_CHANGED,
77 content::NotificationService::AllSources()); 78 content::NotificationService::AllSources());
(...skipping 80 matching lines...) Expand 10 before | Expand all | Expand 10 after
158 } 159 }
159 160
160 void UserImageScreen::OnImageSelected(const std::string& image_type, 161 void UserImageScreen::OnImageSelected(const std::string& image_type,
161 const std::string& image_url, 162 const std::string& image_url,
162 bool is_user_selection) { 163 bool is_user_selection) {
163 if (is_user_selection) { 164 if (is_user_selection) {
164 user_has_selected_image_ = true; 165 user_has_selected_image_ = true;
165 } 166 }
166 if (image_url.empty()) 167 if (image_url.empty())
167 return; 168 return;
168 int user_image_index = User::kInvalidImageIndex; 169 int user_image_index = user_manager::User::USER_IMAGE_INVALID;
169 if (image_type == "default" && 170 if (image_type == "default" &&
170 user_manager::IsDefaultImageUrl(image_url, &user_image_index)) { 171 user_manager::IsDefaultImageUrl(image_url, &user_image_index)) {
171 selected_image_ = user_image_index; 172 selected_image_ = user_image_index;
172 } else if (image_type == "camera") { 173 } else if (image_type == "camera") {
173 selected_image_ = User::kExternalImageIndex; 174 selected_image_ = user_manager::User::USER_IMAGE_EXTERNAL;
174 } else if (image_type == "profile") { 175 } else if (image_type == "profile") {
175 selected_image_ = User::kProfileImageIndex; 176 selected_image_ = user_manager::User::USER_IMAGE_PROFILE;
176 } else { 177 } else {
177 NOTREACHED() << "Unexpected image type: " << image_type; 178 NOTREACHED() << "Unexpected image type: " << image_type;
178 } 179 }
179 } 180 }
180 181
181 void UserImageScreen::OnImageAccepted() { 182 void UserImageScreen::OnImageAccepted() {
182 UserImageManager* image_manager = GetUserImageManager(); 183 UserImageManager* image_manager = GetUserImageManager();
183 int uma_index = 0; 184 int uma_index = 0;
184 switch (selected_image_) { 185 switch (selected_image_) {
185 case User::kExternalImageIndex: 186 case user_manager::User::USER_IMAGE_EXTERNAL:
186 // Photo decoding may not have been finished yet. 187 // Photo decoding may not have been finished yet.
187 if (user_photo_.isNull()) { 188 if (user_photo_.isNull()) {
188 accept_photo_after_decoding_ = true; 189 accept_photo_after_decoding_ = true;
189 return; 190 return;
190 } 191 }
191 image_manager->SaveUserImage( 192 image_manager->SaveUserImage(
192 user_manager::UserImage::CreateAndEncode(user_photo_)); 193 user_manager::UserImage::CreateAndEncode(user_photo_));
193 uma_index = user_manager::kHistogramImageFromCamera; 194 uma_index = user_manager::kHistogramImageFromCamera;
194 break; 195 break;
195 case User::kProfileImageIndex: 196 case user_manager::User::USER_IMAGE_PROFILE:
196 image_manager->SaveUserImageFromProfileImage(); 197 image_manager->SaveUserImageFromProfileImage();
197 uma_index = user_manager::kHistogramImageFromProfile; 198 uma_index = user_manager::kHistogramImageFromProfile;
198 break; 199 break;
199 default: 200 default:
200 DCHECK(selected_image_ >= 0 && 201 DCHECK(selected_image_ >= 0 &&
201 selected_image_ < user_manager::kDefaultImagesCount); 202 selected_image_ < user_manager::kDefaultImagesCount);
202 image_manager->SaveUserDefaultImageIndex(selected_image_); 203 image_manager->SaveUserDefaultImageIndex(selected_image_);
203 uma_index = user_manager::GetDefaultImageHistogramValue(selected_image_); 204 uma_index = user_manager::GetDefaultImageHistogramValue(selected_image_);
204 break; 205 break;
205 } 206 }
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after
240 void UserImageScreen::SetUserID(const std::string& user_id) { 241 void UserImageScreen::SetUserID(const std::string& user_id) {
241 DCHECK(!user_id.empty()); 242 DCHECK(!user_id.empty());
242 user_id_ = user_id; 243 user_id_ = user_id;
243 } 244 }
244 245
245 void UserImageScreen::PrepareToShow() { 246 void UserImageScreen::PrepareToShow() {
246 if (actor_) 247 if (actor_)
247 actor_->PrepareToShow(); 248 actor_->PrepareToShow();
248 } 249 }
249 250
250 const User* UserImageScreen::GetUser() { 251 const user_manager::User* UserImageScreen::GetUser() {
251 if (user_id_.empty()) 252 if (user_id_.empty())
252 return UserManager::Get()->GetLoggedInUser(); 253 return UserManager::Get()->GetLoggedInUser();
253 return UserManager::Get()->FindUser(user_id_); 254 return UserManager::Get()->FindUser(user_id_);
254 } 255 }
255 256
256 UserImageManager* UserImageScreen::GetUserImageManager() { 257 UserImageManager* UserImageScreen::GetUserImageManager() {
257 return UserManager::Get()->GetUserImageManager(GetUser()->email()); 258 return UserManager::Get()->GetUserImageManager(GetUser()->email());
258 } 259 }
259 260
260 UserImageSyncObserver* UserImageScreen::GetSyncObserver() { 261 UserImageSyncObserver* UserImageScreen::GetSyncObserver() {
(...skipping 121 matching lines...) Expand 10 before | Expand all | Expand 10 after
382 383
383 void UserImageScreen::ExitScreen() { 384 void UserImageScreen::ExitScreen() {
384 policy_registrar_.reset(); 385 policy_registrar_.reset();
385 sync_timer_.reset(); 386 sync_timer_.reset();
386 if (UserImageSyncObserver* sync_observer = GetSyncObserver()) 387 if (UserImageSyncObserver* sync_observer = GetSyncObserver())
387 sync_observer->RemoveObserver(this); 388 sync_observer->RemoveObserver(this);
388 get_screen_observer()->OnExit(ScreenObserver::USER_IMAGE_SELECTED); 389 get_screen_observer()->OnExit(ScreenObserver::USER_IMAGE_SELECTED);
389 } 390 }
390 391
391 } // namespace chromeos 392 } // namespace chromeos
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698