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()); |
} |