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

Side by Side Diff: chrome/browser/ui/webui/signin/user_manager_screen_handler.h

Issue 99373008: Fallback to on-line password check if local fails. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: move credential update to be only called after on-line auth Created 6 years, 11 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 | Annotate | Revision Log
« no previous file with comments | « no previous file | chrome/browser/ui/webui/signin/user_manager_screen_handler.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2013 The Chromium Authors. All rights reserved. 1 // Copyright 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 #ifndef CHROME_BROWSER_UI_WEBUI_SIGNIN_USER_MANAGER_SCREEN_HANDLER_H_ 5 #ifndef CHROME_BROWSER_UI_WEBUI_SIGNIN_USER_MANAGER_SCREEN_HANDLER_H_
6 #define CHROME_BROWSER_UI_WEBUI_SIGNIN_USER_MANAGER_SCREEN_HANDLER_H_ 6 #define CHROME_BROWSER_UI_WEBUI_SIGNIN_USER_MANAGER_SCREEN_HANDLER_H_
7 7
8 #include "base/compiler_specific.h" 8 #include "base/compiler_specific.h"
9 #include "base/memory/scoped_ptr.h" 9 #include "base/memory/scoped_ptr.h"
10 #include "chrome/browser/ui/host_desktop.h" 10 #include "chrome/browser/ui/host_desktop.h"
11 #include "content/public/browser/web_ui_message_handler.h" 11 #include "content/public/browser/web_ui_message_handler.h"
12 #include "google_apis/gaia/gaia_auth_consumer.h"
13
14 class GaiaAuthFetcher;
12 15
13 namespace base { 16 namespace base {
14 class DictionaryValue; 17 class DictionaryValue;
15 class FilePath; 18 class FilePath;
16 class ListValue; 19 class ListValue;
17 } 20 }
18 21
19 class UserManagerScreenHandler : public content::WebUIMessageHandler { 22 class UserManagerScreenHandler : public content::WebUIMessageHandler,
23 public GaiaAuthConsumer {
20 public: 24 public:
21 UserManagerScreenHandler(); 25 UserManagerScreenHandler();
22 virtual ~UserManagerScreenHandler(); 26 virtual ~UserManagerScreenHandler();
23 27
24 // WebUIMessageHandler implementation. 28 // WebUIMessageHandler implementation.
25 virtual void RegisterMessages() OVERRIDE; 29 virtual void RegisterMessages() OVERRIDE;
26 30
27 void GetLocalizedValues(base::DictionaryValue* localized_strings); 31 void GetLocalizedValues(base::DictionaryValue* localized_strings);
28 32
29 private: 33 private:
30 // An observer for any changes to Profiles in the ProfileInfoCache so that 34 // An observer for any changes to Profiles in the ProfileInfoCache so that
31 // all the visible user manager screens can be updated. 35 // all the visible user manager screens can be updated.
32 class ProfileUpdateObserver; 36 class ProfileUpdateObserver;
33 37
34 void HandleInitialize(const base::ListValue* args); 38 void HandleInitialize(const base::ListValue* args);
35 void HandleAddUser(const base::ListValue* args); 39 void HandleAddUser(const base::ListValue* args);
36 void HandleAuthenticatedLaunchUser(const base::ListValue* args); 40 void HandleAuthenticatedLaunchUser(const base::ListValue* args);
37 void HandleLaunchGuest(const base::ListValue* args); 41 void HandleLaunchGuest(const base::ListValue* args);
38 void HandleLaunchUser(const base::ListValue* args); 42 void HandleLaunchUser(const base::ListValue* args);
39 void HandleRemoveUser(const base::ListValue* args); 43 void HandleRemoveUser(const base::ListValue* args);
40 44
45 // Handle GAIA auth results.
46 virtual void OnClientLoginSuccess(const ClientLoginResult& result) OVERRIDE;
47 virtual void OnClientLoginFailure(const GoogleServiceAuthError& error)
48 OVERRIDE;
49
41 // Sends user list to account chooser. 50 // Sends user list to account chooser.
42 void SendUserList(); 51 void SendUserList();
43 52
53 // Pass success/failure information back to the web page.
54 void ReportAuthenticationResult(bool success);
55
44 // Observes the ProfileInfoCache and gets notified when a profile has been 56 // Observes the ProfileInfoCache and gets notified when a profile has been
45 // modified, so that the displayed user pods can be updated. 57 // modified, so that the displayed user pods can be updated.
46 scoped_ptr<ProfileUpdateObserver> profileInfoCacheObserver_; 58 scoped_ptr<ProfileUpdateObserver> profileInfoCacheObserver_;
47 59
48 // The host desktop type this user manager belongs to. 60 // The host desktop type this user manager belongs to.
49 chrome::HostDesktopType desktop_type_; 61 chrome::HostDesktopType desktop_type_;
50 62
63 // Authenticator used when local-auth fails.
64 scoped_ptr<GaiaAuthFetcher> client_login_;
65
66 // The index of the profile currently being authenticated.
67 size_t authenticating_profile_index_;
68
69 // Login password, held during on-line auth for saving later if correct.
70 std::string password_attempt_;
71
51 DISALLOW_COPY_AND_ASSIGN(UserManagerScreenHandler); 72 DISALLOW_COPY_AND_ASSIGN(UserManagerScreenHandler);
52 }; 73 };
53 74
54 #endif // CHROME_BROWSER_UI_WEBUI_SIGNIN_USER_MANAGER_SCREEN_HANDLER_H_ 75 #endif // CHROME_BROWSER_UI_WEBUI_SIGNIN_USER_MANAGER_SCREEN_HANDLER_H_
OLDNEW
« no previous file with comments | « no previous file | chrome/browser/ui/webui/signin/user_manager_screen_handler.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698