1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 #ifndef CHROME_BROWSER_CHROMEOS_LOGIN_EASY_UNLOCK_EASY_UNLOCK_USER_LOGIN_FLOW_H_
6 #define CHROME_BROWSER_CHROMEOS_LOGIN_EASY_UNLOCK_EASY_UNLOCK_USER_LOGIN_FLOW_H_
10 #include "base/macros.h"
11 #include "chrome/browser/chromeos/login/user_flow.h"
13 // Handler for login flow initiazted by Easy Signin login attempt.
14 // The only difference to the default login flow is hanlding of the auth
16 class EasyUnlockUserLoginFlow
: public chromeos::ExtendedUserFlow
{
18 explicit EasyUnlockUserLoginFlow(const std::string
& user_id
);
19 ~EasyUnlockUserLoginFlow() override
;
22 // chromeos::ExtendedUserFlow implementation.
23 bool CanLockScreen() override
;
24 bool ShouldLaunchBrowser() override
;
25 bool ShouldSkipPostLoginScreens() override
;
26 bool HandleLoginFailure(const chromeos::AuthFailure
& failure
) override
;
27 void HandleLoginSuccess(const chromeos::UserContext
& context
) override
;
28 bool HandlePasswordChangeDetected() override
;
29 void HandleOAuthTokenStatusChange(
30 user_manager::User::OAuthTokenStatus status
) override
;
31 void LaunchExtraSteps(Profile
* profile
) override
;
32 bool SupportsEarlyRestartToApplyFlags() override
;
34 DISALLOW_COPY_AND_ASSIGN(EasyUnlockUserLoginFlow
);
37 #endif // CHROME_BROWSER_CHROMEOS_LOGIN_EASY_UNLOCK_EASY_UNLOCK_USER_LOGIN_FLOW_H_