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

Unified Diff: chrome/browser/policy/cloud/component_cloud_policy_service.cc

Issue 79023002: Support cloud policy for extensions on the desktop platforms. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: rebase Created 7 years, 1 month 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/policy/cloud/component_cloud_policy_service.cc
diff --git a/chrome/browser/policy/cloud/component_cloud_policy_service.cc b/chrome/browser/policy/cloud/component_cloud_policy_service.cc
index 7908f43b2509200d56c33c467a5d53b2d3751eca..3cc210c88d26972c4e25881597685b7f46fab079 100644
--- a/chrome/browser/policy/cloud/component_cloud_policy_service.cc
+++ b/chrome/browser/policy/cloud/component_cloud_policy_service.cc
@@ -224,6 +224,7 @@ ComponentCloudPolicyService::ComponentCloudPolicyService(
backend_task_runner_(backend_task_runner),
io_task_runner_(io_task_runner),
current_schema_map_(new SchemaMap),
+ started_loading_initial_policy_(false),
loaded_initial_policy_(false),
is_registered_for_cloud_policy_(false),
weak_ptr_factory_(this) {
@@ -421,19 +422,23 @@ void ComponentCloudPolicyService::OnClientError(CloudPolicyClient* client) {
void ComponentCloudPolicyService::InitializeIfReady() {
DCHECK(CalledOnValidThread());
- if (!schema_registry_->IsReady() || !core_->store()->is_initialized())
+ if (started_loading_initial_policy_ || !schema_registry_->IsReady() ||
+ !core_->store()->is_initialized()) {
return;
+ }
// The initial list of components is ready. Initialize the backend now, which
// will call back to OnBackendInitialized.
backend_task_runner_->PostTask(FROM_HERE,
base::Bind(&Backend::Init,
base::Unretained(backend_.get()),
schema_registry_->schema_map()));
+ started_loading_initial_policy_ = true;
}
void ComponentCloudPolicyService::OnBackendInitialized(
scoped_ptr<PolicyBundle> initial_policy) {
DCHECK(CalledOnValidThread());
+ DCHECK(!loaded_initial_policy_);
loaded_initial_policy_ = true;

Powered by Google App Engine
This is Rietveld 408576698