OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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 | 7 |
8 #include <string> | 8 #include <string> |
9 | 9 |
10 #include "base/basictypes.h" | 10 #include "base/basictypes.h" |
11 #include "base/callback_forward.h" | 11 #include "base/callback_forward.h" |
12 #include "base/compiler_specific.h" | 12 #include "base/compiler_specific.h" |
13 #include "base/gtest_prod_util.h" | 13 #include "base/gtest_prod_util.h" |
14 #include "base/memory/scoped_ptr.h" | 14 #include "base/memory/scoped_ptr.h" |
15 #include "base/memory/weak_ptr.h" | 15 #include "base/memory/weak_ptr.h" |
16 #include "base/strings/string16.h" | 16 #include "base/strings/string16.h" |
17 #include "base/time/time.h" | 17 #include "base/time/time.h" |
18 #include "base/timer/timer.h" | 18 #include "base/timer/timer.h" |
19 #include "chrome/browser/chromeos/app_mode/kiosk_app_manager.h" | 19 #include "chrome/browser/chromeos/app_mode/kiosk_app_manager.h" |
20 #include "chrome/browser/chromeos/login/session/user_session_manager.h" | 20 #include "chrome/browser/chromeos/login/session/user_session_manager.h" |
| 21 #include "chrome/browser/chromeos/login/signin/token_handle_util.h" |
21 #include "chrome/browser/chromeos/login/ui/login_display.h" | 22 #include "chrome/browser/chromeos/login/ui/login_display.h" |
22 #include "chrome/browser/chromeos/settings/cros_settings.h" | 23 #include "chrome/browser/chromeos/settings/cros_settings.h" |
23 #include "chrome/browser/chromeos/settings/device_settings_service.h" | 24 #include "chrome/browser/chromeos/settings/device_settings_service.h" |
24 #include "chromeos/login/auth/login_performer.h" | 25 #include "chromeos/login/auth/login_performer.h" |
25 #include "chromeos/login/auth/user_context.h" | 26 #include "chromeos/login/auth/user_context.h" |
26 #include "components/user_manager/user.h" | 27 #include "components/user_manager/user.h" |
27 #include "content/public/browser/notification_observer.h" | 28 #include "content/public/browser/notification_observer.h" |
28 #include "content/public/browser/notification_registrar.h" | 29 #include "content/public/browser/notification_registrar.h" |
29 #include "ui/gfx/geometry/rect.h" | 30 #include "ui/gfx/geometry/rect.h" |
30 #include "url/gurl.h" | 31 #include "url/gurl.h" |
(...skipping 204 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
235 void DoLogin(const UserContext& user_context, | 236 void DoLogin(const UserContext& user_context, |
236 const SigninSpecifics& specifics); | 237 const SigninSpecifics& specifics); |
237 | 238 |
238 // Callback invoked when |bootstrap_user_context_initializer_| has finished. | 239 // Callback invoked when |bootstrap_user_context_initializer_| has finished. |
239 void OnBootstrapUserContextInitialized(bool success, | 240 void OnBootstrapUserContextInitialized(bool success, |
240 const UserContext& user_context); | 241 const UserContext& user_context); |
241 | 242 |
242 // Callback invoked when |oauth2_token_initializer_| has finished. | 243 // Callback invoked when |oauth2_token_initializer_| has finished. |
243 void OnOAuth2TokensFetched(bool success, const UserContext& user_context); | 244 void OnOAuth2TokensFetched(bool success, const UserContext& user_context); |
244 | 245 |
| 246 // Callback invoked when |token_handle_util_| has finished. |
| 247 void OnTokenHandleObtained(const user_manager::UserID& id, |
| 248 TokenHandleUtil::TokenHandleStatus status); |
| 249 |
| 250 // Returns |true| if token handles should be used on this device. |
| 251 bool TokenHandlesEnabled(); |
| 252 |
245 // Public session auto-login timer. | 253 // Public session auto-login timer. |
246 scoped_ptr<base::OneShotTimer<ExistingUserController> > auto_login_timer_; | 254 scoped_ptr<base::OneShotTimer<ExistingUserController> > auto_login_timer_; |
247 | 255 |
248 // Public session auto-login timeout, in milliseconds. | 256 // Public session auto-login timeout, in milliseconds. |
249 int public_session_auto_login_delay_; | 257 int public_session_auto_login_delay_; |
250 | 258 |
251 // Username for public session auto-login. | 259 // Username for public session auto-login. |
252 std::string public_session_auto_login_username_; | 260 std::string public_session_auto_login_username_; |
253 | 261 |
254 // Used to execute login operations. | 262 // Used to execute login operations. |
(...skipping 68 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
323 scoped_ptr<CrosSettings::ObserverSubscription> users_subscription_; | 331 scoped_ptr<CrosSettings::ObserverSubscription> users_subscription_; |
324 scoped_ptr<CrosSettings::ObserverSubscription> | 332 scoped_ptr<CrosSettings::ObserverSubscription> |
325 local_account_auto_login_id_subscription_; | 333 local_account_auto_login_id_subscription_; |
326 scoped_ptr<CrosSettings::ObserverSubscription> | 334 scoped_ptr<CrosSettings::ObserverSubscription> |
327 local_account_auto_login_delay_subscription_; | 335 local_account_auto_login_delay_subscription_; |
328 | 336 |
329 scoped_ptr<BootstrapUserContextInitializer> | 337 scoped_ptr<BootstrapUserContextInitializer> |
330 bootstrap_user_context_initializer_; | 338 bootstrap_user_context_initializer_; |
331 | 339 |
332 scoped_ptr<OAuth2TokenInitializer> oauth2_token_initializer_; | 340 scoped_ptr<OAuth2TokenInitializer> oauth2_token_initializer_; |
| 341 scoped_ptr<TokenHandleUtil> token_handle_util_; |
333 | 342 |
334 FRIEND_TEST_ALL_PREFIXES(ExistingUserControllerTest, ExistingUserLogin); | 343 FRIEND_TEST_ALL_PREFIXES(ExistingUserControllerTest, ExistingUserLogin); |
335 | 344 |
336 // Factory of callbacks. | 345 // Factory of callbacks. |
337 base::WeakPtrFactory<ExistingUserController> weak_factory_; | 346 base::WeakPtrFactory<ExistingUserController> weak_factory_; |
338 | 347 |
339 DISALLOW_COPY_AND_ASSIGN(ExistingUserController); | 348 DISALLOW_COPY_AND_ASSIGN(ExistingUserController); |
340 }; | 349 }; |
341 | 350 |
342 } // namespace chromeos | 351 } // namespace chromeos |
343 | 352 |
344 #endif // CHROME_BROWSER_CHROMEOS_LOGIN_EXISTING_USER_CONTROLLER_H_ | 353 #endif // CHROME_BROWSER_CHROMEOS_LOGIN_EXISTING_USER_CONTROLLER_H_ |
OLD | NEW |