Index: chrome/browser/chromeos/app_mode/kiosk_app_manager.cc |
diff --git a/chrome/browser/chromeos/app_mode/kiosk_app_manager.cc b/chrome/browser/chromeos/app_mode/kiosk_app_manager.cc |
index a37df89e7ee7638bc03f773960b6e5dadaf6f6b4..976eddbaadff9cac1d7641bd738bedc19a51ffc2 100644 |
--- a/chrome/browser/chromeos/app_mode/kiosk_app_manager.cc |
+++ b/chrome/browser/chromeos/app_mode/kiosk_app_manager.cc |
@@ -465,7 +465,7 @@ void KioskAppManager::RemoveObserver(KioskAppManagerObserver* observer) { |
extensions::ExternalLoader* KioskAppManager::CreateExternalLoader() { |
if (external_loader_created_) { |
NOTREACHED(); |
- return NULL; |
+ return nullptr; |
} |
external_loader_created_ = true; |
KioskAppExternalLoader* loader = new KioskAppExternalLoader(); |
@@ -474,6 +474,19 @@ extensions::ExternalLoader* KioskAppManager::CreateExternalLoader() { |
return loader; |
} |
+extensions::ExternalLoader* |
+KioskAppManager::CreateSecondaryAppExternalLoader() { |
+ if (secondary_app_external_loader_created_) { |
+ NOTREACHED(); |
+ return nullptr; |
+ } |
+ secondary_app_external_loader_created_ = true; |
+ KioskAppExternalLoader* secondary_loader = new KioskAppExternalLoader(); |
+ secondary_app_external_loader_ = secondary_loader->AsWeakPtr(); |
+ |
+ return secondary_loader; |
+} |
+ |
void KioskAppManager::InstallFromCache(const std::string& id) { |
const base::DictionaryValue* extension = NULL; |
if (external_cache_->cached_extensions()->GetDictionary(id, &extension)) { |
@@ -487,6 +500,25 @@ void KioskAppManager::InstallFromCache(const std::string& id) { |
} |
} |
+void KioskAppManager::InstallSecondaryApps( |
+ const std::vector<std::string>& ids) { |
+ if (ids.empty()) |
+ return; |
+ |
+ scoped_ptr<base::DictionaryValue> prefs(new base::DictionaryValue); |
+ for (size_t i = 0; i < ids.size(); ++i) { |
not at google - send to devlin
2015/08/26 17:53:58
for (const std::string& it : ids) { ... }
jennyz
2015/08/28 18:24:08
Done.
|
+ scoped_ptr<base::DictionaryValue> extension_entry( |
+ new base::DictionaryValue); |
+ extension_entry->SetStringWithoutPathExpansion( |
+ extensions::ExternalProviderImpl::kExternalUpdateUrl, |
+ extension_urls::GetWebstoreUpdateUrl().spec()); |
+ extension_entry->SetBoolean( |
+ extensions::ExternalProviderImpl::kIsFromWebstore, true); |
+ prefs->Set(ids[i], extension_entry.Pass()); |
+ } |
+ secondary_app_external_loader_->SetCurrentAppExtensions(prefs.Pass()); |
+} |
+ |
void KioskAppManager::UpdateExternalCache() { |
UpdateAppData(); |
} |