OLD | NEW |
1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 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/ui/webui/settings/chromeos/change_picture_handler.h" | 5 #include "chrome/browser/ui/webui/settings/chromeos/change_picture_handler.h" |
6 | 6 |
7 #include <utility> | 7 #include <utility> |
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 126 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
137 l10n_util::GetStringUTF16( | 137 l10n_util::GetStringUTF16( |
138 default_user_image::kDefaultImageAuthorIDs[i])); | 138 default_user_image::kDefaultImageAuthorIDs[i])); |
139 image_data->SetString("website", | 139 image_data->SetString("website", |
140 l10n_util::GetStringUTF16( | 140 l10n_util::GetStringUTF16( |
141 default_user_image::kDefaultImageWebsiteIDs[i])); | 141 default_user_image::kDefaultImageWebsiteIDs[i])); |
142 image_data->SetString("title", | 142 image_data->SetString("title", |
143 default_user_image::GetDefaultImageDescription(i)); | 143 default_user_image::GetDefaultImageDescription(i)); |
144 image_urls.Append(std::move(image_data)); | 144 image_urls.Append(std::move(image_data)); |
145 } | 145 } |
146 CallJavascriptFunction("cr.webUIListenerCallback", | 146 CallJavascriptFunction("cr.webUIListenerCallback", |
147 base::StringValue("default-images-changed"), | 147 base::Value("default-images-changed"), image_urls); |
148 image_urls); | |
149 } | 148 } |
150 | 149 |
151 void ChangePictureHandler::HandleChooseFile(const base::ListValue* args) { | 150 void ChangePictureHandler::HandleChooseFile(const base::ListValue* args) { |
152 DCHECK(args && args->empty()); | 151 DCHECK(args && args->empty()); |
153 select_file_dialog_ = ui::SelectFileDialog::Create( | 152 select_file_dialog_ = ui::SelectFileDialog::Create( |
154 this, new ChromeSelectFilePolicy(web_ui()->GetWebContents())); | 153 this, new ChromeSelectFilePolicy(web_ui()->GetWebContents())); |
155 | 154 |
156 base::FilePath downloads_path; | 155 base::FilePath downloads_path; |
157 if (!PathService::Get(chrome::DIR_DEFAULT_DOWNLOADS, &downloads_path)) { | 156 if (!PathService::Get(chrome::DIR_DEFAULT_DOWNLOADS, &downloads_path)) { |
158 NOTREACHED(); | 157 NOTREACHED(); |
(...skipping 64 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
223 // User has their Profile image as the current image. | 222 // User has their Profile image as the current image. |
224 SendProfileImage(user->GetImage(), true); | 223 SendProfileImage(user->GetImage(), true); |
225 break; | 224 break; |
226 } | 225 } |
227 default: { | 226 default: { |
228 DCHECK(previous_image_index_ >= 0 && | 227 DCHECK(previous_image_index_ >= 0 && |
229 previous_image_index_ < default_user_image::kDefaultImagesCount); | 228 previous_image_index_ < default_user_image::kDefaultImagesCount); |
230 if (previous_image_index_ >= | 229 if (previous_image_index_ >= |
231 default_user_image::kFirstDefaultImageIndex) { | 230 default_user_image::kFirstDefaultImageIndex) { |
232 // User has image from the current set of default images. | 231 // User has image from the current set of default images. |
233 base::StringValue image_url( | 232 base::Value image_url( |
234 default_user_image::GetDefaultImageUrl(previous_image_index_)); | 233 default_user_image::GetDefaultImageUrl(previous_image_index_)); |
235 CallJavascriptFunction("cr.webUIListenerCallback", | 234 CallJavascriptFunction("cr.webUIListenerCallback", |
236 base::StringValue("selected-image-changed"), | 235 base::Value("selected-image-changed"), |
237 image_url); | 236 image_url); |
238 } else { | 237 } else { |
239 // User has an old default image, so present it in the same manner as a | 238 // User has an old default image, so present it in the same manner as a |
240 // previous image from file. | 239 // previous image from file. |
241 SendOldImage( | 240 SendOldImage( |
242 default_user_image::GetDefaultImageUrl(previous_image_index_)); | 241 default_user_image::GetDefaultImageUrl(previous_image_index_)); |
243 } | 242 } |
244 } | 243 } |
245 } | 244 } |
246 } | 245 } |
247 | 246 |
248 void ChangePictureHandler::SendProfileImage(const gfx::ImageSkia& image, | 247 void ChangePictureHandler::SendProfileImage(const gfx::ImageSkia& image, |
249 bool should_select) { | 248 bool should_select) { |
250 base::StringValue data_url(webui::GetBitmapDataUrl(*image.bitmap())); | 249 base::Value data_url(webui::GetBitmapDataUrl(*image.bitmap())); |
251 base::Value select(should_select); | 250 base::Value select(should_select); |
252 CallJavascriptFunction("cr.webUIListenerCallback", | 251 CallJavascriptFunction("cr.webUIListenerCallback", |
253 base::StringValue("profile-image-changed"), data_url, | 252 base::Value("profile-image-changed"), data_url, |
254 select); | 253 select); |
255 } | 254 } |
256 | 255 |
257 void ChangePictureHandler::UpdateProfileImage() { | 256 void ChangePictureHandler::UpdateProfileImage() { |
258 UserImageManager* user_image_manager = | 257 UserImageManager* user_image_manager = |
259 ChromeUserManager::Get()->GetUserImageManager(GetUser()->GetAccountId()); | 258 ChromeUserManager::Get()->GetUserImageManager(GetUser()->GetAccountId()); |
260 // If we have a downloaded profile image and haven't sent it in | 259 // If we have a downloaded profile image and haven't sent it in |
261 // |SendSelectedImage|, send it now (without selecting). | 260 // |SendSelectedImage|, send it now (without selecting). |
262 if (previous_image_index_ != user_manager::User::USER_IMAGE_PROFILE && | 261 if (previous_image_index_ != user_manager::User::USER_IMAGE_PROFILE && |
263 !user_image_manager->DownloadedProfileImage().isNull()) | 262 !user_image_manager->DownloadedProfileImage().isNull()) |
264 SendProfileImage(user_image_manager->DownloadedProfileImage(), false); | 263 SendProfileImage(user_image_manager->DownloadedProfileImage(), false); |
265 | 264 |
266 user_image_manager->DownloadProfileImage(kProfileDownloadReason); | 265 user_image_manager->DownloadProfileImage(kProfileDownloadReason); |
267 } | 266 } |
268 | 267 |
269 void ChangePictureHandler::SendOldImage(const std::string& image_url) { | 268 void ChangePictureHandler::SendOldImage(const std::string& image_url) { |
270 previous_image_url_ = image_url; | 269 previous_image_url_ = image_url; |
271 base::StringValue url(image_url); | 270 base::Value url(image_url); |
272 CallJavascriptFunction("cr.webUIListenerCallback", | 271 CallJavascriptFunction("cr.webUIListenerCallback", |
273 base::StringValue("old-image-changed"), url); | 272 base::Value("old-image-changed"), url); |
274 } | 273 } |
275 | 274 |
276 void ChangePictureHandler::HandleSelectImage(const base::ListValue* args) { | 275 void ChangePictureHandler::HandleSelectImage(const base::ListValue* args) { |
277 std::string image_url; | 276 std::string image_url; |
278 std::string image_type; | 277 std::string image_type; |
279 if (!args || args->GetSize() != 2 || !args->GetString(0, &image_url) || | 278 if (!args || args->GetSize() != 2 || !args->GetString(0, &image_url) || |
280 !args->GetString(1, &image_type)) { | 279 !args->GetString(1, &image_type)) { |
281 NOTREACHED(); | 280 NOTREACHED(); |
282 return; | 281 return; |
283 } | 282 } |
(...skipping 77 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
361 ->SaveUserImage(user_manager::UserImage::CreateAndEncode( | 360 ->SaveUserImage(user_manager::UserImage::CreateAndEncode( |
362 photo, user_manager::UserImage::FORMAT_JPEG)); | 361 photo, user_manager::UserImage::FORMAT_JPEG)); |
363 UMA_HISTOGRAM_ENUMERATION("UserImage.ChangeChoice", | 362 UMA_HISTOGRAM_ENUMERATION("UserImage.ChangeChoice", |
364 default_user_image::kHistogramImageFromCamera, | 363 default_user_image::kHistogramImageFromCamera, |
365 default_user_image::kHistogramImagesCount); | 364 default_user_image::kHistogramImagesCount); |
366 VLOG(1) << "Selected camera photo"; | 365 VLOG(1) << "Selected camera photo"; |
367 } | 366 } |
368 | 367 |
369 void ChangePictureHandler::SetCameraPresent(bool present) { | 368 void ChangePictureHandler::SetCameraPresent(bool present) { |
370 CallJavascriptFunction("cr.webUIListenerCallback", | 369 CallJavascriptFunction("cr.webUIListenerCallback", |
371 base::StringValue("camera-presence-changed"), | 370 base::Value("camera-presence-changed"), |
372 base::Value(present)); | 371 base::Value(present)); |
373 } | 372 } |
374 | 373 |
375 void ChangePictureHandler::OnCameraPresenceCheckDone(bool is_camera_present) { | 374 void ChangePictureHandler::OnCameraPresenceCheckDone(bool is_camera_present) { |
376 SetCameraPresent(is_camera_present); | 375 SetCameraPresent(is_camera_present); |
377 } | 376 } |
378 | 377 |
379 void ChangePictureHandler::OnUserImageChanged(const user_manager::User& user) { | 378 void ChangePictureHandler::OnUserImageChanged(const user_manager::User& user) { |
380 // Not initialized yet. | 379 // Not initialized yet. |
381 if (previous_image_index_ == user_manager::User::USER_IMAGE_INVALID) | 380 if (previous_image_index_ == user_manager::User::USER_IMAGE_INVALID) |
(...skipping 27 matching lines...) Expand all Loading... |
409 Profile* profile = Profile::FromWebUI(web_ui()); | 408 Profile* profile = Profile::FromWebUI(web_ui()); |
410 const user_manager::User* user = | 409 const user_manager::User* user = |
411 ProfileHelper::Get()->GetUserByProfile(profile); | 410 ProfileHelper::Get()->GetUserByProfile(profile); |
412 if (!user) | 411 if (!user) |
413 return user_manager::UserManager::Get()->GetActiveUser(); | 412 return user_manager::UserManager::Get()->GetActiveUser(); |
414 return user; | 413 return user; |
415 } | 414 } |
416 | 415 |
417 } // namespace settings | 416 } // namespace settings |
418 } // namespace chromeos | 417 } // namespace chromeos |
OLD | NEW |