Apps&Extensions for supervised users: Add Extension::WAS_INSTALLED_BY_CUSTODIAN flag and proto entry.
Currently, supervised users can not use Apps/Extensions at all. In the future, their custodian will be able to remotely install Apps/Extensions for them. This CL introduces a new extension flag and corresponding proto entry that marks these extensions, so we can allow only those in the client.
Relevant design doc section: https://docs.google.com/a/google.com/document/d/1rqahhrErR_HiZ04v-Skb_kvXeyOfnTvBPFvKwAxuf10/edit#heading=h.ptivtbjwlda5
BUG=390520
Review URL: https://codereview.chromium.org/353493002
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@283522 0039d316-1c4b-4281-b951-d872f2087c98
diff --git a/chrome/browser/extensions/extension_sync_data.cc b/chrome/browser/extensions/extension_sync_data.cc
index aaf1244..b4018709 100644
--- a/chrome/browser/extensions/extension_sync_data.cc
+++ b/chrome/browser/extensions/extension_sync_data.cc
@@ -19,14 +19,16 @@
: uninstalled_(false),
enabled_(false),
incognito_enabled_(false),
- remote_install_(false) {
+ remote_install_(false),
+ installed_by_custodian_(false) {
}
ExtensionSyncData::ExtensionSyncData(const syncer::SyncData& sync_data)
: uninstalled_(false),
enabled_(false),
incognito_enabled_(false),
- remote_install_(false) {
+ remote_install_(false),
+ installed_by_custodian_(false) {
PopulateFromSyncData(sync_data);
}
@@ -35,7 +37,8 @@
syncer::SyncChange::ACTION_DELETE),
enabled_(false),
incognito_enabled_(false),
- remote_install_(false) {
+ remote_install_(false),
+ installed_by_custodian_(false) {
PopulateFromSyncData(sync_change.sync_data());
}
@@ -48,6 +51,7 @@
enabled_(enabled),
incognito_enabled_(incognito_enabled),
remote_install_(remote_install),
+ installed_by_custodian_(extension.was_installed_by_custodian()),
version_(extension.from_bookmark() ? base::Version("0")
: *extension.version()),
update_url_(ManifestURL::GetUpdateURL(&extension)),
@@ -77,6 +81,7 @@
specifics->set_enabled(enabled_);
specifics->set_incognito_enabled(incognito_enabled_);
specifics->set_remote_install(remote_install_);
+ specifics->set_installed_by_custodian(installed_by_custodian_);
specifics->set_name(name_);
}
@@ -102,6 +107,7 @@
enabled_ = specifics.enabled();
incognito_enabled_ = specifics.incognito_enabled();
remote_install_ = specifics.remote_install();
+ installed_by_custodian_ = specifics.installed_by_custodian();
name_ = specifics.name();
}