LGTM2

/Daniel

On 2022-03-28 16:39, 'François Beaufort 🇫🇷' via blink-dev wrote:


On Sat, Mar 26, 2022 at 6:37 PM Mike Taylor <miketa...@chromium.org> wrote:

    LGTM1

    On 3/24/22 11:51 PM, 'François Beaufort 🇫🇷' via blink-dev wrote:


            Contact emails

    fbeauf...@google.com <mailto:fbeauf...@google.com>

    mattreyno...@google.com <mailto:mattreyno...@google.com>


            Explainer

    https://github.com/WICG/webhid/blob/main/EXPLAINER.md
    <https://github.com/WICG/webhid/blob/main/EXPLAINER.md>


            Specification

    https://wicg.github.io/webhid/#dom-hiddevicerequestoptions-exclusionfilters
    
<https://wicg.github.io/webhid/#dom-hiddevicerequestoptions-exclusionfilters>

    https://github.com/WICG/webhid/pull/93
    <https://github.com/WICG/webhid/pull/93>


            Summary

    The "exclusionFilters" option in navigator.hid.requestDevice()
    allows web developers to exclude some devices from the browser
    picker. It can be used to exclude devices that are known to be
    malfunctioning.


            Blink component

    Blink>HID
    <https://bugs.chromium.org/p/chromium/issues/list?q=component:Blink%3EHID>


            Motivation

    Allowing web developers, through the "exclusionFilters" option,
    to exclude directly from the browser picker some devices that are
    known to not function in a way that suits the site will improve
    user experience. Without it, web developers let users pick a
    device, then have to check against a custom JavaScript helper
    function (like deviceIsBlocklisted()) whether device is known to
    be malfunctioning and if that’s the case alert users the device
    they’ve picked is not suitable, resulting in a poor user experience.


    // Request access to a device with vendor ID 0xABCD. The device
    must also have a

    // collection with usage page Consumer (0x000C) and usage ID
    Consumer Control

    // (0x0001). The device with product ID 0x1234 has been reported
    as malfunctioning.

    constdevices = awaitnavigator.hid.requestDevice({

    filters: [{ vendorId: 0xabcd, usagePage: 0x000c, usage: 0x0001}],

    exclusionFilters: [{ vendorId: 0xabcd, productId: 0x1234}],

    });


            TAG review

    This small addition to the WebHID 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


    This small addition to the HIDDeviceRequestOptions dictionary
    does not change the overall status of WebHID 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/webhid/issues/92
    <https://github.com/WICG/webhid/issues/92>

      Other signals: Google Meet folks have asked for this addition
    and strongly support this.


    [1] Both Gecko and WebKit are unlikely to object to this feature
    specifically, but object to the overall WebHID 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 (WebHID included) is discussed at
    https://bugs.chromium.org/p/chromium/issues/detail?id=1142566
    <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 browser picker implementation is implemented outside
    of Blink and so isn’t testable by web-platform-tests.

    Manual tests should be possible, right?


The problem with manual tests in that specific case is that we don't know which HID devices would be presented in the browser picker.
They depend on the tester machine and/or what testers own.

See https://groups.google.com/a/chromium.org/g/blink-dev/c/rL1csFYD1Ms/m/g7nxWoROCQAJ for more information on WebHID web platform tests.


            Requires code in //chrome?

    Yes, browser picker implementation lives in //chrome.


            Tracking bug

    https://bugs.chromium.org/p/chromium/issues/detail?id=1301934
    <https://bugs.chromium.org/p/chromium/issues/detail?id=1301934>


    Estimated milestones

    102


            Link to entry on the Chrome Platform Status

    https://chromestatus.com/feature/5194022623641600
    <https://chromestatus.com/feature/5194022623641600>



-- 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/CAPpwU5JYJCYBgmg9Kr6G%2Bt7yH5iU_X_3QJhO-_8rk%3DjYW%2BLsYQ%40mail.gmail.com
    
<https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAPpwU5JYJCYBgmg9Kr6G%2Bt7yH5iU_X_3QJhO-_8rk%3DjYW%2BLsYQ%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 blink-dev+unsubscr...@chromium.org. To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAPpwU5K3XFR6RkUF6amfp5Q4NQiSB2tPHyj8WURDPRqWPUHnpw%40mail.gmail.com <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAPpwU5K3XFR6RkUF6amfp5Q4NQiSB2tPHyj8WURDPRqWPUHnpw%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 blink-dev+unsubscr...@chromium.org.
To view this discussion on the web visit 
https://groups.google.com/a/chromium.org/d/msgid/blink-dev/7cb15743-e192-9b9e-61fc-cc15cbc43e99%40gmail.com.

Reply via email to