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

Side by Side Diff: chrome/browser/chromeos/login/existing_user_controller.h

Issue 3201003: Fixed error message bubbles according to the latest mocks (Closed) Base URL: http://src.chromium.org/git/chromium.git
Patch Set: Comments resolved Created 10 years, 4 months 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
OLDNEW
1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2010 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 #ifndef CHROME_BROWSER_CHROMEOS_LOGIN_EXISTING_USER_CONTROLLER_H_ 5 #ifndef CHROME_BROWSER_CHROMEOS_LOGIN_EXISTING_USER_CONTROLLER_H_
6 #define CHROME_BROWSER_CHROMEOS_LOGIN_EXISTING_USER_CONTROLLER_H_ 6 #define CHROME_BROWSER_CHROMEOS_LOGIN_EXISTING_USER_CONTROLLER_H_
7 #pragma once 7 #pragma once
8 8
9 #include <string> 9 #include <string>
10 #include <vector> 10 #include <vector>
11 11
12 #include "base/ref_counted.h" 12 #include "base/ref_counted.h"
13 #include "base/task.h" 13 #include "base/task.h"
14 #include "base/timer.h" 14 #include "base/timer.h"
15 #include "chrome/browser/chromeos/login/captcha_view.h" 15 #include "chrome/browser/chromeos/login/captcha_view.h"
16 #include "chrome/browser/chromeos/login/login_status_consumer.h" 16 #include "chrome/browser/chromeos/login/login_status_consumer.h"
17 #include "chrome/browser/chromeos/login/message_bubble.h"
17 #include "chrome/browser/chromeos/login/password_changed_view.h" 18 #include "chrome/browser/chromeos/login/password_changed_view.h"
18 #include "chrome/browser/chromeos/login/user_manager.h" 19 #include "chrome/browser/chromeos/login/user_manager.h"
19 #include "chrome/browser/chromeos/login/user_controller.h" 20 #include "chrome/browser/chromeos/login/user_controller.h"
20 #include "chrome/browser/chromeos/wm_message_listener.h" 21 #include "chrome/browser/chromeos/wm_message_listener.h"
21 #include "chrome/browser/views/info_bubble.h"
22 #include "chrome/common/net/gaia/gaia_auth_consumer.h" 22 #include "chrome/common/net/gaia/gaia_auth_consumer.h"
23 #include "gfx/size.h" 23 #include "gfx/size.h"
24 24
25 namespace chromeos { 25 namespace chromeos {
26 26
27 class Authenticator; 27 class Authenticator;
28 class BackgroundView; 28 class BackgroundView;
29 class MessageBubble; 29 class MessageBubble;
30 30
31 // ExistingUserController is used to handle login when someone has already 31 // ExistingUserController is used to handle login when someone has already
32 // logged into the machine. When Init is invoked a UserController is created for 32 // logged into the machine. When Init is invoked a UserController is created for
33 // each of the Users's in the UserManager (including one for guest), and the 33 // each of the Users's in the UserManager (including one for guest), and the
34 // window manager is then told to show the windows. If the user clicks on the 34 // window manager is then told to show the windows. If the user clicks on the
35 // guest entry the WizardWindow is swapped in. 35 // guest entry the WizardWindow is swapped in.
36 // 36 //
37 // To use ExistingUserController create an instance of it and invoke Init. 37 // To use ExistingUserController create an instance of it and invoke Init.
38 // 38 //
39 // ExistingUserController maintains it's own life cycle and deletes itself when 39 // ExistingUserController maintains it's own life cycle and deletes itself when
40 // the user logs in (or chooses to see other settings). 40 // the user logs in (or chooses to see other settings).
41 class ExistingUserController : public WmMessageListener::Observer, 41 class ExistingUserController : public WmMessageListener::Observer,
42 public UserController::Delegate, 42 public UserController::Delegate,
43 public LoginStatusConsumer, 43 public LoginStatusConsumer,
44 public InfoBubbleDelegate, 44 public MessageBubbleDelegate,
45 public CaptchaView::Delegate, 45 public CaptchaView::Delegate,
46 public PasswordChangedView::Delegate { 46 public PasswordChangedView::Delegate {
47 public: 47 public:
48 // Initializes views for known users. |background_bounds| determines the 48 // Initializes views for known users. |background_bounds| determines the
49 // bounds of background view. 49 // bounds of background view.
50 ExistingUserController(const std::vector<UserManager::User>& users, 50 ExistingUserController(const std::vector<UserManager::User>& users,
51 const gfx::Rect& background_bounds); 51 const gfx::Rect& background_bounds);
52 52
53 // Creates and shows the appropriate set of windows. 53 // Creates and shows the appropriate set of windows.
54 void Init(); 54 void Init();
(...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after
93 virtual void OnPasswordChangeDetected( 93 virtual void OnPasswordChangeDetected(
94 const GaiaAuthConsumer::ClientLoginResult& credentials); 94 const GaiaAuthConsumer::ClientLoginResult& credentials);
95 95
96 // Overridden from views::InfoBubbleDelegate. 96 // Overridden from views::InfoBubbleDelegate.
97 virtual void InfoBubbleClosing(InfoBubble* info_bubble, 97 virtual void InfoBubbleClosing(InfoBubble* info_bubble,
98 bool closed_by_escape) { 98 bool closed_by_escape) {
99 bubble_ = NULL; 99 bubble_ = NULL;
100 } 100 }
101 virtual bool CloseOnEscape() { return true; } 101 virtual bool CloseOnEscape() { return true; }
102 virtual bool FadeInOnShow() { return false; } 102 virtual bool FadeInOnShow() { return false; }
103 virtual void OnHelpLinkActivated();
103 104
104 // CaptchaView::Delegate: 105 // CaptchaView::Delegate:
105 virtual void OnCaptchaEntered(const std::string& captcha); 106 virtual void OnCaptchaEntered(const std::string& captcha);
106 107
107 // PasswordChangedView::Delegate: 108 // PasswordChangedView::Delegate:
108 virtual void RecoverEncryptedData(const std::string& old_password); 109 virtual void RecoverEncryptedData(const std::string& old_password);
109 virtual void ResyncEncryptedData(); 110 virtual void ResyncEncryptedData();
110 111
111 // Adds start url to command line. 112 // Adds start url to command line.
112 void AppendStartUrlToCmdline(); 113 void AppendStartUrlToCmdline();
(...skipping 21 matching lines...) Expand all
134 135
135 // The set of UserControllers. 136 // The set of UserControllers.
136 std::vector<UserController*> controllers_; 137 std::vector<UserController*> controllers_;
137 138
138 // Used for logging in. 139 // Used for logging in.
139 scoped_refptr<Authenticator> authenticator_; 140 scoped_refptr<Authenticator> authenticator_;
140 141
141 // Index of selected view (user). 142 // Index of selected view (user).
142 size_t selected_view_index_; 143 size_t selected_view_index_;
143 144
145 // Number of login attempts. Used to show help link when > 1 unsuccessful
146 // logins for the same user.
147 size_t num_login_attempts_;
148
144 // See comment in ProcessWmMessage. 149 // See comment in ProcessWmMessage.
145 base::OneShotTimer<ExistingUserController> delete_timer_; 150 base::OneShotTimer<ExistingUserController> delete_timer_;
146 151
147 // Pointer to the instance that was scheduled to be deleted soon or NULL 152 // Pointer to the instance that was scheduled to be deleted soon or NULL
148 // if there is no such instance. 153 // if there is no such instance.
149 static ExistingUserController* delete_scheduled_instance_; 154 static ExistingUserController* delete_scheduled_instance_;
150 155
151 // Pointer to shown message bubble. We don't need to delete it because 156 // Pointer to shown message bubble. We don't need to delete it because
152 // it will be deleted on bubble closing. 157 // it will be deleted on bubble closing.
153 MessageBubble* bubble_; 158 MessageBubble* bubble_;
154 159
155 // Token representing the specific CAPTCHA challenge. 160 // Token representing the specific CAPTCHA challenge.
156 std::string login_token_; 161 std::string login_token_;
157 162
158 // String entered by the user as an answer to a CAPTCHA challenge. 163 // String entered by the user as an answer to a CAPTCHA challenge.
159 std::string login_captcha_; 164 std::string login_captcha_;
160 165
161 // URL that will be opened on browser startup. 166 // URL that will be opened on browser startup.
162 GURL start_url_; 167 GURL start_url_;
163 168
164 // Cached credentials data when password change is detected. 169 // Cached credentials data when password change is detected.
165 GaiaAuthConsumer::ClientLoginResult cached_credentials_; 170 GaiaAuthConsumer::ClientLoginResult cached_credentials_;
166 171
167 DISALLOW_COPY_AND_ASSIGN(ExistingUserController); 172 DISALLOW_COPY_AND_ASSIGN(ExistingUserController);
168 }; 173 };
169 174
170 } // namespace chromeos 175 } // namespace chromeos
171 176
172 #endif // CHROME_BROWSER_CHROMEOS_LOGIN_EXISTING_USER_CONTROLLER_H_ 177 #endif // CHROME_BROWSER_CHROMEOS_LOGIN_EXISTING_USER_CONTROLLER_H_
OLDNEW
« no previous file with comments | « chrome/app/generated_resources.grd ('k') | chrome/browser/chromeos/login/existing_user_controller.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698