Contact emails

*fbeauf...@google.com <fbeauf...@google.com>reil...@google.com
<reil...@google.com>*Explainer


*https://github.com/WICG/webusb/pull/233#issue-1760530134
<https://github.com/WICG/webusb/pull/233#issue-1760530134>*Specification


*https://wicg.github.io/webusb/#dom-usbdevicerequestoptions-exclusionfilters
<https://wicg.github.io/webusb/#dom-usbdevicerequestoptions-exclusionfilters>https://github.com/WICG/webusb/pull/233
<https://github.com/WICG/webusb/pull/233>*Summary


*The "exclusionFilters" option in navigator.usb.requestDevice() allows web
developers to exclude some devices from the browser picker. It can be used
to exclude devices that match a broader filter but are unsupported.*Blink
component


*Blink>USB
<https://bugs.chromium.org/p/chromium/issues/list?q=component:Blink%3EUSB>*
Motivation




*Allowing web developers, through the "exclusionFilters" option, to exclude
from the browser picker some devices that are not supported by the site
will improve user experience. Without it, web developers let users pick a
device, then have to check using a custom JavaScript helper function and
alert the user after they’ve already selected a device, resulting in a poor
user experience.// Request access to a device from vendor ID 0xABCD.// The
device with product ID 0x1234 has been reported as unsupported.const device
= await navigator.usb.requestDevice({  filters: [{ vendorId: 0xABCD
}],  exclusionFilters: [{ vendorId: 0xABCD, productId: 0x1234 }],});This
feature is similar to Web Bluetooth and WebHID "exclusionFilters" options.
See https://chromestatus.com/features#exclusionFilters
<https://chromestatus.com/features#exclusionFilters>*TAG review


*This small addition to the WebUSB API doesn’t seem to qualify for a TAG
review. FYI We have filed one for Web Bluetooth "exclusionFilters" option
recently which was marked as satisfied at
https://github.com/w3ctag/design-reviews/issues/830
<https://github.com/w3ctag/design-reviews/issues/830>*TAG review status


*Not Applicable*Risks
Interoperability and Compatibility








*Older browsers will ignore exclusionFilters and all devices matching the
provided filter will be displayed (the current behavior).Signals from other
implementations (Gecko, WebKit): Gecko: No Signal [1]WebKit: No Signal
[1]Web / Framework developers: Positive
https://github.com/WICG/webusb/issues/232
<https://github.com/WICG/webusb/issues/232>[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#c20
<https://bugs.chromium.org/p/chromium/issues/detail?id=1142566#c20>.*Is
this feature fully tested by web-platform-tests
<https://chromium.googlesource.com/chromium/src/+/master/docs/testing/web_platform_tests.md>
?


*No, because browser picker implementation is implemented outside of Blink
and so isn’t testable fully by web-platform-tests. *Requires code in
//chrome?


*Yes, the browser picker implementation is part of the UI code in
//chrome.*Tracking
bug



*https://bugs.chromium.org/p/chromium/issues/detail?id=1455392
<https://bugs.chromium.org/p/chromium/issues/detail?id=1455392>Estimated
milestones117*Link to entry on the Chrome Platform Status

https://chromestatus.com/feature/5172269315260416

-- 
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 blink-dev+unsubscr...@chromium.org.
To view this discussion on the web visit 
https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAPpwU5%2BGr-iskzoo-kUhH2%2BFNJL6-OyG44m6jFW1jZXMw3%3DUHg%40mail.gmail.com.

Reply via email to