Intents: Save Supported Links InfoBar responses to prefs

With this change, dismissing the supported links infobar with "No
thanks", or repeatedly ignoring the infobar, will make it not appear for
that app any more. Responses are stored in prefs in the Browser's profile
(so, Lacros, if it's enabled).

Note that we're adding the pref management as a KeyedService so that in
a follow-up CL, the Service can observe AppRegistryCache and remove data
for uninstalled apps.

Bug: 1293173

Change-Id: Iba4ccd6bbce3e8f76fb5add82f207d9da0d4dcdd
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3583864
Reviewed-by: Dominick Ng <[email protected]>
Auto-Submit: Tim Sergeant <[email protected]>
Reviewed-by: Dominic Battré <[email protected]>
Commit-Queue: Dominic Battré <[email protected]>
Cr-Commit-Position: refs/heads/main@{#992691}
diff --git a/chrome/browser/prefs/browser_prefs.cc b/chrome/browser/prefs/browser_prefs.cc
index 5a8d658..c2f47de 100644
--- a/chrome/browser/prefs/browser_prefs.cc
+++ b/chrome/browser/prefs/browser_prefs.cc
@@ -266,6 +266,7 @@
 #endif  // BUILDFLAG(IS_ANDROID)
 
 #if BUILDFLAG(IS_CHROMEOS)
+#include "chrome/browser/apps/intent_helper/supported_links_infobar_prefs_service.h"
 #include "chrome/browser/chromeos/policy/dlp/dlp_rules_manager_impl.h"
 #include "chrome/browser/extensions/api/enterprise_platform_keys/enterprise_platform_keys_api.h"
 #include "chrome/browser/policy/networking/policy_cert_service.h"
@@ -1400,6 +1401,7 @@
 #endif  // BUILDFLAG(IS_ANDROID)
 
 #if BUILDFLAG(IS_CHROMEOS)
+  apps::SupportedLinksInfoBarPrefsService::RegisterProfilePrefs(registry);
   extensions::platform_keys::RegisterProfilePrefs(registry);
   certificate_manager::CertificatesHandler::RegisterProfilePrefs(registry);
   policy::PolicyCertService::RegisterProfilePrefs(registry);