Commit 883f0ce5 authored by Matt Reynolds's avatar Matt Reynolds Committed by Commit Bot

[webhid] Enable WebHID origin trial

This CL sets up the origin trial feature name "WebHID" and
modifies WebHID permissions UI in preparation for an
origin trial.

* WebHID settings is visible by default in Site Settings
* Site settings includes granted HID devices

Intent to Experiment thread:

https://groups.google.com/a/chromium.org/g/blink-dev/c/LoyzK8xTRME

BUG=1038966

Change-Id: I16f52e3c8d112f1f173c62a5a9fe073106e1560e
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1985174Reviewed-by: default avatardpapad <dpapad@chromium.org>
Reviewed-by: default avatarJochen Eisinger <jochen@chromium.org>
Reviewed-by: default avatarTheodore Olsauskas-Warren <sauski@google.com>
Commit-Queue: Matt Reynolds <mattreynolds@chromium.org>
Cr-Commit-Position: refs/heads/master@{#782095}
parent aa5c6378
......@@ -605,21 +605,19 @@
</settings-subpage>
</template>
</template>
<template is="dom-if" if="[[enableExperimentalWebPlatformFeatures_]]">
<template is="dom-if" route-path="/content/hidDevices" no-search>
<settings-subpage page-title="$i18n{siteSettingsHidDevices}">
<category-default-setting
toggle-off-label="$i18n{siteSettingsHidDevicesBlock}"
toggle-on-label=
"$i18n{siteSettingsHidDevicesAskRecommended}"
category="[[ContentSettingsTypes.HID_DEVICES]]">
</category-default-setting>
<chooser-exception-list
category="[[ContentSettingsTypes.HID_DEVICES]]"
chooser-type="[[ChooserType.HID_DEVICES]]">
</chooser-exception-list>
</settings-subpage>
</template>
<template is="dom-if" route-path="/content/hidDevices" no-search>
<settings-subpage page-title="$i18n{siteSettingsHidDevices}">
<category-default-setting
toggle-off-label="$i18n{siteSettingsHidDevicesBlock}"
toggle-on-label=
"$i18n{siteSettingsHidDevicesAskRecommended}"
category="[[ContentSettingsTypes.HID_DEVICES]]">
</category-default-setting>
<chooser-exception-list
category="[[ContentSettingsTypes.HID_DEVICES]]"
chooser-type="[[ChooserType.HID_DEVICES]]">
</chooser-exception-list>
</settings-subpage>
</template>
<template is="dom-if" route-path="/content/siteDetails" no-search>
<settings-subpage page-title="[[pageTitle]]">
......
......@@ -70,6 +70,7 @@ function addPrivacyChildRoutes(r) {
r.SITE_SETTINGS.createChild('unsandboxedPlugins');
r.SITE_SETTINGS_MIDI_DEVICES = r.SITE_SETTINGS.createChild('midiDevices');
r.SITE_SETTINGS_USB_DEVICES = r.SITE_SETTINGS.createChild('usbDevices');
r.SITE_SETTINGS_HID_DEVICES = r.SITE_SETTINGS.createChild('hidDevices');
r.SITE_SETTINGS_SERIAL_PORTS = r.SITE_SETTINGS.createChild('serialPorts');
if (loadTimeData.getBoolean('enableWebBluetoothNewPermissionsBackend')) {
r.SITE_SETTINGS_BLUETOOTH_DEVICES =
......@@ -87,7 +88,6 @@ function addPrivacyChildRoutes(r) {
if (loadTimeData.getBoolean('enableExperimentalWebPlatformFeatures')) {
r.SITE_SETTINGS_BLUETOOTH_SCANNING =
r.SITE_SETTINGS.createChild('bluetoothScanning');
r.SITE_SETTINGS_HID_DEVICES = r.SITE_SETTINGS.createChild('hidDevices');
r.SITE_SETTINGS_WINDOW_PLACEMENT =
r.SITE_SETTINGS.createChild('windowPlacement');
}
......
......@@ -203,13 +203,11 @@
label="$i18n{siteSettingsNativeFileSystemWrite}">
</site-details-permission>
</template>
<template is="dom-if" if="[[enableExperimentalWebPlatformFeatures_]]">
<site-details-permission
category="[[ContentSettingsTypes.HID_DEVICES]]"
icon="settings:hid-device" id="hidDevices"
label="$i18n{siteSettingsHidDevices}">
</site-details-permission>
</template>
<site-details-permission
category="[[ContentSettingsTypes.HID_DEVICES]]"
icon="settings:hid-device" id="hidDevices"
label="$i18n{siteSettingsHidDevices}">
</site-details-permission>
<site-details-permission
category="{{ContentSettingsTypes.UNSANDBOXED_PLUGINS}}"
icon="cr:extension" id="unsandboxedPlugins"
......
......@@ -227,9 +227,6 @@ const SiteSettingsBehaviorImpl = {
addOrRemoveSettingWithFlag(
ContentSettingsTypes.MIXEDSCRIPT,
'enableInsecureContentContentSetting');
addOrRemoveSettingWithFlag(
ContentSettingsTypes.HID_DEVICES,
'enableExperimentalWebPlatformFeatures');
addOrRemoveSettingWithFlag(
ContentSettingsTypes.BLUETOOTH_DEVICES,
'enableWebBluetoothNewPermissionsBackend');
......
......@@ -142,8 +142,6 @@ function getCategoryItemMap() {
icon: 'settings:hid-device',
enabledLabel: 'siteSettingsHidDevicesAsk',
disabledLabel: 'siteSettingsHidDevicesBlock',
shouldShow: () =>
loadTimeData.getBoolean('enableExperimentalWebPlatformFeatures'),
},
{
route: routes.SITE_SETTINGS_IMAGES,
......
......@@ -210,8 +210,6 @@ suite('SiteDetails', function() {
optionalSiteDetailsContentSettingsTypes[ContentSettingsTypes
.BLUETOOTH_SCANNING] =
'enableExperimentalWebPlatformFeatures';
optionalSiteDetailsContentSettingsTypes[ContentSettingsTypes.HID_DEVICES] =
'enableExperimentalWebPlatformFeatures';
optionalSiteDetailsContentSettingsTypes[ContentSettingsTypes
.WINDOW_PLACEMENT] =
'enableExperimentalWebPlatformFeatures';
......@@ -231,7 +229,7 @@ suite('SiteDetails', function() {
const controlledSettingsCount = /** @type{string : int } */ ({});
controlledSettingsCount['enableExperimentalWebPlatformFeatures'] = 3;
controlledSettingsCount['enableExperimentalWebPlatformFeatures'] = 2;
controlledSettingsCount['enableInsecureContentContentSetting'] = 1;
controlledSettingsCount['enableNativeFileSystemWriteContentSetting'] = 1;
controlledSettingsCount['enablePaymentHandlerContentSetting'] = 1;
......
......@@ -1967,6 +1967,7 @@
},
{
name: "WebHID",
origin_trial_feature_name: "WebHID",
status: "experimental",
},
{
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment