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

Unified Diff: chrome/browser/chromeos/app_mode/kiosk_app_manager.cc

Issue 1301323005: Implement kiosk multiple apps feature. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Rebase. Created 5 years, 4 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/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();
}

Powered by Google App Engine
This is Rietveld 408576698