[WebLayer] Implement client hints in WebLayer

This implements basic client hints functionality. Still TODO after this
patch to make sure ContentSettingsAgentImpl is working as expected:
- Sync content settings to renderer
- Add ContentSettingsManager implementation for WebLayer

Bug: 1065537
Change-Id: I3a281c2a6a472ba9e1d79ff860d5bb94367cf888
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2145156
Commit-Queue: Clark DuVall <[email protected]>
Reviewed-by: John Abd-El-Malek <[email protected]>
Cr-Commit-Position: refs/heads/master@{#759401}
diff --git a/weblayer/BUILD.gn b/weblayer/BUILD.gn
index 2488463..2bc4ce8 100644
--- a/weblayer/BUILD.gn
+++ b/weblayer/BUILD.gn
@@ -110,6 +110,8 @@
     "browser/browser_main_parts_impl.h",
     "browser/browser_process.cc",
     "browser/browser_process.h",
+    "browser/client_hints_factory.cc",
+    "browser/client_hints_factory.h",
     "browser/content_browser_client_impl.cc",
     "browser/content_browser_client_impl.h",
     "browser/controls_visibility_reason.h",
@@ -235,7 +237,9 @@
     "//components/base32",
     "//components/captive_portal/core:buildflags",
     "//components/cdm/renderer",
+    "//components/client_hints/browser",
     "//components/content_settings/core/browser",
+    "//components/content_settings/renderer",
     "//components/crash/content/browser",
     "//components/crash/core/app",
     "//components/crash/core/common",
@@ -273,6 +277,7 @@
     "//content/public/browser",
     "//content/public/child",
     "//content/public/common",
+    "//content/public/common:client_hints_mojom",
     "//content/public/common:service_names",
     "//content/public/renderer",
     "//content/public/utility",