Commit 3aca0d8c authored by pneubeck@chromium.org's avatar pneubeck@chromium.org

Simplify LoginState methods.

No functional change, only making the behavior of the functions more obvious.

Retail mode is obsolete in R38 and later according to crbug.com/372703 and not supported anymore after this change.

BUG=NONE
(for chrome/browser/metrics/perf_provider_chromeos.cc, API usage)
TBR=isherman@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#288476}
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@288476 0039d316-1c4b-4281-b951-d872f2087c98
parent dfe9b9b4
...@@ -575,7 +575,8 @@ void WifiConfigView::UpdateErrorLabel() { ...@@ -575,7 +575,8 @@ void WifiConfigView::UpdateErrorLabel() {
if (UserCertRequired() && CertLibrary::Get()->CertificatesLoaded()) { if (UserCertRequired() && CertLibrary::Get()->CertificatesLoaded()) {
if (!HaveUserCerts()) { if (!HaveUserCerts()) {
if (!LoginState::Get()->IsUserLoggedIn() || if (!LoginState::Get()->IsUserLoggedIn() ||
LoginState::Get()->IsGuestUser()) { LoginState::Get()->IsGuestSessionUser() ||
LoginState::Get()->IsPublicSessionUser()) {
error_msg = l10n_util::GetStringUTF16( error_msg = l10n_util::GetStringUTF16(
IDS_OPTIONS_SETTINGS_INTERNET_OPTIONS_LOGIN_FOR_USER_CERT); IDS_OPTIONS_SETTINGS_INTERNET_OPTIONS_LOGIN_FOR_USER_CERT);
} else { } else {
......
...@@ -29,9 +29,11 @@ SystemSettingsProvider::~SystemSettingsProvider() { ...@@ -29,9 +29,11 @@ SystemSettingsProvider::~SystemSettingsProvider() {
void SystemSettingsProvider::DoSet(const std::string& path, void SystemSettingsProvider::DoSet(const std::string& path,
const base::Value& in_value) { const base::Value& in_value) {
// Non-guest users can change the time zone. // Only non-guest users can change the time zone.
if (LoginState::Get()->IsGuestUser()) if (LoginState::Get()->IsGuestSessionUser() ||
LoginState::Get()->IsPublicSessionUser()) {
return; return;
}
if (path == kSystemTimezone) { if (path == kSystemTimezone) {
base::string16 timezone_id; base::string16 timezone_id;
......
...@@ -86,12 +86,10 @@ void AddToPerfHistogram(GetPerfDataOutcome outcome) { ...@@ -86,12 +86,10 @@ void AddToPerfHistogram(GetPerfDataOutcome outcome) {
NUM_OUTCOMES); NUM_OUTCOMES);
} }
// Returns true if a normal user is logged in. Returns false if logged in as an // Returns true if a normal user is logged in. Returns false otherwise (e.g. if
// guest or as a kiosk app. // logged in as a guest or as a kiosk app).
bool IsNormalUserLoggedIn() { bool IsNormalUserLoggedIn() {
chromeos::LoginState* login_state = chromeos::LoginState::Get(); return chromeos::LoginState::Get()->IsUserAuthenticated();
return (login_state->IsUserLoggedIn() && !login_state->IsGuestUser() &&
!login_state->IsKioskApp());
} }
} // namespace } // namespace
......
...@@ -67,8 +67,8 @@ void LoginState::SetLoggedInStateAndPrimaryUser( ...@@ -67,8 +67,8 @@ void LoginState::SetLoggedInStateAndPrimaryUser(
SetLoggedInState(state, type); SetLoggedInState(state, type);
} }
void LoginState::SetLoggedInState(LoggedInState state, void LoginState::SetLoggedInState(LoggedInState state, LoggedInUserType type) {
LoggedInUserType type) { CHECK_NE(LOGGED_IN_USER_RETAIL_MODE, type);
if (state == logged_in_state_ && type == logged_in_user_type_) if (state == logged_in_state_ && type == logged_in_user_type_)
return; return;
VLOG(1) << "LoggedInState: " << state << " UserType: " << type; VLOG(1) << "LoggedInState: " << state << " UserType: " << type;
...@@ -92,34 +92,22 @@ bool LoginState::IsInSafeMode() const { ...@@ -92,34 +92,22 @@ bool LoginState::IsInSafeMode() const {
return logged_in_state_ == LOGGED_IN_SAFE_MODE; return logged_in_state_ == LOGGED_IN_SAFE_MODE;
} }
bool LoginState::IsGuestUser() const { bool LoginState::IsGuestSessionUser() const {
if (!IsUserLoggedIn()) return logged_in_user_type_ == LOGGED_IN_USER_GUEST;
return false; }
switch (logged_in_user_type_) {
case LOGGED_IN_USER_NONE: bool LoginState::IsPublicSessionUser() const {
case LOGGED_IN_USER_REGULAR: return logged_in_user_type_ == LOGGED_IN_USER_PUBLIC_ACCOUNT;
case LOGGED_IN_USER_OWNER:
case LOGGED_IN_USER_SUPERVISED:
case LOGGED_IN_USER_KIOSK_APP:
return false;
case LOGGED_IN_USER_GUEST:
case LOGGED_IN_USER_RETAIL_MODE:
case LOGGED_IN_USER_PUBLIC_ACCOUNT:
return true;
}
NOTREACHED();
return false;
} }
bool LoginState::IsKioskApp() const { bool LoginState::IsKioskApp() const {
return logged_in_user_type_ == LoginState::LOGGED_IN_USER_KIOSK_APP; return logged_in_user_type_ == LOGGED_IN_USER_KIOSK_APP;
} }
bool LoginState::UserHasNetworkProfile() const { bool LoginState::UserHasNetworkProfile() const {
if (!IsUserLoggedIn()) if (!IsUserLoggedIn())
return false; return false;
return logged_in_user_type_ != LOGGED_IN_USER_RETAIL_MODE && return logged_in_user_type_ != LOGGED_IN_USER_PUBLIC_ACCOUNT;
logged_in_user_type_ != LOGGED_IN_USER_PUBLIC_ACCOUNT;
} }
bool LoginState::IsUserAuthenticated() const { bool LoginState::IsUserAuthenticated() const {
......
...@@ -26,7 +26,7 @@ class CHROMEOS_EXPORT LoginState { ...@@ -26,7 +26,7 @@ class CHROMEOS_EXPORT LoginState {
LOGGED_IN_USER_OWNER, // The owner of the device is logged in LOGGED_IN_USER_OWNER, // The owner of the device is logged in
LOGGED_IN_USER_GUEST, // A guest is logged in (i.e. incognito) LOGGED_IN_USER_GUEST, // A guest is logged in (i.e. incognito)
LOGGED_IN_USER_RETAIL_MODE, // Is in retail mode LOGGED_IN_USER_RETAIL_MODE, // Is in retail mode
LOGGED_IN_USER_PUBLIC_ACCOUNT, // A public account is logged in LOGGED_IN_USER_PUBLIC_ACCOUNT, // A user is logged in to a public session.
LOGGED_IN_USER_SUPERVISED, // A supervised user is logged in LOGGED_IN_USER_SUPERVISED, // A supervised user is logged in
LOGGED_IN_USER_KIOSK_APP // Is in kiosk app mode LOGGED_IN_USER_KIOSK_APP // Is in kiosk app mode
}; };
...@@ -72,8 +72,11 @@ class CHROMEOS_EXPORT LoginState { ...@@ -72,8 +72,11 @@ class CHROMEOS_EXPORT LoginState {
// logged in, and only the owner will be allowed to log in). // logged in, and only the owner will be allowed to log in).
bool IsInSafeMode() const; bool IsInSafeMode() const;
// Returns true if logged in and is a guest, retail, or public user. // Returns true if logged in to a guest session.
bool IsGuestUser() const; bool IsGuestSessionUser() const;
// Returns true if logged in to a public session.
bool IsPublicSessionUser() const;
// Returns true if logged in as a kiosk app. // Returns true if logged in as a kiosk app.
bool IsKioskApp() const; bool IsKioskApp() const;
...@@ -81,11 +84,12 @@ class CHROMEOS_EXPORT LoginState { ...@@ -81,11 +84,12 @@ class CHROMEOS_EXPORT LoginState {
// Whether a network profile is created for the user. // Whether a network profile is created for the user.
bool UserHasNetworkProfile() const; bool UserHasNetworkProfile() const;
// Returns true if the user is an authenticated user (i.e. non public account) // Returns true if the user is an authenticated user (i.e. the user is not
// using an anonymous session like public or guest session)
bool IsUserAuthenticated() const; bool IsUserAuthenticated() const;
// Returns true if the user is authenticated by logging into Google account // Returns true if the user is authenticated by logging into Google account
// (i.e., non public nor supervised account). // (i.e. not using an anonymous nor supervised session).
bool IsUserGaiaAuthenticated() const; bool IsUserGaiaAuthenticated() const;
void set_always_logged_in(bool always_logged_in) { void set_always_logged_in(bool always_logged_in) {
......
...@@ -140,8 +140,10 @@ void TPMTokenLoader::MaybeStartTokenInitialization() { ...@@ -140,8 +140,10 @@ void TPMTokenLoader::MaybeStartTokenInitialization() {
tpm_token_state_ = TPM_DISABLED; tpm_token_state_ = TPM_DISABLED;
// Treat TPM as disabled for guest users since they do not store certs. // Treat TPM as disabled for guest users since they do not store certs.
if (LoginState::Get()->IsGuestUser()) if (LoginState::Get()->IsGuestSessionUser() ||
LoginState::Get()->IsPublicSessionUser()) {
tpm_token_state_ = TPM_DISABLED; tpm_token_state_ = TPM_DISABLED;
}
ContinueTokenInitialization(); ContinueTokenInitialization();
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment