Chromium Code Reviews| Index: chrome/browser/policy/cloud/cloud_policy_refresh_scheduler.h |
| diff --git a/chrome/browser/policy/cloud/cloud_policy_refresh_scheduler.h b/chrome/browser/policy/cloud/cloud_policy_refresh_scheduler.h |
| index c58580ab04c00017d569ba9f15218ae8840ae10f..6ad0fb9415957c2593430409bbd5cec65ef3afac 100644 |
| --- a/chrome/browser/policy/cloud/cloud_policy_refresh_scheduler.h |
| +++ b/chrome/browser/policy/cloud/cloud_policy_refresh_scheduler.h |
| @@ -36,12 +36,19 @@ class CloudPolicyRefreshScheduler |
| static const int64 kRefreshDelayMinMs; |
| static const int64 kRefreshDelayMaxMs; |
| + // The minimum amount of delay that should occur before the first refresh in |
| + // milliseconds. This delay is intended to allow the CloudPolicyInvalidator to |
| + // receive policy invalidations before a policy is automatically fetched on |
| + // sign-in. The delay is only enforced if policy invalidations are enabled. |
| + static const int64 kFirstRefreshDelayMs; |
| + |
| // |client|, |store| and |prefs| pointers must stay valid throughout the |
| // lifetime of CloudPolicyRefreshScheduler. |
| CloudPolicyRefreshScheduler( |
| CloudPolicyClient* client, |
| CloudPolicyStore* store, |
| - const scoped_refptr<base::SequencedTaskRunner>& task_runner); |
| + const scoped_refptr<base::SequencedTaskRunner>& task_runner, |
| + bool invalidations_enabled); |
|
Joao da Silva
2013/07/23 20:44:47
As discussed offline, you can revert the changes t
Steve Condie
2013/07/24 01:42:04
Done.
|
| virtual ~CloudPolicyRefreshScheduler(); |
| base::Time last_refresh() const { return last_refresh_; } |
| @@ -54,6 +61,11 @@ class CloudPolicyRefreshScheduler |
| // and the request may not be immediately sent. |
| void RefreshSoon(); |
| + // Requests a policy refresh to be performed immediately due to a policy |
| + // invalidation being received. Unlike RefreshSoon, throttling is not |
| + // applied. |
| + void RefreshForInvalidation(); |
| + |
| // CloudPolicyClient::Observer: |
| virtual void OnPolicyFetched(CloudPolicyClient* client) OVERRIDE; |
| virtual void OnRegistrationStateChanged(CloudPolicyClient* client) OVERRIDE; |
| @@ -109,6 +121,11 @@ class CloudPolicyRefreshScheduler |
| // Used to limit the rate at which refreshes are scheduled. |
| RateLimiter rate_limiter_; |
| + // The time at which the first refresh can begin. This is used to introduce a |
| + // small delay before a refresh can occur to allow policy invalidations to |
| + // occur before automatically refreshing after login. |
| + base::Time first_refresh_; |
| + |
| DISALLOW_COPY_AND_ASSIGN(CloudPolicyRefreshScheduler); |
| }; |