Add feature to freeze user agent string

Adds a feature that will freeze the user-agent string, and modifies
the navigator.appVersion, navigator.userString, and navigator.platform
API's to return information matching the frozen string. This follows the
intended final state of https://github.com/WICG/ua-client-hints.

This change does not affect the user agent used by quic or inside of
webview.

Arbitrary values were chosen for the Chrome Version/OS/Architecture in
the frozen strings.

Change-Id: Ib8db4435219d04264fccae30f87bfdbe57f64a45
Bug: 955620
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1570754
Reviewed-by: Jochen Eisinger <[email protected]>
Reviewed-by: Mike West <[email protected]>
Reviewed-by: Josh Karlin <[email protected]>
Commit-Queue: John Delaney <[email protected]>
Cr-Commit-Position: refs/heads/master@{#655296}
diff --git a/third_party/blink/common/features.cc b/third_party/blink/common/features.cc
index 01a4ec7..f561f7d 100644
--- a/third_party/blink/common/features.cc
+++ b/third_party/blink/common/features.cc
@@ -48,6 +48,10 @@
 const base::Feature kFreezePurgeMemoryAllPagesFrozen{
     "FreezePurgeMemoryAllPagesFrozen", base::FEATURE_DISABLED_BY_DEFAULT};
 
+// Freezes the user-agent as part of https://github.com/WICG/ua-client-hints.
+const base::Feature kFreezeUserAgent{"FreezeUserAgent",
+                                     base::FEATURE_DISABLED_BY_DEFAULT};
+
 // Enables the experimental sweep-line algorithm for tracking "jank" from
 // layout objects changing their visual location between animation frames.
 const base::Feature kJankTrackingSweepLine{"JankTrackingSweepLine",