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 125 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
136 image_data->SetString("author", | 136 image_data->SetString("author", |
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 FireWebUIListener("default-images-changed", image_urls); |
147 base::Value("default-images-changed"), image_urls); | |
148 } | 147 } |
149 | 148 |
150 void ChangePictureHandler::HandleChooseFile(const base::ListValue* args) { | 149 void ChangePictureHandler::HandleChooseFile(const base::ListValue* args) { |
151 DCHECK(args && args->empty()); | 150 DCHECK(args && args->empty()); |
152 select_file_dialog_ = ui::SelectFileDialog::Create( | 151 select_file_dialog_ = ui::SelectFileDialog::Create( |
153 this, new ChromeSelectFilePolicy(web_ui()->GetWebContents())); | 152 this, new ChromeSelectFilePolicy(web_ui()->GetWebContents())); |
154 | 153 |
155 base::FilePath downloads_path; | 154 base::FilePath downloads_path; |
156 if (!PathService::Get(chrome::DIR_DEFAULT_DOWNLOADS, &downloads_path)) { | 155 if (!PathService::Get(chrome::DIR_DEFAULT_DOWNLOADS, &downloads_path)) { |
157 NOTREACHED(); | 156 NOTREACHED(); |
(...skipping 66 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
224 break; | 223 break; |
225 } | 224 } |
226 default: { | 225 default: { |
227 DCHECK(previous_image_index_ >= 0 && | 226 DCHECK(previous_image_index_ >= 0 && |
228 previous_image_index_ < default_user_image::kDefaultImagesCount); | 227 previous_image_index_ < default_user_image::kDefaultImagesCount); |
229 if (previous_image_index_ >= | 228 if (previous_image_index_ >= |
230 default_user_image::kFirstDefaultImageIndex) { | 229 default_user_image::kFirstDefaultImageIndex) { |
231 // User has image from the current set of default images. | 230 // User has image from the current set of default images. |
232 base::Value image_url( | 231 base::Value image_url( |
233 default_user_image::GetDefaultImageUrl(previous_image_index_)); | 232 default_user_image::GetDefaultImageUrl(previous_image_index_)); |
234 CallJavascriptFunction("cr.webUIListenerCallback", | 233 FireWebUIListener("selected-image-changed", image_url); |
235 base::Value("selected-image-changed"), | |
236 image_url); | |
237 } else { | 234 } else { |
238 // User has an old default image, so present it in the same manner as a | 235 // User has an old default image, so present it in the same manner as a |
239 // previous image from file. | 236 // previous image from file. |
240 SendOldImage( | 237 SendOldImage( |
241 default_user_image::GetDefaultImageUrl(previous_image_index_)); | 238 default_user_image::GetDefaultImageUrl(previous_image_index_)); |
242 } | 239 } |
243 } | 240 } |
244 } | 241 } |
245 } | 242 } |
246 | 243 |
247 void ChangePictureHandler::SendProfileImage(const gfx::ImageSkia& image, | 244 void ChangePictureHandler::SendProfileImage(const gfx::ImageSkia& image, |
248 bool should_select) { | 245 bool should_select) { |
249 base::Value data_url(webui::GetBitmapDataUrl(*image.bitmap())); | 246 base::Value data_url(webui::GetBitmapDataUrl(*image.bitmap())); |
250 base::Value select(should_select); | 247 base::Value select(should_select); |
251 CallJavascriptFunction("cr.webUIListenerCallback", | 248 FireWebUIListener("profile-image-changed", data_url, select); |
252 base::Value("profile-image-changed"), data_url, | |
253 select); | |
254 } | 249 } |
255 | 250 |
256 void ChangePictureHandler::UpdateProfileImage() { | 251 void ChangePictureHandler::UpdateProfileImage() { |
257 UserImageManager* user_image_manager = | 252 UserImageManager* user_image_manager = |
258 ChromeUserManager::Get()->GetUserImageManager(GetUser()->GetAccountId()); | 253 ChromeUserManager::Get()->GetUserImageManager(GetUser()->GetAccountId()); |
259 // If we have a downloaded profile image and haven't sent it in | 254 // If we have a downloaded profile image and haven't sent it in |
260 // |SendSelectedImage|, send it now (without selecting). | 255 // |SendSelectedImage|, send it now (without selecting). |
261 if (previous_image_index_ != user_manager::User::USER_IMAGE_PROFILE && | 256 if (previous_image_index_ != user_manager::User::USER_IMAGE_PROFILE && |
262 !user_image_manager->DownloadedProfileImage().isNull()) | 257 !user_image_manager->DownloadedProfileImage().isNull()) |
263 SendProfileImage(user_image_manager->DownloadedProfileImage(), false); | 258 SendProfileImage(user_image_manager->DownloadedProfileImage(), false); |
264 | 259 |
265 user_image_manager->DownloadProfileImage(kProfileDownloadReason); | 260 user_image_manager->DownloadProfileImage(kProfileDownloadReason); |
266 } | 261 } |
267 | 262 |
268 void ChangePictureHandler::SendOldImage(const std::string& image_url) { | 263 void ChangePictureHandler::SendOldImage(const std::string& image_url) { |
269 previous_image_url_ = image_url; | 264 previous_image_url_ = image_url; |
270 base::Value url(image_url); | 265 base::Value url(image_url); |
271 CallJavascriptFunction("cr.webUIListenerCallback", | 266 FireWebUIListener("old-image-changed", url); |
272 base::Value("old-image-changed"), url); | |
273 } | 267 } |
274 | 268 |
275 void ChangePictureHandler::HandleSelectImage(const base::ListValue* args) { | 269 void ChangePictureHandler::HandleSelectImage(const base::ListValue* args) { |
276 std::string image_url; | 270 std::string image_url; |
277 std::string image_type; | 271 std::string image_type; |
278 if (!args || args->GetSize() != 2 || !args->GetString(0, &image_url) || | 272 if (!args || args->GetSize() != 2 || !args->GetString(0, &image_url) || |
279 !args->GetString(1, &image_type)) { | 273 !args->GetString(1, &image_type)) { |
280 NOTREACHED(); | 274 NOTREACHED(); |
281 return; | 275 return; |
282 } | 276 } |
(...skipping 76 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
359 ->GetUserImageManager(GetUser()->GetAccountId()) | 353 ->GetUserImageManager(GetUser()->GetAccountId()) |
360 ->SaveUserImage(user_manager::UserImage::CreateAndEncode( | 354 ->SaveUserImage(user_manager::UserImage::CreateAndEncode( |
361 photo, user_manager::UserImage::FORMAT_JPEG)); | 355 photo, user_manager::UserImage::FORMAT_JPEG)); |
362 UMA_HISTOGRAM_EXACT_LINEAR("UserImage.ChangeChoice", | 356 UMA_HISTOGRAM_EXACT_LINEAR("UserImage.ChangeChoice", |
363 default_user_image::kHistogramImageFromCamera, | 357 default_user_image::kHistogramImageFromCamera, |
364 default_user_image::kHistogramImagesCount); | 358 default_user_image::kHistogramImagesCount); |
365 VLOG(1) << "Selected camera photo"; | 359 VLOG(1) << "Selected camera photo"; |
366 } | 360 } |
367 | 361 |
368 void ChangePictureHandler::SetCameraPresent(bool present) { | 362 void ChangePictureHandler::SetCameraPresent(bool present) { |
369 CallJavascriptFunction("cr.webUIListenerCallback", | 363 FireWebUIListener("camera-presence-changed", base::Value(present)); |
370 base::Value("camera-presence-changed"), | |
371 base::Value(present)); | |
372 } | 364 } |
373 | 365 |
374 void ChangePictureHandler::OnCameraPresenceCheckDone(bool is_camera_present) { | 366 void ChangePictureHandler::OnCameraPresenceCheckDone(bool is_camera_present) { |
375 SetCameraPresent(is_camera_present); | 367 SetCameraPresent(is_camera_present); |
376 } | 368 } |
377 | 369 |
378 void ChangePictureHandler::OnUserImageChanged(const user_manager::User& user) { | 370 void ChangePictureHandler::OnUserImageChanged(const user_manager::User& user) { |
379 // Not initialized yet. | 371 // Not initialized yet. |
380 if (previous_image_index_ == user_manager::User::USER_IMAGE_INVALID) | 372 if (previous_image_index_ == user_manager::User::USER_IMAGE_INVALID) |
381 return; | 373 return; |
(...skipping 26 matching lines...) Expand all Loading... |
408 Profile* profile = Profile::FromWebUI(web_ui()); | 400 Profile* profile = Profile::FromWebUI(web_ui()); |
409 const user_manager::User* user = | 401 const user_manager::User* user = |
410 ProfileHelper::Get()->GetUserByProfile(profile); | 402 ProfileHelper::Get()->GetUserByProfile(profile); |
411 if (!user) | 403 if (!user) |
412 return user_manager::UserManager::Get()->GetActiveUser(); | 404 return user_manager::UserManager::Get()->GetActiveUser(); |
413 return user; | 405 return user; |
414 } | 406 } |
415 | 407 |
416 } // namespace settings | 408 } // namespace settings |
417 } // namespace chromeos | 409 } // namespace chromeos |
OLD | NEW |