Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(376)

Side by Side Diff: chrome/browser/chromeos/policy/device_cloud_policy_initializer.cc

Issue 690643002: Add RESTORE_MODE_DISABLED to RestoreMode (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Addressed comment. Created 6 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "chrome/browser/chromeos/policy/device_cloud_policy_initializer.h" 5 #include "chrome/browser/chromeos/policy/device_cloud_policy_initializer.h"
6 6
7 #include "base/bind.h" 7 #include "base/bind.h"
8 #include "base/bind_helpers.h" 8 #include "base/bind_helpers.h"
9 #include "base/logging.h" 9 #include "base/logging.h"
10 #include "base/prefs/pref_service.h" 10 #include "base/prefs/pref_service.h"
(...skipping 117 matching lines...) Expand 10 before | Expand all | Expand 10 after
128 manager_->GetDeviceRequisition(), 128 manager_->GetDeviceRequisition(),
129 allowed_device_modes, 129 allowed_device_modes,
130 management_mode, 130 management_mode,
131 base::Bind(&DeviceCloudPolicyInitializer::EnrollmentCompleted, 131 base::Bind(&DeviceCloudPolicyInitializer::EnrollmentCompleted,
132 base::Unretained(this), 132 base::Unretained(this),
133 enrollment_callback))); 133 enrollment_callback)));
134 enrollment_handler_->StartEnrollment(); 134 enrollment_handler_->StartEnrollment();
135 } 135 }
136 136
137 bool DeviceCloudPolicyInitializer::ShouldAutoStartEnrollment() const { 137 bool DeviceCloudPolicyInitializer::ShouldAutoStartEnrollment() const {
138 std::string restore_mode = GetRestoreMode(); 138 const RestoreMode restore_mode = GetRestoreMode();
139 if (restore_mode == kDeviceStateRestoreModeReEnrollmentRequested || 139 if (restore_mode == RESTORE_MODE_REENROLLMENT_REQUESTED ||
140 restore_mode == kDeviceStateRestoreModeReEnrollmentEnforced) { 140 restore_mode == RESTORE_MODE_REENROLLMENT_ENFORCED) {
141 return true; 141 return true;
142 } 142 }
143 143
144 if (local_state_->HasPrefPath(prefs::kDeviceEnrollmentAutoStart)) 144 if (local_state_->HasPrefPath(prefs::kDeviceEnrollmentAutoStart))
145 return local_state_->GetBoolean(prefs::kDeviceEnrollmentAutoStart); 145 return local_state_->GetBoolean(prefs::kDeviceEnrollmentAutoStart);
146 146
147 return GetMachineFlag(chromeos::system::kOemIsEnterpriseManagedKey, false); 147 return GetMachineFlag(chromeos::system::kOemIsEnterpriseManagedKey, false);
148 } 148 }
149 149
150 bool DeviceCloudPolicyInitializer::ShouldRecoverEnrollment() const { 150 bool DeviceCloudPolicyInitializer::ShouldRecoverEnrollment() const {
151 if (install_attributes_->IsEnterpriseDevice() && 151 if (install_attributes_->IsEnterpriseDevice() &&
152 chromeos::StartupUtils::IsEnrollmentRecoveryRequired()) { 152 chromeos::StartupUtils::IsEnrollmentRecoveryRequired()) {
153 LOG(WARNING) << "Enrollment recovery required according to pref."; 153 LOG(WARNING) << "Enrollment recovery required according to pref.";
154 if (!DeviceCloudPolicyManagerChromeOS::GetMachineID().empty()) 154 if (!DeviceCloudPolicyManagerChromeOS::GetMachineID().empty())
155 return true; 155 return true;
156 LOG(WARNING) << "Postponing recovery because machine id is missing."; 156 LOG(WARNING) << "Postponing recovery because machine id is missing.";
157 } 157 }
158 return false; 158 return false;
159 } 159 }
160 160
161 std::string DeviceCloudPolicyInitializer::GetEnrollmentRecoveryDomain() const { 161 std::string DeviceCloudPolicyInitializer::GetEnrollmentRecoveryDomain() const {
162 return install_attributes_->GetDomain(); 162 return install_attributes_->GetDomain();
163 } 163 }
164 164
165 bool DeviceCloudPolicyInitializer::CanExitEnrollment() const { 165 bool DeviceCloudPolicyInitializer::CanExitEnrollment() const {
166 if (GetRestoreMode() == kDeviceStateRestoreModeReEnrollmentEnforced) 166 if (GetRestoreMode() == RESTORE_MODE_REENROLLMENT_ENFORCED)
167 return false; 167 return false;
168 168
169 if (local_state_->HasPrefPath(prefs::kDeviceEnrollmentCanExit)) 169 if (local_state_->HasPrefPath(prefs::kDeviceEnrollmentCanExit))
170 return local_state_->GetBoolean(prefs::kDeviceEnrollmentCanExit); 170 return local_state_->GetBoolean(prefs::kDeviceEnrollmentCanExit);
171 171
172 return GetMachineFlag(chromeos::system::kOemCanExitEnterpriseEnrollmentKey, 172 return GetMachineFlag(chromeos::system::kOemCanExitEnterpriseEnrollmentKey,
173 true); 173 true);
174 } 174 }
175 175
176 std::string 176 std::string
(...skipping 70 matching lines...) Expand 10 before | Expand all | Expand 10 after
247 scoped_ptr<CloudPolicyClient> client) { 247 scoped_ptr<CloudPolicyClient> client) {
248 if (!manager_->core()->service()) 248 if (!manager_->core()->service())
249 manager_->StartConnection(client.Pass(), device_status_provider_.Pass()); 249 manager_->StartConnection(client.Pass(), device_status_provider_.Pass());
250 250
251 if (!on_connected_callback_.is_null()) { 251 if (!on_connected_callback_.is_null()) {
252 on_connected_callback_.Run(); 252 on_connected_callback_.Run();
253 on_connected_callback_.Reset(); 253 on_connected_callback_.Reset();
254 } 254 }
255 } 255 }
256 256
257 std::string DeviceCloudPolicyInitializer::GetRestoreMode() const {
258 const base::DictionaryValue* device_state_dict =
259 local_state_->GetDictionary(prefs::kServerBackedDeviceState);
260 std::string restore_mode;
261 device_state_dict->GetString(kDeviceStateRestoreMode, &restore_mode);
262 return restore_mode;
263 }
264
265 } // namespace policy 257 } // namespace policy
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698