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 "base/command_line.h" | 7 #include "base/command_line.h" |
8 #include "base/logging.h" | 8 #include "base/logging.h" |
9 #include "base/metrics/histogram.h" | 9 #include "base/metrics/histogram.h" |
10 #include "base/values.h" | 10 #include "base/values.h" |
(...skipping 81 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
92 } | 92 } |
93 | 93 |
94 void UserImageScreenHandler::Hide() { | 94 void UserImageScreenHandler::Hide() { |
95 } | 95 } |
96 | 96 |
97 void UserImageScreenHandler::PrepareToShow() { | 97 void UserImageScreenHandler::PrepareToShow() { |
98 } | 98 } |
99 | 99 |
100 void UserImageScreenHandler::SelectImage(int index) { | 100 void UserImageScreenHandler::SelectImage(int index) { |
101 selected_image_ = index; | 101 selected_image_ = index; |
102 if (page_is_ready()) { | 102 if (page_is_ready()) |
103 base::StringValue image_url(GetDefaultImageUrl(index)); | 103 CallJS("oobe.UserImageScreen.setSelectedImage", GetDefaultImageUrl(index)); |
104 CallJS("oobe.UserImageScreen.setSelectedImage", | |
105 image_url); | |
106 } | |
107 } | 104 } |
108 | 105 |
109 void UserImageScreenHandler::CheckCameraPresence() { | 106 void UserImageScreenHandler::CheckCameraPresence() { |
110 CameraDetector::StartPresenceCheck( | 107 CameraDetector::StartPresenceCheck( |
111 base::Bind(&UserImageScreenHandler::OnCameraPresenceCheckDone, | 108 base::Bind(&UserImageScreenHandler::OnCameraPresenceCheckDone, |
112 weak_factory_.GetWeakPtr())); | 109 weak_factory_.GetWeakPtr())); |
113 } | 110 } |
114 | 111 |
115 void UserImageScreenHandler::RegisterMessages() { | 112 void UserImageScreenHandler::RegisterMessages() { |
116 AddCallback("getImages", &UserImageScreenHandler::HandleGetImages); | 113 AddCallback("getImages", &UserImageScreenHandler::HandleGetImages); |
117 AddCallback("photoTaken", &UserImageScreenHandler::HandlePhotoTaken); | 114 AddCallback("photoTaken", &UserImageScreenHandler::HandlePhotoTaken); |
118 AddCallback("selectImage", &UserImageScreenHandler::HandleSelectImage); | 115 AddCallback("selectImage", &UserImageScreenHandler::HandleSelectImage); |
119 AddCallback("checkCameraPresence", | 116 AddCallback("checkCameraPresence", |
120 &UserImageScreenHandler::HandleCheckCameraPresence); | 117 &UserImageScreenHandler::HandleCheckCameraPresence); |
121 AddCallback("onUserImageAccepted", | 118 AddCallback("onUserImageAccepted", |
122 &UserImageScreenHandler::HandleImageAccepted); | 119 &UserImageScreenHandler::HandleImageAccepted); |
123 AddCallback("onUserImageScreenShown", | 120 AddCallback("onUserImageScreenShown", |
124 &UserImageScreenHandler::HandleScreenShown); | 121 &UserImageScreenHandler::HandleScreenShown); |
125 } | 122 } |
126 | 123 |
127 void UserImageScreenHandler::AddProfileImage(const gfx::ImageSkia& image) { | 124 void UserImageScreenHandler::AddProfileImage(const gfx::ImageSkia& image) { |
128 profile_picture_data_url_ = webui::GetBitmapDataUrl(*image.bitmap()); | 125 profile_picture_data_url_ = webui::GetBitmapDataUrl(*image.bitmap()); |
129 SendProfileImage(profile_picture_data_url_); | 126 SendProfileImage(profile_picture_data_url_); |
130 } | 127 } |
131 | 128 |
132 void UserImageScreenHandler::SendProfileImage(const std::string& data_url) { | 129 void UserImageScreenHandler::SendProfileImage(const std::string& data_url) { |
133 if (page_is_ready()) { | 130 if (page_is_ready()) |
134 base::StringValue data_url_value(data_url); | 131 CallJS("oobe.UserImageScreen.setProfileImage", data_url); |
135 CallJS("oobe.UserImageScreen.setProfileImage", data_url_value); | |
136 } | |
137 } | 132 } |
138 | 133 |
139 void UserImageScreenHandler::OnProfileImageAbsent() { | 134 void UserImageScreenHandler::OnProfileImageAbsent() { |
140 profile_picture_absent_ = true; | 135 profile_picture_absent_ = true; |
141 if (page_is_ready()) { | 136 if (page_is_ready()) { |
142 scoped_ptr<base::Value> null_value(base::Value::CreateNullValue()); | 137 scoped_ptr<base::Value> null_value(base::Value::CreateNullValue()); |
143 CallJS("oobe.UserImageScreen.setProfileImage", *null_value); | 138 CallJS("oobe.UserImageScreen.setProfileImage", *null_value); |
144 } | 139 } |
145 } | 140 } |
146 | 141 |
(...skipping 85 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
232 | 227 |
233 void UserImageScreenHandler::HandleScreenShown() { | 228 void UserImageScreenHandler::HandleScreenShown() { |
234 DCHECK(!screen_show_time_.is_null()); | 229 DCHECK(!screen_show_time_.is_null()); |
235 | 230 |
236 base::TimeDelta delta = base::Time::Now() - screen_show_time_; | 231 base::TimeDelta delta = base::Time::Now() - screen_show_time_; |
237 VLOG(1) << "Screen load time: " << delta.InSecondsF(); | 232 VLOG(1) << "Screen load time: " << delta.InSecondsF(); |
238 UMA_HISTOGRAM_TIMES("UserImage.ScreenIsShownTime", delta); | 233 UMA_HISTOGRAM_TIMES("UserImage.ScreenIsShownTime", delta); |
239 } | 234 } |
240 | 235 |
241 void UserImageScreenHandler::OnCameraPresenceCheckDone() { | 236 void UserImageScreenHandler::OnCameraPresenceCheckDone() { |
242 base::FundamentalValue present_value( | 237 bool present = |
243 CameraDetector::camera_presence() == CameraDetector::kCameraPresent); | 238 (CameraDetector::camera_presence() == CameraDetector::kCameraPresent); |
244 CallJS("oobe.UserImageScreen.setCameraPresent", present_value); | 239 CallJS("oobe.UserImageScreen.setCameraPresent", present); |
bartfab (slow)
2013/04/18 07:39:31
Nit: You can inline the comparison here:
CallJS("
Denis Kuznetsov (DE-MUC)
2013/04/18 07:46:52
That would actually be gone when https://coderevie
ygorshenin1
2013/04/18 07:58:23
Done.
| |
245 } | 240 } |
246 | 241 |
247 void UserImageScreenHandler::OnImageDecoded(const ImageDecoder* decoder, | 242 void UserImageScreenHandler::OnImageDecoded(const ImageDecoder* decoder, |
248 const SkBitmap& decoded_image) { | 243 const SkBitmap& decoded_image) { |
249 DCHECK_EQ(image_decoder_.get(), decoder); | 244 DCHECK_EQ(image_decoder_.get(), decoder); |
250 user_photo_ = gfx::ImageSkia::CreateFrom1xBitmap(decoded_image); | 245 user_photo_ = gfx::ImageSkia::CreateFrom1xBitmap(decoded_image); |
251 if (screen_ && accept_photo_after_decoding_) | 246 if (screen_ && accept_photo_after_decoding_) |
252 screen_->OnPhotoTaken(user_photo_); | 247 screen_->OnPhotoTaken(user_photo_); |
253 } | 248 } |
254 | 249 |
255 void UserImageScreenHandler::OnDecodeImageFailed(const ImageDecoder* decoder) { | 250 void UserImageScreenHandler::OnDecodeImageFailed(const ImageDecoder* decoder) { |
256 NOTREACHED() << "Failed to decode PNG image from WebUI"; | 251 NOTREACHED() << "Failed to decode PNG image from WebUI"; |
257 } | 252 } |
258 | 253 |
259 void UserImageScreenHandler::SetProfilePictureEnabled(bool enabled) { | 254 void UserImageScreenHandler::SetProfilePictureEnabled(bool enabled) { |
260 base::FundamentalValue present_value(enabled); | 255 CallJS("oobe.UserImageScreen.setProfilePictureEnabled", enabled); |
261 CallJS("oobe.UserImageScreen.setProfilePictureEnabled", present_value); | |
262 } | 256 } |
263 | 257 |
264 } // namespace chromeos | 258 } // namespace chromeos |
OLD | NEW |