Chromium Code Reviews| Index: chrome/browser/chromeos/login/enrollment/enrollment_screen.cc |
| diff --git a/chrome/browser/chromeos/login/enrollment/enrollment_screen.cc b/chrome/browser/chromeos/login/enrollment/enrollment_screen.cc |
| index b752d4e61daf06870246a90520e41c1071b32fdf..b7713e88ad857302dff195a09232e564ffc7fa8d 100644 |
| --- a/chrome/browser/chromeos/login/enrollment/enrollment_screen.cc |
| +++ b/chrome/browser/chromeos/login/enrollment/enrollment_screen.cc |
| @@ -64,9 +64,16 @@ EnrollmentScreen* EnrollmentScreen::Get(ScreenManager* manager) { |
| EnrollmentScreen::EnrollmentScreen(BaseScreenDelegate* base_screen_delegate, |
| EnrollmentScreenActor* actor) |
| - : BaseScreen(base_screen_delegate), |
| - actor_(actor), |
| - weak_ptr_factory_(this) {} |
| + : BaseScreen(base_screen_delegate), actor_(actor), weak_ptr_factory_(this) { |
|
joth
2016/11/23 22:24:02
as a general guide use initializer list when you c
kumarniranjan
2016/11/24 18:12:46
Done.
|
| + policy_ = new net::BackoffEntry::Policy(); |
| + policy_->num_errors_to_ignore = 0; |
| + policy_->initial_delay_ms = 4000; |
| + policy_->multiply_factor = 2.0; |
|
joth
2016/11/23 22:24:02
given we're using this to paper over the TPM init,
kumarniranjan
2016/11/24 18:12:46
Done.
|
| + policy_->jitter_factor = 0.1; |
| + policy_->maximum_backoff_ms = -1; |
|
joth
2016/11/23 22:24:03
Lets cap the maximum delay to 8 minutes
kumarniranjan
2016/11/24 18:12:46
Done.
|
| + policy_->entry_lifetime_ms = -1; |
| + backoff_ = new net::BackoffEntry(policy_); |
| +} |
| EnrollmentScreen::~EnrollmentScreen() { |
| DCHECK(!enrollment_helper_ || g_browser_process->IsShuttingDown()); |
| @@ -253,8 +260,17 @@ void EnrollmentScreen::OnEnrollmentError(policy::EnrollmentStatus status) { |
| status.client_status() == policy::DM_STATUS_SERVICE_DEVICE_NOT_FOUND && |
| current_auth_ == AUTH_ATTESTATION && AdvanceToNextAuth()) |
| Show(); |
| - else |
| + else { |
| actor_->ShowEnrollmentStatus(status); |
| + if (policy::DeviceCloudPolicyManagerChromeOS:: |
| + GetZeroTouchEnrollmentMode() == |
| + policy::ZeroTouchEnrollmentMode::HANDS_OFF) { |
| + backoff_->InformOfRequest(false); |
| + timer_.Start(FROM_HERE, backoff_->GetTimeUntilRelease(), |
| + base::Bind(&EnrollmentScreen::OnRetry, |
|
joth
2016/11/23 22:24:02
I don't have a strong preference, but it maybe cle
kumarniranjan
2016/11/24 18:12:46
I agree. I ended up calling the method "ProcessRet
|
| + weak_ptr_factory_.GetWeakPtr())); |
| + } |
| + } |
| } |
| void EnrollmentScreen::OnOtherError( |
| @@ -331,6 +347,7 @@ void EnrollmentScreen::SendEnrollmentAuthToken(const std::string& token) { |
| } |
| void EnrollmentScreen::ShowEnrollmentStatusOnSuccess() { |
| + backoff_->InformOfRequest(true); |
| if (elapsed_timer_) |
| UMA_ENROLLMENT_TIME(kMetricEnrollmentTimeSuccess, elapsed_timer_); |
| actor_->ShowEnrollmentStatus(policy::EnrollmentStatus::ForStatus( |