AU: Retry up to 3 times 30 seconds apart on HTTP response code 0.

This is a temporary way to avoid failing to do an update check on resume by
allowing at least 1.5 minutes for the network to go online.

BUG=9705
TEST=tested on device through suspend/resume; unit tests

Change-Id: I291a1c31ce87c17d5dce0e30488d454d7690ddbc

Review URL: http://codereview.chromium.org/5260004
diff --git a/update_attempter.cc b/update_attempter.cc
index 4e7d7bf..7c958cb 100644
--- a/update_attempter.cc
+++ b/update_attempter.cc
@@ -162,11 +162,18 @@
   processor_->set_delegate(this);
 
   // Actions:
+  LibcurlHttpFetcher* update_check_fetcher =
+      new LibcurlHttpFetcher(GetProxyResolver());
+  // If this is an automatic check, try harder to connect to the network. See
+  // comment in libcurl_http_fetcher.cc.
+  if (!obey_proxies) {
+    update_check_fetcher->set_no_network_max_retries(3);
+  }
   shared_ptr<OmahaRequestAction> update_check_action(
       new OmahaRequestAction(prefs_,
                              omaha_request_params_,
                              NULL,
-                             new LibcurlHttpFetcher(GetProxyResolver())));
+                             update_check_fetcher));  // passes ownership
   shared_ptr<OmahaResponseHandlerAction> response_handler_action(
       new OmahaResponseHandlerAction(prefs_));
   shared_ptr<FilesystemCopierAction> filesystem_copier_action(