| OLD | NEW |
| 1 // Copyright (c) 2013 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2013 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/chromeos/login/user_image_screen_handler.h" | 5 #include "chrome/browser/ui/webui/chromeos/login/user_image_screen_handler.h" |
| 6 | 6 |
| 7 #include "ash/audio/sounds.h" | 7 #include "ash/audio/sounds.h" |
| 8 #include "base/command_line.h" | 8 #include "base/command_line.h" |
| 9 #include "base/logging.h" | 9 #include "base/logging.h" |
| 10 #include "base/metrics/histogram.h" | 10 #include "base/metrics/histogram.h" |
| 11 #include "base/values.h" | 11 #include "base/values.h" |
| 12 #include "chrome/browser/chromeos/login/existing_user_controller.h" | 12 #include "chrome/browser/chromeos/login/existing_user_controller.h" |
| 13 #include "chrome/browser/chromeos/login/ui/webui_login_display.h" | 13 #include "chrome/browser/chromeos/login/ui/webui_login_display.h" |
| 14 #include "chrome/browser/chromeos/login/users/avatar/default_user_images.h" | |
| 15 #include "chrome/browser/chromeos/login/users/user.h" | 14 #include "chrome/browser/chromeos/login/users/user.h" |
| 16 #include "chrome/browser/ui/webui/chromeos/login/oobe_ui.h" | 15 #include "chrome/browser/ui/webui/chromeos/login/oobe_ui.h" |
| 17 #include "chrome/common/chrome_switches.h" | 16 #include "chrome/common/chrome_switches.h" |
| 18 #include "chrome/common/url_constants.h" | 17 #include "chrome/common/url_constants.h" |
| 19 #include "chromeos/audio/chromeos_sounds.h" | 18 #include "chromeos/audio/chromeos_sounds.h" |
| 19 #include "components/user_manager/user_image/default_user_images.h" |
| 20 #include "grit/browser_resources.h" | 20 #include "grit/browser_resources.h" |
| 21 #include "grit/generated_resources.h" | 21 #include "grit/generated_resources.h" |
| 22 #include "net/base/data_url.h" | 22 #include "net/base/data_url.h" |
| 23 #include "ui/base/l10n/l10n_util.h" | 23 #include "ui/base/l10n/l10n_util.h" |
| 24 #include "ui/base/resource/resource_bundle.h" | 24 #include "ui/base/resource/resource_bundle.h" |
| 25 #include "url/gurl.h" | 25 #include "url/gurl.h" |
| 26 | 26 |
| 27 namespace { | 27 namespace { |
| 28 | 28 |
| 29 const char kJsScreenPath[] = "login.UserImageScreen"; | 29 const char kJsScreenPath[] = "login.UserImageScreen"; |
| (...skipping 87 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 117 AddCallback("photoTaken", &UserImageScreenHandler::HandlePhotoTaken); | 117 AddCallback("photoTaken", &UserImageScreenHandler::HandlePhotoTaken); |
| 118 AddCallback("selectImage", &UserImageScreenHandler::HandleSelectImage); | 118 AddCallback("selectImage", &UserImageScreenHandler::HandleSelectImage); |
| 119 AddCallback("onUserImageAccepted", | 119 AddCallback("onUserImageAccepted", |
| 120 &UserImageScreenHandler::HandleImageAccepted); | 120 &UserImageScreenHandler::HandleImageAccepted); |
| 121 AddCallback("onUserImageScreenShown", | 121 AddCallback("onUserImageScreenShown", |
| 122 &UserImageScreenHandler::HandleScreenShown); | 122 &UserImageScreenHandler::HandleScreenShown); |
| 123 } | 123 } |
| 124 | 124 |
| 125 void UserImageScreenHandler::SelectImage(int index) { | 125 void UserImageScreenHandler::SelectImage(int index) { |
| 126 if (page_is_ready()) | 126 if (page_is_ready()) |
| 127 CallJS("setSelectedImage", GetDefaultImageUrl(index)); | 127 CallJS("setSelectedImage", user_manager::GetDefaultImageUrl(index)); |
| 128 } | 128 } |
| 129 | 129 |
| 130 void UserImageScreenHandler::SendProfileImage(const std::string& data_url) { | 130 void UserImageScreenHandler::SendProfileImage(const std::string& data_url) { |
| 131 if (page_is_ready()) | 131 if (page_is_ready()) |
| 132 CallJS("setProfileImage", data_url); | 132 CallJS("setProfileImage", data_url); |
| 133 } | 133 } |
| 134 | 134 |
| 135 void UserImageScreenHandler::OnProfileImageAbsent() { | 135 void UserImageScreenHandler::OnProfileImageAbsent() { |
| 136 if (page_is_ready()) { | 136 if (page_is_ready()) { |
| 137 scoped_ptr<base::Value> null_value(base::Value::CreateNullValue()); | 137 scoped_ptr<base::Value> null_value(base::Value::CreateNullValue()); |
| 138 CallJS("setProfileImage", *null_value); | 138 CallJS("setProfileImage", *null_value); |
| 139 } | 139 } |
| 140 } | 140 } |
| 141 | 141 |
| 142 // TODO(antrim) : It looks more like parameters for "Init" rather than callback. | 142 // TODO(antrim) : It looks more like parameters for "Init" rather than callback. |
| 143 void UserImageScreenHandler::HandleGetImages() { | 143 void UserImageScreenHandler::HandleGetImages() { |
| 144 base::ListValue image_urls; | 144 base::ListValue image_urls; |
| 145 for (int i = kFirstDefaultImageIndex; i < kDefaultImagesCount; ++i) { | 145 for (int i = user_manager::kFirstDefaultImageIndex; |
| 146 i < user_manager::kDefaultImagesCount; |
| 147 ++i) { |
| 146 scoped_ptr<base::DictionaryValue> image_data(new base::DictionaryValue); | 148 scoped_ptr<base::DictionaryValue> image_data(new base::DictionaryValue); |
| 147 image_data->SetString("url", GetDefaultImageUrl(i)); | 149 image_data->SetString("url", user_manager::GetDefaultImageUrl(i)); |
| 148 image_data->SetString( | 150 image_data->SetString( |
| 149 "author", l10n_util::GetStringUTF16(kDefaultImageAuthorIDs[i])); | 151 "author", |
| 152 l10n_util::GetStringUTF16(user_manager::kDefaultImageAuthorIDs[i])); |
| 150 image_data->SetString( | 153 image_data->SetString( |
| 151 "website", l10n_util::GetStringUTF16(kDefaultImageWebsiteIDs[i])); | 154 "website", |
| 152 image_data->SetString("title", GetDefaultImageDescription(i)); | 155 l10n_util::GetStringUTF16(user_manager::kDefaultImageWebsiteIDs[i])); |
| 156 image_data->SetString("title", user_manager::GetDefaultImageDescription(i)); |
| 153 image_urls.Append(image_data.release()); | 157 image_urls.Append(image_data.release()); |
| 154 } | 158 } |
| 155 CallJS("setDefaultImages", image_urls); | 159 CallJS("setDefaultImages", image_urls); |
| 156 if (!screen_) | 160 if (!screen_) |
| 157 return; | 161 return; |
| 158 if (screen_->selected_image() != User::kInvalidImageIndex) | 162 if (screen_->selected_image() != User::kInvalidImageIndex) |
| 159 SelectImage(screen_->selected_image()); | 163 SelectImage(screen_->selected_image()); |
| 160 | 164 |
| 161 if (screen_->profile_picture_data_url() != url::kAboutBlankURL) | 165 if (screen_->profile_picture_data_url() != url::kAboutBlankURL) |
| 162 SendProfileImage(screen_->profile_picture_data_url()); | 166 SendProfileImage(screen_->profile_picture_data_url()); |
| (...skipping 51 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 214 | 218 |
| 215 void UserImageScreenHandler::HideCurtain() { | 219 void UserImageScreenHandler::HideCurtain() { |
| 216 CallJS("hideCurtain"); | 220 CallJS("hideCurtain"); |
| 217 } | 221 } |
| 218 | 222 |
| 219 void UserImageScreenHandler::SetProfilePictureEnabled(bool enabled) { | 223 void UserImageScreenHandler::SetProfilePictureEnabled(bool enabled) { |
| 220 CallJS("setProfilePictureEnabled", enabled); | 224 CallJS("setProfilePictureEnabled", enabled); |
| 221 } | 225 } |
| 222 | 226 |
| 223 } // namespace chromeos | 227 } // namespace chromeos |
| OLD | NEW |