On Wed, Feb 23, 2022 at 11:43 AM Yoav Weiss <[email protected]> wrote:
> LGTM1 > I agree this is close enough to HID.forget() to not require a full-fledged > TAG review, but maybe add a comment on the HID review letting them know > that you plan to apply the same pattern to USB? > > Done. I've added a comment at https://github.com/w3ctag/design-reviews/issues/703 On Wed, Feb 23, 2022 at 8:35 AM 'François Beaufort 🇫🇷' via blink-dev < > [email protected]> wrote: > >> Contact emails >> >> [email protected] >> >> [email protected] >> >> Explainer >> >> N/A >> >> Specification >> >> https://wicg.github.io/webusb/#ref-for-dom-usbdevice-forget >> >> https://github.com/WICG/webusb/pull/214 >> >> Summary >> >> Following the recent HIDDevice forget() addition[1] to the web platform, >> the USBDevice forget() method allows web developers to voluntarily revoke a >> permission to a USBDevice that was granted by a user. >> >> [1] https://groups.google.com/a/chromium.org/g/blink-dev/c/Fk-IJF63UWc >> >> Blink component >> >> Blink>USB >> <https://bugs.chromium.org/p/chromium/issues/list?q=component:Blink%3EUSB> >> >> Motivation >> >> Some sites may not be interested in retaining long-term permissions to >> access a USB device. For example, for an educational web application used >> on a shared computer with many devices, a large number of accumulated >> user-generated permissions creates a poor user experience. >> In addition to user agent mitigations to avoid this problem, such as >> defaulting to a session scoped permission on the first request or expiring >> infrequently used permissions, it should be possible for the site itself to >> clean up user-generated permissions it is no longer interested in retaining. >> >> // Request a USB device. >> >> const device = await navigator.usb.requestDevice({ filters: [] }); >> >> // Then later... revoke permission to the USB device. >> >> await device.forget(); >> >> We expect similar functionality to Web Bluetooth and the Serial API to be >> added. >> >> TAG review >> >> Following recent HIDDevice forget() approval [1], a new TAG review does >> not seem necessary. >> >> [1] https://github.com/w3ctag/design-reviews/issues/703 >> >> TAG review status >> >> N/A >> >> Risks >> Interoperability and Compatibility >> >> This small addition to the USBDevice object does not change the overall >> status of WebUSB interoperability or compatibility. >> >> Signals from other implementations (Gecko, WebKit): >> >> Gecko: No Signal [1] >> >> WebKit: No Signal [1] >> >> Web / Framework developers: Positive >> https://github.com/WICG/webusb/issues/107 >> >> [1] Both Gecko and WebKit are unlikely to object to this feature >> specifically, but object to the overall WebUSB API as a whole, hence it >> doesn't make sense to bug them with specific questions on this. >> >> Activation: >> >> This feature can't be polyfilled. It should be fairly trivial for >> developers to adopt this new feature. >> >> Debuggability >> >> No specific DevTools changes are required. This feature is treated like >> any other JS method. >> >> Note that exposing DevTools debugging support for device-access APIs >> (WebUSB included) is discussed at >> https://bugs.chromium.org/p/chromium/issues/detail?id=1142566. >> >> Is this feature fully tested by web-platform-tests >> <https://chromium.googlesource.com/chromium/src/+/master/docs/testing/web_platform_tests.md> >> ? >> >> No, because permission storage is implemented outside of Blink and so >> isn’t testable by web-platform-tests. Some tests that only verify the >> presence of interfaces and attributes will be available at >> https://wpt.fyi/results/webusb <https://wpt.fyi/results/webhid> though. >> I’ll also add manual tests. >> >> Requires code in //chrome? >> >> Yes, permission storage is implemented in //chrome. >> >> Tracking bug >> >> https://bugs.chromium.org/p/chromium/issues/detail?id=1299351 >> >> Estimated milestones >> >> 101 >> >> Link to entry on the Chrome Platform Status >> >> https://chromestatus.com/feature/5640127995969536 >> >> >> >> >> >> -- >> You received this message because you are subscribed to the Google Groups >> "blink-dev" group. >> To unsubscribe from this group and stop receiving emails from it, send an >> email to [email protected]. >> To view this discussion on the web visit >> https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAPpwU5KgNO-kK%3DS-d_X-FxL3AvKmAmEC99%2B67vzxZgRmv2Bt3A%40mail.gmail.com >> <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAPpwU5KgNO-kK%3DS-d_X-FxL3AvKmAmEC99%2B67vzxZgRmv2Bt3A%40mail.gmail.com?utm_medium=email&utm_source=footer> >> . >> > -- You received this message because you are subscribed to the Google Groups "blink-dev" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAPpwU5JM36ACKDGJgA0KLv-fHUvi7VRR8e5sepY%2BZRCLSBpBiw%40mail.gmail.com.
