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

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

Issue 19733003: Implement cloud policy invalidations using the invalidation service framework. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 7 years, 5 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/policy/cloud/cloud_policy_client.cc
diff --git a/chrome/browser/policy/cloud/cloud_policy_client.cc b/chrome/browser/policy/cloud/cloud_policy_client.cc
index a9b30c3d6f9fd9bdc8300f1ac71caf633d6de85f..eada4c4e7e7518adf902e69c187cf7538b90cb09 100644
--- a/chrome/browser/policy/cloud/cloud_policy_client.cc
+++ b/chrome/browser/policy/cloud/cloud_policy_client.cc
@@ -58,6 +58,8 @@ CloudPolicyClient::CloudPolicyClient(const std::string& machine_id,
submit_machine_id_(false),
public_key_version_(-1),
public_key_version_valid_(false),
+ invalidation_version_(0),
+ fetched_invalidation_version_(0),
service_(service), // Can be NULL for unit tests.
status_provider_(status_provider), // Can be NULL for unit tests.
status_(DM_STATUS_SUCCESS) {
@@ -125,6 +127,13 @@ void CloudPolicyClient::Register(em::DeviceRegisterRequest::Type type,
base::Unretained(this)));
}
+void CloudPolicyClient::SetInvalidationInfo(
+ int64 version,
+ const std::string& payload) {
+ invalidation_version_ = version;
+ invalidation_payload_ = payload;
+}
+
void CloudPolicyClient::FetchPolicy() {
CHECK(is_registered());
CHECK(!namespaces_to_fetch_.empty());
@@ -165,6 +174,10 @@ void CloudPolicyClient::FetchPolicy() {
last_policy_timestamp_ - base::Time::UnixEpoch());
fetch_request->set_timestamp(timestamp.InMilliseconds());
}
+ if (!invalidation_payload_.empty()) {
+ fetch_request->set_invalidation_version(invalidation_version_);
+ fetch_request->set_invalidation_payload(invalidation_payload_);
+ }
}
}
@@ -181,6 +194,7 @@ void CloudPolicyClient::FetchPolicy() {
}
// Fire the job.
+ fetched_invalidation_version_ = invalidation_version_;
Joao da Silva 2013/07/24 15:34:07 This should be at OnPolicyFetchCompleted, and done
Steve Condie 2013/07/25 01:18:08 That actually wouldn't do what I want because it's
Joao da Silva 2013/07/25 18:03:53 I see, thanks for clarifying. Please add a comment
Steve Condie 2013/07/26 01:39:25 Done.
request_job_->Start(base::Bind(&CloudPolicyClient::OnPolicyFetchCompleted,
base::Unretained(this)));
}

Powered by Google App Engine
This is Rietveld 408576698