| Index: chrome/browser/chromeos/ownership/owner_settings_service_chromeos.h
|
| diff --git a/chrome/browser/chromeos/ownership/owner_settings_service_chromeos.h b/chrome/browser/chromeos/ownership/owner_settings_service_chromeos.h
|
| index e3eaa0a559812e7c4d64152b43472df654513c90..34b0988cb961c390db624146edecd99a8c58dda2 100644
|
| --- a/chrome/browser/chromeos/ownership/owner_settings_service_chromeos.h
|
| +++ b/chrome/browser/chromeos/ownership/owner_settings_service_chromeos.h
|
| @@ -41,6 +41,18 @@ class OwnerSettingsServiceChromeOS : public ownership::OwnerSettingsService,
|
| public SessionManagerClient::Observer,
|
| public DeviceSettingsService::Observer {
|
| public:
|
| + struct ManagementSettingsSetRequest {
|
| + ManagementSettingsSetRequest();
|
| + ~ManagementSettingsSetRequest();
|
| +
|
| + typedef base::Callback<void(bool success)> RequestProcessedCallback;
|
| +
|
| + enterprise_management::PolicyData::ManagementMode management_mode;
|
| + std::string request_token;
|
| + std::string device_id;
|
| + RequestProcessedCallback callback;
|
| + };
|
| +
|
| virtual ~OwnerSettingsServiceChromeOS();
|
|
|
| void OnTPMTokenReady(bool tpm_token_enabled);
|
| @@ -65,6 +77,9 @@ class OwnerSettingsServiceChromeOS : public ownership::OwnerSettingsService,
|
| virtual void DeviceSettingsUpdated() override;
|
| virtual void OnDeviceSettingsServiceShutdown() override;
|
|
|
| + // Sets the management related settings.
|
| + void SetManagementSettings(const ManagementSettingsSetRequest& request);
|
| +
|
| // Checks if the user is the device owner, without the user profile having to
|
| // been initialized. Should be used only if login state is in safe mode.
|
| static void IsOwnerForSafeModeAsync(
|
| @@ -86,7 +101,8 @@ class OwnerSettingsServiceChromeOS : public ownership::OwnerSettingsService,
|
| enterprise_management::ChromeDeviceSettingsProto& settings);
|
|
|
| bool has_pending_changes() const {
|
| - return !pending_changes_.empty() || tentative_settings_.get();
|
| + return !pending_changes_.empty() || tentative_settings_.get() ||
|
| + !pending_management_settings_set_requests_.empty();
|
| }
|
|
|
| private:
|
| @@ -141,6 +157,15 @@ class OwnerSettingsServiceChromeOS : public ownership::OwnerSettingsService,
|
| // A set of pending changes to device settings.
|
| base::ScopedPtrHashMap<std::string, base::Value> pending_changes_;
|
|
|
| + // A set of pending changes to management settings.
|
| + std::vector<ManagementSettingsSetRequest>
|
| + pending_management_settings_set_requests_;
|
| +
|
| + // A set of callbacks that need to be run after signed policy is
|
| + // stored.
|
| + std::vector<ManagementSettingsSetRequest::RequestProcessedCallback>
|
| + pending_callbacks_;
|
| +
|
| // A protobuf containing pending changes to device settings.
|
| scoped_ptr<enterprise_management::ChromeDeviceSettingsProto>
|
| tentative_settings_;
|
|
|