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.