summaryrefslogtreecommitdiffstats
path: root/chrome/browser/policy
diff options
context:
space:
mode:
authordanno@chromium.org <danno@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-11-26 09:59:00 +0000
committerdanno@chromium.org <danno@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-11-26 09:59:00 +0000
commit7a09b50b5cc6c81944d2167983fa7b52bb1dd59b (patch)
tree4eccdc5be5aa10b9330102f8c4a4554c4712ee62 /chrome/browser/policy
parent077650704412c550dbe60f5895c6549f7e66bed2 (diff)
downloadchromium_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.h2
-rw-r--r--chrome/browser/policy/device_management_backend_impl.cc15
-rw-r--r--chrome/browser/policy/device_management_policy_provider.cc1
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);