Index: google_apis/gaia/oauth2_api_call_flow.cc |
diff --git a/google_apis/gaia/oauth2_api_call_flow.cc b/google_apis/gaia/oauth2_api_call_flow.cc |
index 90377647667a8bde279114062686d97c989fd242..f8a804d5b4fcb8e5195d52eb28ce1650403e9052 100644 |
--- a/google_apis/gaia/oauth2_api_call_flow.cc |
+++ b/google_apis/gaia/oauth2_api_call_flow.cc |
@@ -159,6 +159,11 @@ URLFetcher* OAuth2ApiCallFlow::CreateURLFetcher() { |
result->SetLoadFlags(net::LOAD_DO_NOT_SEND_COOKIES | |
net::LOAD_DO_NOT_SAVE_COOKIES); |
result->AddExtraRequestHeader(MakeAuthorizationHeader(access_token_)); |
+ // Fetchers are sometimes cancelled because a network change was detected, |
+ // especially at startup and after sign-in on ChromeOS. Retrying once should |
+ // be enough in those cases; let the fetcher retry up to 3 times just in case. |
+ // http://crbug.com/163710 |
+ result->SetAutomaticallyRetryOnNetworkChanges(3); |
if (!empty_body) |
result->SetUploadData("application/x-www-form-urlencoded", body); |