LGTM2

About web tests, is there no method that behaves differently in an observable way when the permission isn't given?

/Daniel

On 2022-02-09 10:27, Yoav Weiss wrote:
LGTM1. Seems like a small and useful addition.

On Tuesday, February 8, 2022 at 9:42:23 AM UTC+1 François Beaufort wrote:


            Contact emails

    [email protected] <mailto:[email protected]>

    [email protected] <mailto:[email protected]>


            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/#forget-method
    <https://wicg.github.io/webhid/#forget-method>

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


            Summary

    The HIDDevice forget() method allows web developers to voluntarily
    revoke a permission to a HIDDevice that was granted by a user.


            Blink component

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


            Motivation

    Some sites may not be interested in retaining long-term
    permissions to access a HID device. For example, for an
    educational web application used on a shared computer with many
    devices, a large number of accumulated user-generated permissions
    creates a poor user experience.In addition to user agent
    mitigations to avoid this problem, such as defaulting to a session
    scoped permission on the first request or expiring infrequently
    used permissions, it should be possible for the site itself to
    clean up user-generated permissions it is no longer interested in
    retaining.


    // Request a HID device.

    const[device] = awaitnavigator.hid.requestDevice({ filters: [] });


    // Then later... revoke permission to the HID device.

    awaitdevice.forget();

    We expect similar functionality to Web Bluetooth, WebUSB, and the
    Serial API to be added.


            TAG review

    https://github.com/w3ctag/design-reviews/issues/703
    <https://github.com/w3ctag/design-reviews/issues/703>


            TAG review status

    Pending


            Risks


            Interoperability and Compatibility


    This small addition to the HIDDevice object 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/39
    <https://github.com/WICG/webhid/issues/39>

    Other signals: Google Meet folks have tried it and strongly
    support this addition.


    [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 permission storage is implemented outside of Blink and
    so isn’t testable by web-platform-tests. Some tests that only
    verify the presence of interfaces and attributes will be available
    at https://wpt.fyi/results/webhid
    <https://wpt.fyi/results/webhid>though.


            Requires code in //chrome?

    Yes, permission storage is implemented in //chrome.


            Tracking bug

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


    Estimated milestones

    100


            Link to entry on the Chrome Platform Status

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


    Links to previous Intent discussions

    Intent to prototype:
    
https://groups.google.com/a/chromium.org/g/blink-dev/c/c2vCYr-0dqk/m/3nSeViRLCgAJ
    
<https://groups.google.com/a/chromium.org/g/blink-dev/c/c2vCYr-0dqk/m/3nSeViRLCgAJ>

--
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/bbd12314-8ade-4a84-a31c-dea7964344dcn%40chromium.org <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/bbd12314-8ade-4a84-a31c-dea7964344dcn%40chromium.org?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 [email protected].
To view this discussion on the web visit 
https://groups.google.com/a/chromium.org/d/msgid/blink-dev/810d856e-4ff3-b2d2-c3fd-598d08bdfb5b%40gmail.com.

Reply via email to