| Index: chrome/browser/chromeos/login/users/chrome_user_manager_impl.cc
|
| diff --git a/chrome/browser/chromeos/login/users/chrome_user_manager_impl.cc b/chrome/browser/chromeos/login/users/chrome_user_manager_impl.cc
|
| index 1139ce0ebe69268f4fec40a2d1a2c30b71449945..8ddbcd0bcbf9c345598c36c62882143e79e30ac2 100644
|
| --- a/chrome/browser/chromeos/login/users/chrome_user_manager_impl.cc
|
| +++ b/chrome/browser/chromeos/login/users/chrome_user_manager_impl.cc
|
| @@ -71,10 +71,12 @@
|
| #include "components/signin/core/account_id/account_id.h"
|
| #include "components/user_manager/known_user.h"
|
| #include "components/user_manager/remove_user_delegate.h"
|
| +#include "components/user_manager/user.h"
|
| #include "components/user_manager/user_image/user_image.h"
|
| #include "components/user_manager/user_type.h"
|
| #include "content/public/browser/browser_thread.h"
|
| #include "content/public/browser/notification_service.h"
|
| +#include "extensions/common/features/feature_session_type.h"
|
| #include "ui/base/l10n/l10n_util.h"
|
| #include "ui/base/resource/resource_bundle.h"
|
| #include "ui/chromeos/resources/grit/ui_chromeos_resources.h"
|
| @@ -145,6 +147,19 @@ bool GetUserLockAttributes(const user_manager::User* user,
|
| return true;
|
| }
|
|
|
| +extensions::FeatureSessionType GetFeatureSessionTypeForUser(
|
| + const user_manager::User* user) {
|
| + switch (user->GetType()) {
|
| + case user_manager::USER_TYPE_REGULAR:
|
| + return extensions::FeatureSessionType::REGULAR;
|
| + case user_manager::USER_TYPE_KIOSK_APP:
|
| + return extensions::FeatureSessionType::KIOSK;
|
| + default:
|
| + // The rest of user types is not used by extensions features.
|
| + return extensions::FeatureSessionType::UNKNOWN;
|
| + }
|
| +}
|
| +
|
| } // namespace
|
|
|
| // static
|
| @@ -1237,6 +1252,11 @@ void ChromeUserManagerImpl::UpdateLoginState(
|
| bool is_current_user_owner) const {
|
| chrome_user_manager_util::UpdateLoginState(active_user, primary_user,
|
| is_current_user_owner);
|
| + // If a user is logged in, update session type as seen by extensions system.
|
| + if (active_user) {
|
| + extensions::SetCurrentFeatureSessionType(
|
| + GetFeatureSessionTypeForUser(active_user));
|
| + }
|
| }
|
|
|
| bool ChromeUserManagerImpl::GetPlatformKnownUserId(
|
|
|