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

Unified Diff: components/policy/core/common/cloud/component_cloud_policy_service.cc

Issue 233423002: Don't upload extension IDs in the cloud policy protocol. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: fixed nits Created 6 years, 8 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: components/policy/core/common/cloud/component_cloud_policy_service.cc
diff --git a/components/policy/core/common/cloud/component_cloud_policy_service.cc b/components/policy/core/common/cloud/component_cloud_policy_service.cc
index 05f9cc6114e43b4fabf99a52e4efc137643beec5..cd783abdd25def15c31ed0f8778d4a5337f45815 100644
--- a/components/policy/core/common/cloud/component_cloud_policy_service.cc
+++ b/components/policy/core/common/cloud/component_cloud_policy_service.cc
@@ -35,13 +35,6 @@ bool NotInSchemaMap(const scoped_refptr<SchemaMap> schema_map,
return schema_map->GetSchema(PolicyNamespace(domain, component_id)) == NULL;
}
-bool ToPolicyNamespaceKey(const PolicyNamespace& ns, PolicyNamespaceKey* key) {
- if (!ComponentCloudPolicyStore::GetPolicyType(ns.domain, &key->first))
- return false;
- key->second = ns.component_id;
- return true;
-}
-
bool ToPolicyNamespace(const PolicyNamespaceKey& key, PolicyNamespace* ns) {
if (!ComponentCloudPolicyStore::GetPolicyDomain(key.first, &ns->domain))
return false;
@@ -293,7 +286,7 @@ void ComponentCloudPolicyService::OnSchemaRegistryUpdated(
if (!loaded_initial_policy_)
return;
- SetCurrentSchema();
+ ReloadSchema();
}
void ComponentCloudPolicyService::OnCoreConnected(CloudPolicyCore* core) {
@@ -302,13 +295,13 @@ void ComponentCloudPolicyService::OnCoreConnected(CloudPolicyCore* core) {
core_->client()->AddObserver(this);
+ // Register the supported policy domains at the client.
+ core_->client()->AddNamespaceToFetch(
+ PolicyNamespaceKey(dm_protocol::kChromeExtensionPolicyType, ""));
+
// Immediately load any PolicyFetchResponses that the client may already
// have.
OnPolicyFetched(core_->client());
-
- // Register the current namespaces at the client.
- current_schema_map_ = new SchemaMap();
- SetCurrentSchema();
}
void ComponentCloudPolicyService::OnCoreDisconnecting(CloudPolicyCore* core) {
@@ -318,15 +311,8 @@ void ComponentCloudPolicyService::OnCoreDisconnecting(CloudPolicyCore* core) {
core_->client()->RemoveObserver(this);
// Remove all the namespaces from the client.
- scoped_refptr<SchemaMap> empty = new SchemaMap();
- PolicyNamespaceList removed;
- PolicyNamespaceList added;
- empty->GetChanges(current_schema_map_, &removed, &added);
- for (size_t i = 0; i < removed.size(); ++i) {
- PolicyNamespaceKey key;
- if (ToPolicyNamespaceKey(removed[i], &key))
- core_->client()->RemoveNamespaceToFetch(key);
- }
+ core_->client()->RemoveNamespaceToFetch(
+ PolicyNamespaceKey(dm_protocol::kChromeExtensionPolicyType, ""));
}
void ComponentCloudPolicyService::OnRefreshSchedulerStarted(
@@ -454,20 +440,18 @@ void ComponentCloudPolicyService::OnBackendInitialized(
// We're now ready to serve the initial policy; notify the policy observers.
OnPolicyUpdated(initial_policy.Pass());
+ // Send the current schema to the backend, in case it has changed while the
+ // backend was initializing.
+ ReloadSchema();
+
// Start observing the core and tracking the state of the client.
core_->AddObserver(this);
- if (core_->client()) {
+ if (core_->client())
OnCoreConnected(core_);
- } else {
- // Send the current schema to the backend, in case it has changed while the
- // backend was initializing. OnCoreConnected() also does this if a client is
- // already connected.
- SetCurrentSchema();
- }
}
-void ComponentCloudPolicyService::SetCurrentSchema() {
+void ComponentCloudPolicyService::ReloadSchema() {
DCHECK(CalledOnValidThread());
scoped_ptr<PolicyNamespaceList> removed(new PolicyNamespaceList);
@@ -478,26 +462,12 @@ void ComponentCloudPolicyService::SetCurrentSchema() {
current_schema_map_ = new_schema_map;
- if (core_->client()) {
- for (size_t i = 0; i < removed->size(); ++i) {
- PolicyNamespaceKey key;
- if (ToPolicyNamespaceKey((*removed)[i], &key))
- core_->client()->RemoveNamespaceToFetch(key);
- }
-
- bool added_namespaces_to_client = false;
- for (size_t i = 0; i < added.size(); ++i) {
- PolicyNamespaceKey key;
- if (ToPolicyNamespaceKey(added[i], &key)) {
- core_->client()->AddNamespaceToFetch(key);
- added_namespaces_to_client = true;
- }
- }
-
- if (added_namespaces_to_client)
- core_->RefreshSoon();
- }
+ // Schedule a policy refresh if a new managed component was added.
+ if (core_->client() && !added.empty())
+ core_->RefreshSoon();
+ // Send the updated SchemaMap and a list of removed components to the
+ // backend.
backend_task_runner_->PostTask(FROM_HERE,
base::Bind(&Backend::OnSchemasUpdated,
base::Unretained(backend_.get()),

Powered by Google App Engine
This is Rietveld 408576698