| Index: chrome/browser/policy/user_cloud_policy_store_chromeos.h
|
| diff --git a/chrome/browser/policy/user_cloud_policy_store_chromeos.h b/chrome/browser/policy/user_cloud_policy_store_chromeos.h
|
| index 0473a423b484c26bafb60c6cd3f80d4dd688e9e3..c438e71f14721456ced89283061126aab4a04560 100644
|
| --- a/chrome/browser/policy/user_cloud_policy_store_chromeos.h
|
| +++ b/chrome/browser/policy/user_cloud_policy_store_chromeos.h
|
| @@ -14,14 +14,17 @@
|
| #include "base/memory/weak_ptr.h"
|
| #include "chrome/browser/policy/cloud_policy_validator.h"
|
| #include "chrome/browser/policy/user_cloud_policy_store_base.h"
|
| +#include "chromeos/dbus/dbus_method_call_status.h"
|
|
|
| namespace chromeos {
|
| +class CryptohomeClient;
|
| class SessionManagerClient;
|
| }
|
|
|
| namespace policy {
|
|
|
| class LegacyPolicyCacheLoader;
|
| +class UserPolicyKey;
|
|
|
| // Implements a cloud policy store backed by the Chrome OS' session_manager,
|
| // which takes care of persisting policy to disk and is accessed via DBus calls
|
| @@ -33,6 +36,7 @@ class LegacyPolicyCacheLoader;
|
| class UserCloudPolicyStoreChromeOS : public UserCloudPolicyStoreBase {
|
| public:
|
| UserCloudPolicyStoreChromeOS(
|
| + chromeos::CryptohomeClient* cryptohome_client,
|
| chromeos::SessionManagerClient* session_manager_client,
|
| const std::string& username,
|
| const FilePath& legacy_token_cache_file,
|
| @@ -45,24 +49,27 @@ class UserCloudPolicyStoreChromeOS : public UserCloudPolicyStoreBase {
|
| virtual void Load() OVERRIDE;
|
|
|
| private:
|
| - // Called back from SessionManagerClient for policy load operations.
|
| - void OnPolicyRetrieved(const std::string& policy_blob);
|
| -
|
| - // Completion handler for policy validation on the Load() path. Installs the
|
| - // policy and publishes it if validation succeeded.
|
| - void OnRetrievedPolicyValidated(UserCloudPolicyValidator* validator);
|
| + // Starts validation of |policy| before storing it.
|
| + void ValidatePolicyForStore(
|
| + scoped_ptr<enterprise_management::PolicyFetchResponse> policy);
|
|
|
| - // Completion handler for policy validation on the Load() path. Starts a store
|
| - // operation if the validation succeeded.
|
| + // Completion handler for policy validation on the Store() path.
|
| + // Starts a store operation if the validation succeeded.
|
| void OnPolicyToStoreValidated(UserCloudPolicyValidator* validator);
|
|
|
| // Called back from SessionManagerClient for policy store operations.
|
| void OnPolicyStored(bool);
|
|
|
| - // Starts policy blob validation.
|
| - void Validate(
|
| - scoped_ptr<enterprise_management::PolicyFetchResponse> policy,
|
| - const UserCloudPolicyValidator::CompletionCallback& callback);
|
| + // Called back from SessionManagerClient for policy load operations.
|
| + void OnPolicyRetrieved(const std::string& policy_blob);
|
| +
|
| + // Starts validation of the loaded |policy| before installing it.
|
| + void ValidateRetrievedPolicy(
|
| + scoped_ptr<enterprise_management::PolicyFetchResponse> policy);
|
| +
|
| + // Completion handler for policy validation on the Load() path. Installs the
|
| + // policy and publishes it if validation succeeded.
|
| + void OnRetrievedPolicyValidated(UserCloudPolicyValidator* validator);
|
|
|
| // Callback for loading legacy caches.
|
| void OnLegacyLoadFinished(
|
| @@ -83,6 +90,14 @@ class UserCloudPolicyStoreChromeOS : public UserCloudPolicyStoreBase {
|
| // Removes the passed-in legacy cache directory.
|
| static void RemoveLegacyCacheDir(const FilePath& dir);
|
|
|
| + void EnsurePolicyKeyLoaded(const base::Closure& callback);
|
| +
|
| + // Callback for getting the sanitized username from |cryptohome_client_|.
|
| + void OnGetSanitizedUsername(const base::Closure& callback,
|
| + chromeos::DBusMethodCallStatus call_status,
|
| + const std::string& sanitized_username);
|
| +
|
| + chromeos::CryptohomeClient* cryptohome_client_;
|
| chromeos::SessionManagerClient* session_manager_client_;
|
| const std::string username_;
|
|
|
| @@ -94,6 +109,8 @@ class UserCloudPolicyStoreChromeOS : public UserCloudPolicyStoreBase {
|
| scoped_ptr<LegacyPolicyCacheLoader> legacy_loader_;
|
| bool legacy_caches_loaded_;
|
|
|
| + scoped_ptr<UserPolicyKey> policy_key_;
|
| +
|
| DISALLOW_COPY_AND_ASSIGN(UserCloudPolicyStoreChromeOS);
|
| };
|
|
|
|
|