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

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: 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..82ac885b6e2b3520d8802abbf468463380f09b1c 100644
--- a/chrome/browser/chromeos/login/parallel_authenticator.cc
+++ b/chrome/browser/chromeos/login/parallel_authenticator.cc
@@ -110,6 +110,23 @@ 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));
+ cryptohome::AsyncMethodCaller::GetInstance()->AsyncMountGuest(
bartfab (slow) 2014/03/27 14:13:29 The AuthAttemptState constructor sets username_has
rkc 2014/03/27 21:43:10 Done.
+ 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 +363,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 +379,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));
}
}

Powered by Google App Engine
This is Rietveld 408576698