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

Unified Diff: chrome/browser/chromeos/login/users/chrome_user_manager_impl.cc

Issue 2241203003: Pass user session type to extension feature checks (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Pass user session type to extension renderer Created 4 years, 3 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
« no previous file with comments | « no previous file | extensions/browser/renderer_startup_helper.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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(
« no previous file with comments | « no previous file | extensions/browser/renderer_startup_helper.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698