easy-signin: Use ExtendedAuthenticator for unlock.
commit00fd892bd95a5a4460a746cae9f8df9ad23d4063
authorxiyuan <xiyuan@chromium.org>
Wed, 15 Oct 2014 00:49:49 +0000 (14 17:49 -0700)
committerCommit bot <commit-bot@chromium.org>
Wed, 15 Oct 2014 00:51:27 +0000 (15 00:51 +0000)
tree5f4d77a5e0a43d3ee45088de682bc73310eb009f
parent53a23efdc6f0a70ab81d68ff8501da9e56a45fbf
easy-signin: Use ExtendedAuthenticator for unlock.

- Use ExtendedAuthenticator for unlock so that cryptohome
  CheckKeyEx is used to check all keys. This solves the
  problem in 419532 that password based key is not checked
  when signing in using the phone.
- Make ExtendedAuthenticator an interface.
- Implementation is moved to ExtendedAuthenticatorImpl.
- Added a FakeExtendedAuthenticator.
- Make ScreenLockerTester::InjectMockAuthenticator to mock
  ExtendedAuthenticator as well.

BUG=419532, 351268
TBR=pam@chromium.org for supervised_user change

Review URL: https://codereview.chromium.org/642753003

Cr-Commit-Position: refs/heads/master@{#299602}
13 files changed:
chrome/browser/chromeos/login/auth/login_performer.cc
chrome/browser/chromeos/login/lock/screen_locker.cc
chrome/browser/chromeos/login/lock/screen_locker_tester.cc
chrome/browser/chromeos/login/supervised/supervised_user_creation_controller_new.cc
chrome/browser/chromeos/login/supervised/supervised_user_login_flow.cc
chrome/browser/supervised_user/chromeos/manager_password_service.cc
chromeos/chromeos.gyp
chromeos/login/auth/extended_authenticator.cc
chromeos/login/auth/extended_authenticator.h
chromeos/login/auth/extended_authenticator_impl.cc [copied from chromeos/login/auth/extended_authenticator.cc with 79% similarity]
chromeos/login/auth/extended_authenticator_impl.h [new file with mode: 0644]
chromeos/login/auth/fake_extended_authenticator.cc [new file with mode: 0644]
chromeos/login/auth/fake_extended_authenticator.h [new file with mode: 0644]