Introduce scaffolding for glic background mode manager and configuration

Adds the glic background mode manager to global features. It owns the
configuration service which listens to pref changes and notifies the
manager.

Low-Coverage-Reason: TRIVIAL_CHANGE global_features.cc changes are trivial
Fixed: 378141058
Change-Id: I35403eb3c3f1828c9398682e45275ecd6904abdf
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6023661
Reviewed-by: Nico Weber <[email protected]>
Code-Coverage: [email protected] <[email protected]>
Reviewed-by: Eshwar Stalin <[email protected]>
Commit-Queue: Charles Meng <[email protected]>
Auto-Submit: Charles Meng <[email protected]>
Cr-Commit-Position: refs/heads/main@{#1386399}
diff --git a/chrome/browser/prefs/browser_prefs.cc b/chrome/browser/prefs/browser_prefs.cc
index 35f1c8d..00a6e02e 100644
--- a/chrome/browser/prefs/browser_prefs.cc
+++ b/chrome/browser/prefs/browser_prefs.cc
@@ -545,6 +545,10 @@
 #include "components/enterprise/data_controls/core/browser/prefs.h"
 #endif
 
+#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC)
+#include "chrome/browser/glic/launcher/glic_configuration.h"
+#endif
+
 namespace {
 
 // Please keep the list of deprecated prefs in chronological order. i.e. Add to
@@ -1968,6 +1972,10 @@
 
   registry->RegisterIntegerPref(prefs::kChromeDataRegionSetting, 0);
 
+#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC)
+  GlicConfiguration::RegisterPrefs(registry);
+#endif
+
   // This is intentionally last.
   RegisterLocalStatePrefsForMigration(registry);
 }