serial: Implement policy controls for port permissions
This change implements a pair of policies which allow administrators to
automatically grant sites access to certain serial ports without user
interaction.
The permission settings UI for the Serial API is not updated to display
permissions granted by policy in this patch. That will be handled in a
follow-up. The policy will remain experimental until that work is
complete.
Design doc: go/web-serial-policy
Bug: 1001242
Change-Id: I74279e0663e5ce3cdf113f3ca24cc9b38adc56ba
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2739773
Commit-Queue: Reilly Grant <[email protected]>
Reviewed-by: Julian Pastarmov <[email protected]>
Reviewed-by: Gabriel Charette <[email protected]>
Reviewed-by: Matt Reynolds <[email protected]>
Cr-Commit-Position: refs/heads/master@{#863029}
diff --git a/chrome/browser/prefs/browser_prefs.cc b/chrome/browser/prefs/browser_prefs.cc
index c03e8b8..ea09ada 100644
--- a/chrome/browser/prefs/browser_prefs.cc
+++ b/chrome/browser/prefs/browser_prefs.cc
@@ -235,6 +235,7 @@
#include "chrome/browser/search/promos/promo_service.h"
#include "chrome/browser/search/search_suggest/search_suggest_service.h"
#include "chrome/browser/search/task_module/task_module_service.h"
+#include "chrome/browser/serial/serial_policy_allowed_ports.h"
#include "chrome/browser/signin/signin_promo.h"
#include "chrome/browser/ui/startup/startup_browser_creator.h"
#include "chrome/browser/ui/webui/history/foreign_session_handler.h"
@@ -935,6 +936,9 @@
registry);
security_interstitials::InsecureFormBlockingPage::RegisterProfilePrefs(
registry);
+#if !defined(OS_ANDROID)
+ SerialPolicyAllowedPorts::RegisterProfilePrefs(registry);
+#endif
SessionStartupPref::RegisterProfilePrefs(registry);
SharingSyncPreference::RegisterProfilePrefs(registry);
site_engagement::SiteEngagementService::RegisterProfilePrefs(registry);