Chromium Code Reviews| Index: chrome/browser/extensions/external_provider_impl.cc |
| diff --git a/chrome/browser/extensions/external_provider_impl.cc b/chrome/browser/extensions/external_provider_impl.cc |
| index ed1a417b4a6e72ae87f6782412eb48f0fd3d3156..25789d090c362f6e91ab47a896c8d959b1e22256 100644 |
| --- a/chrome/browser/extensions/external_provider_impl.cc |
| +++ b/chrome/browser/extensions/external_provider_impl.cc |
| @@ -34,6 +34,7 @@ |
| #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" |
| @@ -398,16 +399,31 @@ void ExternalProviderImpl::CreateExternalProviders( |
| Extension::NO_FLAGS))); |
| } |
| + // No external app install in app mode. |
|
xiyuan
2014/07/08 21:51:00
nit: Update the comment.
jennyz
2014/07/12 00:03:21
Done.
|
| + 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; |