OLD | NEW |
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 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/callback.h" | 7 #include "base/bind.h" |
| 8 #include "base/bind_helpers.h" |
8 #include "base/logging.h" | 9 #include "base/logging.h" |
9 #include "base/values.h" | 10 #include "base/values.h" |
10 #include "chrome/browser/chromeos/login/default_user_images.h" | 11 #include "chrome/browser/chromeos/login/default_user_images.h" |
11 #include "chrome/browser/chromeos/login/user_manager.h" | 12 #include "chrome/browser/chromeos/login/user_manager.h" |
12 #include "chrome/browser/chromeos/login/webui_login_display.h" | 13 #include "chrome/browser/chromeos/login/webui_login_display.h" |
13 #include "chrome/browser/chromeos/options/take_photo_dialog.h" | 14 #include "chrome/browser/chromeos/options/take_photo_dialog.h" |
14 #include "chrome/browser/ui/views/window.h" | 15 #include "chrome/browser/ui/views/window.h" |
15 #include "chrome/browser/ui/webui/web_ui_util.h" | 16 #include "chrome/browser/ui/webui/web_ui_util.h" |
16 #include "grit/generated_resources.h" | 17 #include "grit/generated_resources.h" |
17 #include "ui/base/l10n/l10n_util.h" | 18 #include "ui/base/l10n/l10n_util.h" |
(...skipping 92 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
110 if (page_is_ready()) { | 111 if (page_is_ready()) { |
111 profile_picture_ = image; | 112 profile_picture_ = image; |
112 profile_picture_data_url_ = web_ui_util::GetImageDataUrl(image); | 113 profile_picture_data_url_ = web_ui_util::GetImageDataUrl(image); |
113 base::StringValue data_url(profile_picture_data_url_); | 114 base::StringValue data_url(profile_picture_data_url_); |
114 web_ui_->CallJavascriptFunction("oobe.UserImageScreen.setProfileImage", | 115 web_ui_->CallJavascriptFunction("oobe.UserImageScreen.setProfileImage", |
115 data_url); | 116 data_url); |
116 } | 117 } |
117 } | 118 } |
118 | 119 |
119 void UserImageScreenHandler::RegisterMessages() { | 120 void UserImageScreenHandler::RegisterMessages() { |
120 web_ui_->RegisterMessageCallback( | 121 web_ui_->RegisterMessageCallback("takePhoto", |
121 "takePhoto", | 122 base::Bind(&UserImageScreenHandler::HandleTakePhoto, |
122 NewCallback(this, &UserImageScreenHandler::HandleTakePhoto)); | 123 base::Unretained(this))); |
123 web_ui_->RegisterMessageCallback( | 124 web_ui_->RegisterMessageCallback("selectImage", |
124 "selectImage", | 125 base::Bind(&UserImageScreenHandler::HandleSelectImage, |
125 NewCallback(this, &UserImageScreenHandler::HandleSelectImage)); | 126 base::Unretained(this))); |
126 web_ui_->RegisterMessageCallback( | 127 web_ui_->RegisterMessageCallback("onUserImageAccepted", |
127 "onUserImageAccepted", | 128 base::Bind(&UserImageScreenHandler::HandleImageAccepted, |
128 NewCallback(this, &UserImageScreenHandler::HandleImageAccepted)); | 129 base::Unretained(this))); |
129 } | 130 } |
130 | 131 |
131 void UserImageScreenHandler::OnPhotoAccepted(const SkBitmap& photo) { | 132 void UserImageScreenHandler::OnPhotoAccepted(const SkBitmap& photo) { |
132 user_photo_ = photo; | 133 user_photo_ = photo; |
133 selected_image_ = UserManager::User::kExternalImageIndex; | 134 selected_image_ = UserManager::User::kExternalImageIndex; |
134 base::StringValue data_url(web_ui_util::GetImageDataUrl(user_photo_)); | 135 base::StringValue data_url(web_ui_util::GetImageDataUrl(user_photo_)); |
135 web_ui_->CallJavascriptFunction("oobe.UserImageScreen.setUserPhoto", | 136 web_ui_->CallJavascriptFunction("oobe.UserImageScreen.setUserPhoto", |
136 data_url); | 137 data_url); |
137 } | 138 } |
138 | 139 |
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
172 screen_->OnPhotoTaken(user_photo_); | 173 screen_->OnPhotoTaken(user_photo_); |
173 } else if (selected_image_ == UserManager::User::kProfileImageIndex) { | 174 } else if (selected_image_ == UserManager::User::kProfileImageIndex) { |
174 screen_->OnProfileImageSelected(profile_picture_); | 175 screen_->OnProfileImageSelected(profile_picture_); |
175 } else { | 176 } else { |
176 DCHECK(selected_image_ >= 0); | 177 DCHECK(selected_image_ >= 0); |
177 screen_->OnDefaultImageSelected(selected_image_); | 178 screen_->OnDefaultImageSelected(selected_image_); |
178 } | 179 } |
179 } | 180 } |
180 | 181 |
181 } // namespace chromeos | 182 } // namespace chromeos |
OLD | NEW |