Index: chrome/browser/policy/device_token_fetcher.cc |
diff --git a/chrome/browser/policy/device_token_fetcher.cc b/chrome/browser/policy/device_token_fetcher.cc |
index 6661d3c066cd26ae274ff2ef219429b6a656c250..a426cf47d4cce5e30a4a1736a9eb5ff68b1f01bf 100644 |
--- a/chrome/browser/policy/device_token_fetcher.cc |
+++ b/chrome/browser/policy/device_token_fetcher.cc |
@@ -9,6 +9,7 @@ |
#include "base/message_loop.h" |
#include "chrome/browser/policy/cloud_policy_cache.h" |
#include "chrome/browser/policy/device_management_service.h" |
+#include "chrome/browser/policy/proto/device_management_constants.h" |
#include "chrome/browser/policy/proto/device_management_local.pb.h" |
namespace { |
@@ -50,11 +51,16 @@ DeviceTokenFetcher::~DeviceTokenFetcher() { |
CancelRetryTask(); |
} |
-void DeviceTokenFetcher::FetchToken(const std::string& auth_token, |
- const std::string& device_id) { |
+void DeviceTokenFetcher::FetchToken( |
+ const std::string& auth_token, |
+ const std::string& device_id, |
+ em::DeviceRegisterRequest_Type policy_type, |
+ const std::string& machine_id) { |
SetState(STATE_INACTIVE); |
auth_token_ = auth_token; |
device_id_ = device_id; |
+ policy_type_ = policy_type; |
+ machine_id_ = machine_id; |
FetchTokenInternal(); |
} |
@@ -64,6 +70,10 @@ void DeviceTokenFetcher::FetchTokenInternal() { |
// Construct a new backend, which will discard any previous requests. |
backend_.reset(service_->CreateBackend()); |
em::DeviceRegisterRequest request; |
+ request.set_type(policy_type_); |
+ if (!machine_id_.empty()) |
+ request.set_machine_id(machine_id_); |
+ request.set_machine_model(kRegisterRequestMachineModel); |
backend_->ProcessRegisterRequest(auth_token_, device_id_, request, this); |
} |