| Index: chrome/browser/policy/device_management_backend_impl.cc
|
| diff --git a/chrome/browser/policy/device_management_backend_impl.cc b/chrome/browser/policy/device_management_backend_impl.cc
|
| index 72cf087d00196ebef82e7d8eff2e95fed707a6f0..8da24eccd0a6009f0912c07bc9f1a778ef2e17c1 100644
|
| --- a/chrome/browser/policy/device_management_backend_impl.cc
|
| +++ b/chrome/browser/policy/device_management_backend_impl.cc
|
| @@ -14,6 +14,7 @@
|
| #include "base/stringprintf.h"
|
| #include "base/sys_info.h"
|
| #include "chrome/browser/policy/device_management_service.h"
|
| +#include "chrome/browser/policy/enterprise_metrics.h"
|
| #include "chrome/common/chrome_version_info.h"
|
| #include "net/base/escape.h"
|
| #include "net/url_request/url_request_status.h"
|
| @@ -24,6 +25,8 @@
|
|
|
| namespace policy {
|
|
|
| +namespace em = enterprise_management;
|
| +
|
| // Name constants for URL query parameters.
|
| const char DeviceManagementBackendImpl::kParamRequest[] = "request";
|
| const char DeviceManagementBackendImpl::kParamDeviceType[] = "devicetype";
|
| @@ -302,9 +305,25 @@ class DeviceManagementRegisterJob : public DeviceManagementJobBase {
|
| private:
|
| // DeviceManagementJobBase overrides.
|
| virtual void OnError(DeviceManagementBackend::ErrorCode error) {
|
| + switch (error) {
|
| + case DeviceManagementBackend::kErrorRequestInvalid:
|
| + case DeviceManagementBackend::kErrorRequestFailed:
|
| + em::LogTokenOperation(em::kTokenFetchRequestFailed);
|
| + break;
|
| + case DeviceManagementBackend::kErrorServiceDeviceNotFound:
|
| + em::LogTokenOperation(em::kTokenFetchDeviceNotFound);
|
| + break;
|
| + case DeviceManagementBackend::kErrorServiceManagementNotSupported:
|
| + em::LogTokenOperation(em::kTokenFetchManagementNotSupported);
|
| + break;
|
| + default:
|
| + em::LogTokenOperation(em::kTokenFetchServerFailed);
|
| + break;
|
| + }
|
| delegate_->OnError(error);
|
| }
|
| virtual void OnResponse(const em::DeviceManagementResponse& response) {
|
| + em::LogTokenOperation(em::kTokenFetchResponseReceived);
|
| delegate_->HandleRegisterResponse(response.register_response());
|
| }
|
|
|
| @@ -372,9 +391,25 @@ class DeviceManagementPolicyJob : public DeviceManagementJobBase {
|
| private:
|
| // DeviceManagementJobBase overrides.
|
| virtual void OnError(DeviceManagementBackend::ErrorCode error) {
|
| + switch (error) {
|
| + case DeviceManagementBackend::kErrorRequestInvalid:
|
| + case DeviceManagementBackend::kErrorRequestFailed:
|
| + em::LogPolicyOperation(em::kPolicyFetchRequestFailed);
|
| + break;
|
| + case DeviceManagementBackend::kErrorServicePolicyNotFound:
|
| + em::LogPolicyOperation(em::kPolicyFetchNotFound);
|
| + break;
|
| + case DeviceManagementBackend::kErrorServiceManagementTokenInvalid:
|
| + em::LogPolicyOperation(em::kPolicyFetchInvalidToken);
|
| + break;
|
| + default:
|
| + em::LogPolicyOperation(em::kPolicyFetchServerFailed);
|
| + break;
|
| + }
|
| delegate_->OnError(error);
|
| }
|
| virtual void OnResponse(const em::DeviceManagementResponse& response) {
|
| + em::LogPolicyOperation(em::kPolicyFetchResponseReceived);
|
| delegate_->HandlePolicyResponse(response.policy_response());
|
| }
|
|
|
| @@ -467,6 +502,7 @@ void DeviceManagementBackendImpl::ProcessRegisterRequest(
|
| const std::string& device_id,
|
| const em::DeviceRegisterRequest& request,
|
| DeviceRegisterResponseDelegate* delegate) {
|
| + em::LogTokenOperation(em::kTokenFetchRequested);
|
| AddJob(new DeviceManagementRegisterJob(this, auth_token, device_id, request,
|
| delegate));
|
| }
|
| @@ -485,6 +521,7 @@ void DeviceManagementBackendImpl::ProcessPolicyRequest(
|
| const std::string& device_id,
|
| const em::DevicePolicyRequest& request,
|
| DevicePolicyResponseDelegate* delegate) {
|
| + em::LogPolicyOperation(em::kPolicyFetchRequested);
|
| AddJob(new DeviceManagementPolicyJob(this, device_management_token, device_id,
|
| request, delegate));
|
| }
|
|
|