Index: chrome/browser/policy/configuration_policy_provider.h |
diff --git a/chrome/browser/policy/configuration_policy_provider.h b/chrome/browser/policy/configuration_policy_provider.h |
index efe93cda4ee737530c26d3908695e81579846c60..a5c36fdb511ee8a685c4adf00a0c0e0c71dab936 100644 |
--- a/chrome/browser/policy/configuration_policy_provider.h |
+++ b/chrome/browser/policy/configuration_policy_provider.h |
@@ -28,7 +28,7 @@ class ConfigurationPolicyProvider { |
class Observer { |
public: |
virtual ~Observer(); |
- virtual void OnUpdatePolicy() = 0; |
+ virtual void OnUpdatePolicy(ConfigurationPolicyProvider* provider) = 0; |
virtual void OnProviderGoingAway(); |
Mattias Nissler (ping if slow)
2011/11/18 11:00:25
For symmetry, we might also want to pass the param
Joao da Silva
2011/11/18 14:03:30
Done.
|
}; |
@@ -54,6 +54,13 @@ class ConfigurationPolicyProvider { |
void OverridePolicies(PolicyMap* policies); |
#endif |
+ // Asks the provider to refresh its policies. All the updates caused by this |
+ // call will be visible on the next calls of OnUpdatePolicy on the observers, |
+ // which are guaranteed to happen even if the refresh fails. |
+ // It is possible that OnProviderGoingAway is called first though, and |
+ // OnUpdatePolicy won't be called if that happens. |
+ virtual void RefreshPolicies() = 0; |
+ |
protected: |
// Sends a policy update notification to observers. |
void NotifyPolicyUpdated(); |
@@ -100,7 +107,7 @@ class ConfigurationPolicyObserverRegistrar |
ConfigurationPolicyProvider::Observer* observer); |
// ConfigurationPolicyProvider::Observer implementation: |
- virtual void OnUpdatePolicy(); |
+ virtual void OnUpdatePolicy(ConfigurationPolicyProvider* provider); |
virtual void OnProviderGoingAway(); |
ConfigurationPolicyProvider* provider() { return provider_; } |