Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(20)

Side by Side Diff: chrome/browser/chromeos/login/screen_lock_view.cc

Issue 8557005: Rebase the MessageBubble on the new views bubble. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Sync and merge. Created 9 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
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/chromeos/login/screen_lock_view.h" 5 #include "chrome/browser/chromeos/login/screen_lock_view.h"
6 6
7 #include "base/utf_string_conversions.h" 7 #include "base/utf_string_conversions.h"
8 #include "chrome/browser/chromeos/login/rounded_rect_painter.h" 8 #include "chrome/browser/chromeos/login/rounded_rect_painter.h"
9 #include "chrome/browser/chromeos/login/screen_locker.h" 9 #include "chrome/browser/chromeos/login/screen_locker.h"
10 #include "chrome/browser/chromeos/login/textfield_with_margin.h" 10 #include "chrome/browser/chromeos/login/textfield_with_margin.h"
11 #include "chrome/browser/chromeos/login/user.h" 11 #include "chrome/browser/chromeos/login/user.h"
12 #include "chrome/browser/chromeos/login/user_view.h" 12 #include "chrome/browser/chromeos/login/user_view.h"
13 #include "chrome/browser/chromeos/login/username_view.h" 13 #include "chrome/browser/chromeos/login/username_view.h"
14 #include "chrome/browser/chromeos/login/wizard_accessibility_helper.h" 14 #include "chrome/browser/chromeos/login/wizard_accessibility_helper.h"
15 #include "chrome/browser/chromeos/views/copy_background.h" 15 #include "chrome/browser/chromeos/views/copy_background.h"
16 #include "chrome/browser/profiles/profile_manager.h" 16 #include "chrome/browser/profiles/profile_manager.h"
17 #include "chrome/common/chrome_notification_types.h" 17 #include "chrome/common/chrome_notification_types.h"
18 #include "content/public/browser/notification_service.h" 18 #include "content/public/browser/notification_service.h"
19 #include "grit/generated_resources.h" 19 #include "grit/generated_resources.h"
20 #include "ui/base/l10n/l10n_util.h" 20 #include "ui/base/l10n/l10n_util.h"
21 #include "ui/base/resource/resource_bundle.h" 21 #include "ui/base/resource/resource_bundle.h"
22 #include "ui/views/controls/image_view.h" 22 #include "ui/views/controls/image_view.h"
23 #include "ui/views/controls/label.h" 23 #include "ui/views/controls/label.h"
24 #include "ui/views/controls/textfield/native_textfield_wrapper.h" 24 #include "ui/views/controls/textfield/native_textfield_wrapper.h"
25 #include "ui/views/controls/textfield/textfield.h" 25 #include "ui/views/controls/textfield/textfield.h"
26 #include "ui/views/layout/grid_layout.h" 26 #include "ui/views/layout/grid_layout.h"
27 #include "ui/views/widget/native_widget_gtk.h"
28 #include "views/background.h" 27 #include "views/background.h"
29 #include "views/border.h" 28 #include "views/border.h"
30 29
30 #if defined(TOOLKIT_USES_GTK)
31 #include "ui/views/widget/native_widget_gtk.h"
32 #endif
33
31 namespace chromeos { 34 namespace chromeos {
32 35
33 namespace { 36 namespace {
34 37
35 const int kCornerRadius = 5; 38 const int kCornerRadius = 5;
36 const SkColor kPodBackgroundColor = 0xFFF0F0F0; 39 const SkColor kPodBackgroundColor = 0xFFF0F0F0;
37 40
38 // A Textfield for password, which also sets focus to itself 41 // A Textfield for password, which also sets focus to itself
39 // when a mouse is clicked on it. This is necessary in screen locker 42 // when a mouse is clicked on it. This is necessary in screen locker
40 // as mouse events are grabbed in the screen locker. 43 // as mouse events are grabbed in the screen locker.
(...skipping 152 matching lines...) Expand 10 before | Expand all | Expand 10 after
193 196
194 void ScreenLockView::ClearAndSetFocusToPassword() { 197 void ScreenLockView::ClearAndSetFocusToPassword() {
195 password_field_->RequestFocus(); 198 password_field_->RequestFocus();
196 password_field_->SetText(string16()); 199 password_field_->SetText(string16());
197 } 200 }
198 201
199 void ScreenLockView::SetSignoutEnabled(bool enabled) { 202 void ScreenLockView::SetSignoutEnabled(bool enabled) {
200 user_view_->SetSignoutEnabled(enabled); 203 user_view_->SetSignoutEnabled(enabled);
201 } 204 }
202 205
203 gfx::Rect ScreenLockView::GetPasswordBoundsRelativeTo(const views::View* view) {
204 gfx::Point p;
205 views::View::ConvertPointToView(password_field_, view, &p);
206 return gfx::Rect(p, size());
207 }
208
209 void ScreenLockView::SetEnabled(bool enabled) { 206 void ScreenLockView::SetEnabled(bool enabled) {
210 views::View::SetEnabled(enabled); 207 views::View::SetEnabled(enabled);
211 208
212 if (!enabled) { 209 if (!enabled) {
213 // TODO(oshima): Re-enabling does not move the focus to the view 210 // TODO(oshima): Re-enabling does not move the focus to the view
214 // that had a focus (issue http://crbug.com/43131). 211 // that had a focus (issue http://crbug.com/43131).
215 // Clear focus on the textfield so that re-enabling can set focus 212 // Clear focus on the textfield so that re-enabling can set focus
216 // back to the text field. 213 // back to the text field.
217 // FocusManager may be null if the view does not have 214 // FocusManager may be null if the view does not have
218 // associated Widget yet. 215 // associated Widget yet.
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after
254 if (type != chrome::NOTIFICATION_LOGIN_USER_IMAGE_CHANGED || !user_view_) 251 if (type != chrome::NOTIFICATION_LOGIN_USER_IMAGE_CHANGED || !user_view_)
255 return; 252 return;
256 253
257 User* user = content::Details<User>(details).ptr(); 254 User* user = content::Details<User>(details).ptr();
258 if (screen_locker_->user().email() != user->email()) 255 if (screen_locker_->user().email() != user->email())
259 return; 256 return;
260 user_view_->SetImage(user->image(), user->image()); 257 user_view_->SetImage(user->image(), user->image());
261 } 258 }
262 259
263 } // namespace chromeos 260 } // namespace chromeos
OLDNEW
« no previous file with comments | « chrome/browser/chromeos/login/screen_lock_view.h ('k') | chrome/browser/chromeos/login/screen_locker_views.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698