diff options
author | danno@chromium.org <danno@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-11-26 09:59:00 +0000 |
---|---|---|
committer | danno@chromium.org <danno@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-11-26 09:59:00 +0000 |
commit | 7a09b50b5cc6c81944d2167983fa7b52bb1dd59b (patch) | |
tree | 4eccdc5be5aa10b9330102f8c4a4554c4712ee62 /chrome/browser/policy | |
parent | 077650704412c550dbe60f5895c6549f7e66bed2 (diff) | |
download | chromium_src-7a09b50b5cc6c81944d2167983fa7b52bb1dd59b.zip chromium_src-7a09b50b5cc6c81944d2167983fa7b52bb1dd59b.tar.gz chromium_src-7a09b50b5cc6c81944d2167983fa7b52bb1dd59b.tar.bz2 |
Tweaks to POST request to device management server
BUG=64430
TEST=POST request closer to reference implementation
Review URL: http://codereview.chromium.org/5388001
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@67444 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/policy')
-rw-r--r-- | chrome/browser/policy/device_management_backend.h | 2 | ||||
-rw-r--r-- | chrome/browser/policy/device_management_backend_impl.cc | 15 | ||||
-rw-r--r-- | chrome/browser/policy/device_management_policy_provider.cc | 1 |
3 files changed, 11 insertions, 7 deletions
diff --git a/chrome/browser/policy/device_management_backend.h b/chrome/browser/policy/device_management_backend.h index 95ad095..24e7315 100644 --- a/chrome/browser/policy/device_management_backend.h +++ b/chrome/browser/policy/device_management_backend.h @@ -39,6 +39,8 @@ class DeviceManagementBackend : NonThreadSafe { kErrorServiceManagementTokenInvalid, // Service error: Activation pending. kErrorServiceActivationPending, + // Service error: Policy not found. + kErrorServicePolicyNotFound, }; class DeviceRegisterResponseDelegate { diff --git a/chrome/browser/policy/device_management_backend_impl.cc b/chrome/browser/policy/device_management_backend_impl.cc index 11e5fea..d479c80 100644 --- a/chrome/browser/policy/device_management_backend_impl.cc +++ b/chrome/browser/policy/device_management_backend_impl.cc @@ -34,7 +34,7 @@ namespace { const char kValueAgent[] = "%s enterprise management client version %s (%s)"; -const char kPostContentType[] = "application/octet-stream"; +const char kPostContentType[] = "application/protobuf"; const char kServiceTokenAuthHeader[] = "Authorization: GoogleLogin auth="; const char kDMTokenAuthHeader[] = "Authorization: GoogleDMToken token="; @@ -182,7 +182,8 @@ void DeviceManagementJobBase::HandleResponse(const URLRequestStatus& status, // Check service error code. switch (response.error()) { case em::DeviceManagementResponse::SUCCESS: - break; + OnResponse(response); + return; case em::DeviceManagementResponse::DEVICE_MANAGEMENT_NOT_SUPPORTED: OnError(DeviceManagementBackend::kErrorServiceManagementNotSupported); return; @@ -195,14 +196,14 @@ void DeviceManagementJobBase::HandleResponse(const URLRequestStatus& status, case em::DeviceManagementResponse::ACTIVATION_PENDING: OnError(DeviceManagementBackend::kErrorServiceActivationPending); return; - default: - // This should be caught by the protobuf decoder. - NOTREACHED(); - OnError(DeviceManagementBackend::kErrorResponseDecoding); + case em::DeviceManagementResponse::POLICY_NOT_FOUND: + OnError(DeviceManagementBackend::kErrorServicePolicyNotFound); return; } - OnResponse(response); + // This should be caught by the protobuf decoder. + NOTREACHED(); + OnError(DeviceManagementBackend::kErrorResponseDecoding); } GURL DeviceManagementJobBase::GetURL( diff --git a/chrome/browser/policy/device_management_policy_provider.cc b/chrome/browser/policy/device_management_policy_provider.cc index 0b05067..062a2fa 100644 --- a/chrome/browser/policy/device_management_policy_provider.cc +++ b/chrome/browser/policy/device_management_policy_provider.cc @@ -181,6 +181,7 @@ void DeviceManagementPolicyProvider::SendPolicyRequest() { em::DevicePolicySettingRequest* setting = policy_request.add_setting_request(); setting->set_key(kChromeDevicePolicySettingKey); + setting->set_watermark(""); backend_->ProcessPolicyRequest(token_fetcher_->GetDeviceToken(), token_fetcher_->GetDeviceID(), policy_request, this); |