LGTM1, but please let the TAG know about this change w/ an FYI. On Tuesday, March 28, 2023 at 11:00:24 PM UTC-7 [email protected] wrote:
> Contact emails > > [email protected] > > [email protected] > > Explainer > > https://github.com/WebBluetoothCG/web-bluetooth/issues/599#issue-1638254435 > > Specification > > > https://webbluetoothcg.github.io/web-bluetooth/#ref-for-dom-requestdeviceoptions-exclusionfilters > > https://github.com/WebBluetoothCG/web-bluetooth/pull/600 > > Summary > > The "exclusionFilters" option in navigator.bluetooth.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>Bluetooth > <https://bugs.chromium.org/p/chromium/issues/list?q=component:Blink%3EBluetooth> > > 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 bluetooth device whose name starts with "Created > by". > > // The device named "Created by Francois" has been reported as unsupported. > > const device = await navigator.bluetooth.requestDevice({ > > filters: [{ namePrefix: "Created by" }], > > exclusionFilters: [{ name: "Created by Francois" }], > > }); > > TAG review > > This small addition to the Web Bluetooth API doesn’t seem to qualify for a > TAG review. I’m happy to file one if desired though. > > 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://stackoverflow.com/questions/75815353/web-bluetooth-want-to-exclude-certain-devices-when-using-navigator-bluetooth-re > > [1] Both Gecko and WebKit are unlikely to object to this feature > specifically, but object to the overall Web Bluetooth 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 (Web > Bluetooth included) is discussed at > 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? > > No. > > Tracking bug > > https://bugs.chromium.org/p/chromium/issues/detail?id=1427977 > > Estimated milestones > > 114 > > Link to entry on the Chrome Platform Status > > https://chromestatus.com/feature/6208474255458304 > > > > -- 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/c98c73d8-edb8-4b0f-815e-1fdb1eaef0fdn%40chromium.org.
