Introduced a ForwardingPolicyProvider.
This policy provider forwards its methods to a delegate policy provider, but
keeps its own state of initialization for each policy domain. This allows the
Profile PolicyService to have a ForwardingPolicyProvider instead of directly
reading from the platform provider, so that each Profile can be in a different
initialization state.
This means that the IsInitializationComplete() signal is now reliable and
never goes from "ready" to "not ready".
Also introduced a readiness signal for each domain at the SchemaRegistry.
This allows policy providers to determine when to reload based on the
availability of schemas for each component that supports policy.
All of that together means that the ManagedValueStoreCache (which implements
the API that allows extensions to read policy) can be greatly simplified, by
simply waiting for the IsInitializationComplete() signal before starting to
read policy values.
The SchemaRegistry updates also enable a similar simplification in the
ComponentCloudPolicyService, which will come later.
BUG=270667,108992,171477
Review URL: https://codereview.chromium.org/60823003
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@235005 0039d316-1c4b-4281-b951-d872f2087c98
31 files changed