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