| Index: chrome/browser/chromeos/settings/session_manager_operation.cc
|
| diff --git a/chrome/browser/chromeos/settings/session_manager_operation.cc b/chrome/browser/chromeos/settings/session_manager_operation.cc
|
| index 6a7ed980cd8d1a2a90b1d69a25aacc991b79b22f..8947c377109cfcf00303516d7ecab8edb881bbf2 100644
|
| --- a/chrome/browser/chromeos/settings/session_manager_operation.cc
|
| +++ b/chrome/browser/chromeos/settings/session_manager_operation.cc
|
| @@ -245,15 +245,12 @@
|
| : SessionManagerOperation(callback),
|
| new_policy_(new_policy.Pass()),
|
| weak_factory_(this) {
|
| + DCHECK(new_policy_);
|
| }
|
|
|
| SignAndStoreSettingsOperation::~SignAndStoreSettingsOperation() {}
|
|
|
| void SignAndStoreSettingsOperation::Run() {
|
| - if (!new_policy_) {
|
| - ReportResult(DeviceSettingsService::STORE_POLICY_ERROR);
|
| - return;
|
| - }
|
| if (!owner_settings_service_) {
|
| ReportResult(DeviceSettingsService::STORE_KEY_UNAVAILABLE);
|
| return;
|
| @@ -272,7 +269,7 @@
|
| bool rv = owner_settings_service_->AssembleAndSignPolicyAsync(
|
| content::BrowserThread::GetBlockingPool(),
|
| new_policy_.Pass(),
|
| - base::Bind(&SignAndStoreSettingsOperation::StoreDeviceSettings,
|
| + base::Bind(&SignAndStoreSettingsOperation::StoreDeviceSettingsBlob,
|
| weak_factory_.GetWeakPtr()));
|
| if (!rv) {
|
| ReportResult(DeviceSettingsService::STORE_KEY_UNAVAILABLE);
|
| @@ -280,15 +277,15 @@
|
| }
|
| }
|
|
|
| -void SignAndStoreSettingsOperation::StoreDeviceSettings(
|
| - scoped_ptr<em::PolicyFetchResponse> policy_response) {
|
| - if (!policy_response.get()) {
|
| +void SignAndStoreSettingsOperation::StoreDeviceSettingsBlob(
|
| + std::string device_settings_blob) {
|
| + if (device_settings_blob.empty()) {
|
| ReportResult(DeviceSettingsService::STORE_POLICY_ERROR);
|
| return;
|
| }
|
|
|
| session_manager_client()->StoreDevicePolicy(
|
| - policy_response->SerializeAsString(),
|
| + device_settings_blob,
|
| base::Bind(&SignAndStoreSettingsOperation::HandleStoreResult,
|
| weak_factory_.GetWeakPtr()));
|
| }
|
|
|