| 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 9fe4f04c0493f45f760937e03deaed288cfa3321..8b4a384705322acc02a7368b63e2adc7c9eec94c 100644
|
| --- a/chrome/browser/chromeos/settings/session_manager_operation.cc
|
| +++ b/chrome/browser/chromeos/settings/session_manager_operation.cc
|
| @@ -23,6 +23,8 @@
|
| #include "crypto/rsa_private_key.h"
|
| #include "crypto/signature_creator.h"
|
|
|
| +using RetrievePolicyResponseType =
|
| + chromeos::SessionManagerClient::RetrievePolicyResponseType;
|
| using ownership::OwnerKeyUtil;
|
| using ownership::PublicKey;
|
|
|
| @@ -138,12 +140,15 @@ void SessionManagerOperation::RetrieveDeviceSettings() {
|
| }
|
|
|
| void SessionManagerOperation::BlockingRetrieveDeviceSettings() {
|
| - ValidateDeviceSettings(
|
| - session_manager_client()->BlockingRetrieveDevicePolicy());
|
| + std::string policy_blob;
|
| + RetrievePolicyResponseType response =
|
| + session_manager_client()->BlockingRetrieveDevicePolicy(&policy_blob);
|
| + ValidateDeviceSettings(policy_blob, response);
|
| }
|
|
|
| void SessionManagerOperation::ValidateDeviceSettings(
|
| - const std::string& policy_blob) {
|
| + const std::string& policy_blob,
|
| + RetrievePolicyResponseType response_type) {
|
| std::unique_ptr<em::PolicyFetchResponse> policy(
|
| new em::PolicyFetchResponse());
|
| if (policy_blob.empty()) {
|
| @@ -151,8 +156,7 @@ void SessionManagerOperation::ValidateDeviceSettings(
|
| return;
|
| }
|
|
|
| - if (!policy->ParseFromString(policy_blob) ||
|
| - !policy->IsInitialized()) {
|
| + if (!policy->ParseFromString(policy_blob) || !policy->IsInitialized()) {
|
| ReportResult(DeviceSettingsService::STORE_INVALID_POLICY);
|
| return;
|
| }
|
|
|