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.

Reply via email to