Index: chrome/browser/policy/device_management_service.cc |
diff --git a/chrome/browser/policy/device_management_service.cc b/chrome/browser/policy/device_management_service.cc |
index 18245b347dbcd34a6284bac30c662342d9c1a0c7..b218e31d0e00fcd7eda7f0c4e0d7597b0476159e 100644 |
--- a/chrome/browser/policy/device_management_service.cc |
+++ b/chrome/browser/policy/device_management_service.cc |
@@ -512,6 +512,12 @@ void DeviceManagementService::StartJob(DeviceManagementRequestJobImpl* job, |
net::LOAD_DISABLE_CACHE | |
(bypass_proxy ? net::LOAD_BYPASS_PROXY : 0)); |
fetcher->SetRequestContext(request_context_getter_.get()); |
+ // Early device policy fetches on ChromeOS and Auto-Enrollment checks are |
+ // often interrupted during ChromeOS startup when network change notifications |
+ // are sent. Allowing the fetcher to retry once after that is enough to |
+ // recover; allow it to retry up to 3 times just in case. |
+ // http://crosbug.com/16114 |
+ fetcher->SetAutomaticallyRetryOnNetworkChanges(3); |
job->ConfigureRequest(fetcher); |
pending_jobs_[fetcher] = job; |
fetcher->Start(); |