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

Unified Diff: chrome/browser/extensions/chrome_extensions_browser_client.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, 4 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/extensions/chrome_extensions_browser_client.cc
diff --git a/chrome/browser/extensions/chrome_extensions_browser_client.cc b/chrome/browser/extensions/chrome_extensions_browser_client.cc
index 9836496e6eb9e1c9360c6561e134aeace2ea4b16..924ba999b4cd95491d25a86b601dfda502aa3fe3 100644
--- a/chrome/browser/extensions/chrome_extensions_browser_client.cc
+++ b/chrome/browser/extensions/chrome_extensions_browser_client.cc
@@ -50,10 +50,12 @@
#include "extensions/browser/api/generated_api_registration.h"
#include "extensions/browser/extension_function_registry.h"
#include "extensions/browser/extension_prefs.h"
+#include "extensions/browser/extension_util.h"
#include "extensions/browser/mojo/service_registration.h"
#include "extensions/browser/pref_names.h"
#include "extensions/browser/url_request_util.h"
#include "extensions/common/features/feature_channel.h"
+#include "extensions/common/features/feature_session_type.h"
#if defined(OS_CHROMEOS)
#include "chrome/browser/chromeos/profiles/profile_helper.h"
@@ -67,12 +69,31 @@
namespace extensions {
+namespace {
+
+FeatureSessionType GetCurrentSessionType() {
+#if defined(OS_CHROMEOS)
+ if (!user_manager::UserManager::IsInitialized())
+ return FEATURE_SESSION_TYPE_UNKNOWN;
+ if (user_manager::UserManager::Get()->IsLoggedInAsUserWithGaiaAccount())
+ return FEATURE_SESSION_TYPE_REGULAR;
+ if (user_manager::UserManager::Get()->IsLoggedInAsKioskApp())
+ return FEATURE_SESSION_TYPE_KIOSK;
+ return FEATURE_SESSION_TYPE_UNKNOWN;
+#else
+ return FEATURE_SESSION_TYPE_REGULAR;
Devlin 2016/08/18 17:19:15 indentation
tbarzic 2016/08/18 18:58:10 Done, but I realized I have to move this a bit lat
+#endif
+}
+
+} // namespace
+
ChromeExtensionsBrowserClient::ChromeExtensionsBrowserClient() {
process_manager_delegate_.reset(new ChromeProcessManagerDelegate);
api_client_.reset(new ChromeExtensionsAPIClient);
// Only set if it hasn't already been set (e.g. by a test).
if (GetCurrentChannel() == GetDefaultChannel())
SetCurrentChannel(chrome::GetChannel());
+ SetCurrentFeatureSessionType(GetCurrentSessionType());
resource_manager_.reset(new ChromeComponentExtensionResourceManager());
}
« no previous file with comments | « no previous file | extensions/browser/renderer_startup_helper.cc » ('j') | extensions/browser/renderer_startup_helper.cc » ('J')

Powered by Google App Engine
This is Rietveld 408576698