#include "ui/base/l10n/l10n_util.h"
#if defined(OS_CHROMEOS)
+#include "chrome/browser/chromeos/app_mode/kiosk_app_manager.h"
#include "chrome/browser/chromeos/customization_document.h"
#include "chrome/browser/chromeos/extensions/device_local_account_external_policy_loader.h"
-#include "chrome/browser/chromeos/login/users/user.h"
-#include "chrome/browser/chromeos/login/users/user_manager.h"
#include "chrome/browser/chromeos/policy/app_pack_updater.h"
#include "chrome/browser/chromeos/policy/browser_policy_connector_chromeos.h"
#include "chrome/browser/chromeos/policy/device_local_account.h"
#include "chrome/browser/chromeos/policy/device_local_account_policy_service.h"
+#include "chrome/browser/chromeos/profiles/profile_helper.h"
+#include "components/user_manager/user.h"
+#include "components/user_manager/user_manager.h"
#else
#include "chrome/browser/extensions/default_apps.h"
#endif
policy::BrowserPolicyConnectorChromeOS* connector =
g_browser_process->platform_part()->browser_policy_connector_chromeos();
bool is_chrome_os_public_session = false;
- const chromeos::User* user =
- chromeos::UserManager::Get()->GetUserByProfile(profile);
+ const user_manager::User* user =
+ chromeos::ProfileHelper::Get()->GetUserByProfile(profile);
policy::DeviceLocalAccount::Type account_type;
if (user && policy::IsDeviceLocalAccountUser(user->email(), &account_type)) {
if (account_type == policy::DeviceLocalAccount::TYPE_PUBLIC_SESSION)
Extension::NO_FLAGS)));
}
+ // Load the KioskAppExternalProvider when running in kiosk mode.
+ if (chrome::IsRunningInForcedAppMode()) {
+#if defined(OS_CHROMEOS)
+ chromeos::KioskAppManager* kiosk_app_manager =
+ chromeos::KioskAppManager::Get();
+ DCHECK(kiosk_app_manager);
+ if (kiosk_app_manager && !kiosk_app_manager->external_loader_created()) {
+ provider_list->push_back(linked_ptr<ExternalProviderInterface>(
+ new ExternalProviderImpl(service,
+ kiosk_app_manager->CreateExternalLoader(),
+ profile,
+ Manifest::EXTERNAL_PREF,
+ Manifest::INVALID_LOCATION,
+ Extension::NO_FLAGS)));
+ }
+#endif
+ return;
+ }
+
// In tests don't install extensions from default external sources.
// It would only slowdown tests and make them flaky.
if (CommandLine::ForCurrentProcess()->HasSwitch(
switches::kDisableDefaultApps))
return;
- // No external app install in app mode.
- if (chrome::IsRunningInForcedAppMode())
- return;
-
// On Mac OS, items in /Library/... should be written by the superuser.
// Check that all components of the path are writable by root only.
ExternalPrefLoader::Options check_admin_permissions_on_mac;
bool is_chromeos_demo_session = false;
int bundled_extension_creation_flags = Extension::NO_FLAGS;
#if defined(OS_CHROMEOS)
- chromeos::UserManager* user_manager = chromeos::UserManager::Get();
+ user_manager::UserManager* user_manager = user_manager::UserManager::Get();
is_chromeos_demo_session =
user_manager && user_manager->IsLoggedInAsDemoUser() &&
connector->GetDeviceMode() == policy::DEVICE_MODE_RETAIL_KIOSK;