webhid: Add policies for granting device permissions
This CL adds enterprise policies to automatically grant access
to HID devices on specific origins.
Three new policies are added. The WebHidAllowAllDevicesForUrls policy
automatically grants access for any device to a list of origins
specified by the policy. The WebHidAllowDevicesForUrls policy grants
access for devices with vendor and product IDs matching the patterns
specified by the policy. The WebHidAllowDevicesWithHidUsagesForUrls
policy grants access for devices containing top-level collections with
HID usages matching the patterns specified by the policy.
Bug: 1049825
Change-Id: Ie2d7987e44bfda06b0c9120a13fc5a7efefcd4b6
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3235159
Reviewed-by: Reilly Grant <[email protected]>
Reviewed-by: Dominic Battré <[email protected]>
Reviewed-by: Pavol Marko <[email protected]>
Commit-Queue: Matt Reynolds <[email protected]>
Cr-Commit-Position: refs/heads/main@{#967146}
diff --git a/chrome/browser/prefs/browser_prefs.cc b/chrome/browser/prefs/browser_prefs.cc
index 4a2c18c..ff400ec1 100644
--- a/chrome/browser/prefs/browser_prefs.cc
+++ b/chrome/browser/prefs/browser_prefs.cc
@@ -237,6 +237,7 @@
#include "chrome/browser/cart/cart_service.h"
#include "chrome/browser/device_api/device_service_impl.h"
#include "chrome/browser/gcm/gcm_product_util.h"
+#include "chrome/browser/hid/hid_policy_allowed_devices.h"
#include "chrome/browser/intranet_redirect_detector.h"
#include "chrome/browser/media/unified_autoplay_config.h"
#include "chrome/browser/metrics/tab_stats/tab_stats_tracker.h"
@@ -994,6 +995,7 @@
secure_origin_allowlist::RegisterPrefs(registry);
#if !BUILDFLAG(IS_ANDROID)
SerialPolicyAllowedPorts::RegisterPrefs(registry);
+ HidPolicyAllowedDevices::RegisterLocalStatePrefs(registry);
#endif
sessions::SessionIdGenerator::RegisterPrefs(registry);
SSLConfigServiceManager::RegisterPrefs(registry);