| Index: chrome/browser/chromeos/policy/device_cloud_policy_initializer.cc
|
| diff --git a/chrome/browser/chromeos/policy/device_cloud_policy_initializer.cc b/chrome/browser/chromeos/policy/device_cloud_policy_initializer.cc
|
| index a63cf76a1982a79255fe2361f228dedbcb62e7d7..9b84206ebce99a38b0b5954da17e5f9370aa6ab6 100644
|
| --- a/chrome/browser/chromeos/policy/device_cloud_policy_initializer.cc
|
| +++ b/chrome/browser/chromeos/policy/device_cloud_policy_initializer.cc
|
| @@ -17,6 +17,7 @@
|
| #include "chrome/browser/chromeos/policy/device_status_collector.h"
|
| #include "chrome/browser/chromeos/policy/enrollment_handler_chromeos.h"
|
| #include "chrome/browser/chromeos/policy/enterprise_install_attributes.h"
|
| +#include "chrome/browser/chromeos/policy/policy_util.h"
|
| #include "chrome/browser/chromeos/policy/server_backed_device_state.h"
|
| #include "chrome/browser/chromeos/settings/device_settings_service.h"
|
| #include "chrome/common/chrome_content_client.h"
|
| @@ -226,21 +227,24 @@ scoped_ptr<CloudPolicyClient> DeviceCloudPolicyInitializer::CreateClient(
|
| }
|
|
|
| void DeviceCloudPolicyInitializer::TryToCreateClient() {
|
| - if (device_store_->is_initialized() &&
|
| - device_store_->has_policy() &&
|
| - !device_store_->policy()->request_token().empty() &&
|
| - !state_keys_broker_->pending() &&
|
| - !enrollment_handler_) {
|
| - DeviceManagementService* service = NULL;
|
| - if (device_store_->policy()->management_mode() ==
|
| - em::PolicyData::CONSUMER_MANAGED) {
|
| - service = consumer_service_;
|
| - } else {
|
| - service = enterprise_service_;
|
| - }
|
| - if (service)
|
| - StartConnection(CreateClient(service));
|
| + if (!device_store_->is_initialized() ||
|
| + !device_store_->has_policy() ||
|
| + state_keys_broker_->pending() ||
|
| + enrollment_handler_) {
|
| + return;
|
| }
|
| +
|
| + DeviceManagementService* service = NULL;
|
| + if (GetManagementMode(*device_store_->policy()) ==
|
| + em::PolicyData::CONSUMER_MANAGED) {
|
| + service = consumer_service_;
|
| + } else if (GetManagementMode(*device_store_->policy()) ==
|
| + em::PolicyData::ENTERPRISE_MANAGED) {
|
| + service = enterprise_service_;
|
| + }
|
| +
|
| + if (service)
|
| + StartConnection(CreateClient(service));
|
| }
|
|
|
| void DeviceCloudPolicyInitializer::StartConnection(
|
|
|