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

Unified Diff: chrome/browser/extensions/external_provider_impl.cc

Issue 300843013: Install and launch kiosk app from cached crx file at start up. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Remove the new test file from cl. Created 6 years, 5 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/external_provider_impl.cc
diff --git a/chrome/browser/extensions/external_provider_impl.cc b/chrome/browser/extensions/external_provider_impl.cc
index ed1a417b4a6e72ae87f6782412eb48f0fd3d3156..a4a5e5d426f961bae55b606343abe9e3d8996715 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)));
}
+ // 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;

Powered by Google App Engine
This is Rietveld 408576698