I've filed https://github.com/w3ctag/design-reviews/issues/830
On Wed, Mar 29, 2023 at 5:36 PM Alex Russell <[email protected]> wrote: > 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/CAPpwU5Jy-kHVWT2qV_S3O4ZWxhbDwi%2B1r3YoFByZvDV0R7jOBA%40mail.gmail.com.
