Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1019)

Unified Diff: chrome/browser/chromeos/login/parallel_authenticator.cc

Issue 205713002: Add a basic demo mode browser test. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: fix license Created 6 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/browser/chromeos/login/parallel_authenticator.cc
diff --git a/chrome/browser/chromeos/login/parallel_authenticator.cc b/chrome/browser/chromeos/login/parallel_authenticator.cc
index 29ffe01df4da276ab7900e54bca1ab2e094bd509..ba7e6f4ca6a4d5b07803a5bd06b6e30c8559b8d1 100644
--- a/chrome/browser/chromeos/login/parallel_authenticator.cc
+++ b/chrome/browser/chromeos/login/parallel_authenticator.cc
@@ -110,6 +110,24 @@ void MountGuest(AuthAttemptState* attempt,
resolver));
}
+// Calls cryptohome's mount method for guest and also get the user hash from
+// cryptohome.
+void MountGuestAndGetHash(AuthAttemptState* attempt,
+ scoped_refptr<ParallelAuthenticator> resolver) {
+ DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
+ attempt->UsernameHashRequested();
+ cryptohome::AsyncMethodCaller::GetInstance()->AsyncMountGuest(
+ base::Bind(&TriggerResolveWithLoginTimeMarker,
+ "CryptohomeMount-End",
+ attempt,
+ resolver));
+ cryptohome::AsyncMethodCaller::GetInstance()->AsyncGetSanitizedUsername(
+ attempt->user_context.username,
+ base::Bind(&TriggerResolveHash,
+ attempt,
+ resolver));
+}
+
// Calls cryptohome's MountPublic method
void MountPublic(AuthAttemptState* attempt,
scoped_refptr<ParallelAuthenticator> resolver,
@@ -346,11 +364,12 @@ void ParallelAuthenticator::LoginAsPublicAccount(const std::string& username) {
}
void ParallelAuthenticator::LoginAsKioskAccount(
- const std::string& app_user_id, bool force_ephemeral) {
+ const std::string& app_user_id,
+ bool use_guest_mount) {
DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
- std::string user_id =
- force_ephemeral ? UserManager::kGuestUserName : app_user_id;
+ const std::string user_id =
+ use_guest_mount ? UserManager::kGuestUserName : app_user_id;
current_state_.reset(new AuthAttemptState(
UserContext(user_id,
std::string(), // password
@@ -361,14 +380,14 @@ void ParallelAuthenticator::LoginAsKioskAccount(
false));
remove_user_data_on_failure_ = true;
- if (!force_ephemeral) {
+ if (!use_guest_mount) {
MountPublic(current_state_.get(),
scoped_refptr<ParallelAuthenticator>(this),
cryptohome::CREATE_IF_MISSING);
} else {
ephemeral_mount_attempted_ = true;
- MountGuest(current_state_.get(),
- scoped_refptr<ParallelAuthenticator>(this));
+ MountGuestAndGetHash(current_state_.get(),
+ scoped_refptr<ParallelAuthenticator>(this));
}
}
« no previous file with comments | « chrome/browser/chromeos/login/parallel_authenticator.h ('k') | chrome/browser/chromeos/login/test/app_window_waiter.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698