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