129b820f8d84e3bc97d62552e54923c42407f2f29Ben Murdoch// Copyright 2014 The Chromium Authors. All rights reserved. 229b820f8d84e3bc97d62552e54923c42407f2f29Ben Murdoch// Use of this source code is governed by a BSD-style license that can be 329b820f8d84e3bc97d62552e54923c42407f2f29Ben Murdoch// found in the LICENSE file. 429b820f8d84e3bc97d62552e54923c42407f2f29Ben Murdoch 529b820f8d84e3bc97d62552e54923c42407f2f29Ben Murdoch#ifndef CHROME_BROWSER_CHROMEOS_LOGIN_EASY_UNLOCK_EASY_UNLOCK_REAUTH_H_ 629b820f8d84e3bc97d62552e54923c42407f2f29Ben Murdoch#define CHROME_BROWSER_CHROMEOS_LOGIN_EASY_UNLOCK_EASY_UNLOCK_REAUTH_H_ 729b820f8d84e3bc97d62552e54923c42407f2f29Ben Murdoch 829b820f8d84e3bc97d62552e54923c42407f2f29Ben Murdoch#include "base/callback_forward.h" 929b820f8d84e3bc97d62552e54923c42407f2f29Ben Murdoch#include "base/macros.h" 1029b820f8d84e3bc97d62552e54923c42407f2f29Ben Murdoch#include "base/memory/scoped_ptr.h" 1129b820f8d84e3bc97d62552e54923c42407f2f29Ben Murdoch 1229b820f8d84e3bc97d62552e54923c42407f2f29Ben Murdochnamespace chromeos { 1329b820f8d84e3bc97d62552e54923c42407f2f29Ben Murdoch 1429b820f8d84e3bc97d62552e54923c42407f2f29Ben Murdochclass UserContext; 1529b820f8d84e3bc97d62552e54923c42407f2f29Ben Murdoch 1629b820f8d84e3bc97d62552e54923c42407f2f29Ben Murdoch// Responsible for locking the screen and reauthenticating the user so we can 1729b820f8d84e3bc97d62552e54923c42407f2f29Ben Murdoch// create new cryptohome keys for passwordless sign-in. 1829b820f8d84e3bc97d62552e54923c42407f2f29Ben Murdochclass EasyUnlockReauth { 1929b820f8d84e3bc97d62552e54923c42407f2f29Ben Murdoch public: 2029b820f8d84e3bc97d62552e54923c42407f2f29Ben Murdoch typedef base::Callback<void(const UserContext&)> UserContextCallback; 2129b820f8d84e3bc97d62552e54923c42407f2f29Ben Murdoch 2229b820f8d84e3bc97d62552e54923c42407f2f29Ben Murdoch // Launches the reauth screen to get the user context. If the screen fails 2329b820f8d84e3bc97d62552e54923c42407f2f29Ben Murdoch // for some reason, then this function will return false. 2429b820f8d84e3bc97d62552e54923c42407f2f29Ben Murdoch static bool ReauthForUserContext(UserContextCallback callback); 2529b820f8d84e3bc97d62552e54923c42407f2f29Ben Murdoch 2629b820f8d84e3bc97d62552e54923c42407f2f29Ben Murdoch DISALLOW_IMPLICIT_CONSTRUCTORS(EasyUnlockReauth); 2729b820f8d84e3bc97d62552e54923c42407f2f29Ben Murdoch}; 2829b820f8d84e3bc97d62552e54923c42407f2f29Ben Murdoch 2929b820f8d84e3bc97d62552e54923c42407f2f29Ben Murdoch} // namespace chromeos 3029b820f8d84e3bc97d62552e54923c42407f2f29Ben Murdoch 3129b820f8d84e3bc97d62552e54923c42407f2f29Ben Murdoch#endif // CHROME_BROWSER_CHROMEOS_LOGIN_EASY_UNLOCK_EASY_UNLOCK_REAUTH_H_ 32