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)); |
} |