Allow fallback from https to http for component update checks.

Component updater relies on its custom message signing protocol to
guarantee the integrity of update checks.

As a failover mechanism and to improve the update success rates,
fallback to HTTP is allowed. This is similar to
what Google Update (Omaha) has been doing.

BUG=590070

Review URL: https://codereview.chromium.org/1740333002

Cr-Commit-Position: refs/heads/master@{#384993}
diff --git a/components/update_client/update_client.h b/components/update_client/update_client.h
index 12d19c9..e354fb6 100644
--- a/components/update_client/update_client.h
+++ b/components/update_client/update_client.h
@@ -143,6 +143,7 @@
   ERROR_UPDATE_INVALID_ARGUMENT = -1,
   ERROR_UPDATE_IN_PROGRESS = 1,
   ERROR_UPDATE_CANCELED = 2,
+  ERROR_UPDATE_RETRY_LATER = 3,
 };
 
 // Defines an interface for a generic CRX installer.
@@ -197,10 +198,14 @@
   std::string name;         // Optional.
 
   // Specifies that the CRX can be background-downloaded in some cases.
-  // The default for this value is |true| and the value can be overriden at
-  // the registration time. This is a temporary change until the issue
-  // crbug/340448 is resolved.
-  bool allow_background_download;
+  // The default for this value is |true|.
+  bool allows_background_download;
+
+  // Specifies that the update checks and pings associated with this component
+  // require confidentiality. The default for this value is |true|. As a side
+  // note, the confidentiality of the downloads is enforced by the server,
+  // which only returns secure download URLs in this case.
+  bool requires_network_encryption;
 };
 
 // All methods are safe to call only from the browser's main thread. Once an