ExtensionSyncService: listen for relevant changes instead of being explicitly called...
[chromium-blink-merge.git] / chrome / browser / chromeos / login / easy_unlock / easy_unlock_user_login_flow.h
blob0f069bb57055b0569291193a3c9f8e054aa7974a
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_
8 #include <string>
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
15 // failure.
16 class EasyUnlockUserLoginFlow : public chromeos::ExtendedUserFlow {
17 public:
18 explicit EasyUnlockUserLoginFlow(const std::string& user_id);
19 ~EasyUnlockUserLoginFlow() override;
21 private:
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_