If you're just extending WebHID to Android, you don't need LGTMs
<https://www.chromium.org/blink/launching-features/#:~:text=Changes%20which%20extend%20an%20already%20exposed%20API%20to%20additional%20platforms%20without%20introducing%20new%20platform%2Dspecific%20risks%20may%20also%20rely%20just%20on%20a%20PSA%2C%20along%20with%20updating%20the%20ChromeStatus%20entry%20to%20reflect%20the%20new%20platform%20support.> and
this can just be a PSA, but that assumes no meaningful changes between
Desktop and Android. Can you confirm?
~6 years ago you said
<https://groups.google.com/a/chromium.org/g/blink-dev/c/rL1csFYD1Ms/m/g7nxWoROCQAJ>
you had plans to convert internal tests to WPT exposing a test-only API?
(and Mike West encouraged additional WPT coverage). Did that not pan out?
Also,
https://wpt.fyi/results/webhid?label=experimental&label=master&aligned -
there are two "interface object length" failures. Are those known issues?
On 10/29/26 9:09 p.m., Chromestatus wrote:
*Contact emails*
[email protected], [email protected], [email protected]
*Explainer*
https://github.com/whatwg/hid/blob/main/EXPLAINER.md
*Specification*
https://hid.spec.whatwg.org
*Design docs*
https://web.dev/hid/
https://web.dev/hid-examples/
*Summary*
The WebHID API enables web applications to interact with Human
Interface Devices (HIDs) over USB and Bluetooth beyond standard system
input mappings (such as mice, keyboards, touchscreens, and standard
gamepads). Web applications can request user permission to connect to
HID devices, send and receive input, output, and feature reports, and
inspect report descriptors. WebHID shipped on desktop platforms
(Windows, macOS, Linux, and ChromeOS) in Chrome 89. This launch brings
the existing WebHID API to Chrome on Android in Chrome 158 (relying on
new OS support in Android 17 / API level 37 and later) with no changes
to the web-exposed API surface. Popular uses today include customizing
mechanical keyboards, keypads, and gaming mice, calibrating gamepads,
and integrating hardware headset call controls in call centers.
WebView is not supported, as it does not have a device chooser UI or
permissions UX affordances. This feature can be controlled by the
following enterprise policies: *
[DefaultWebHidGuardSetting](https://chromeenterprise.google/policies/#DefaultWebHidGuardSetting)*
[WebHidAllowAllDevicesForUrls](https://chromeenterprise.google/policies/#WebHidAllowAllDevicesForUrls)
*
[WebHidAllowDevicesForUrls](https://chromeenterprise.google/policies/#WebHidAllowDevicesForUrls)*
[WebHidAllowDevicesWithHidUsagesForUrls](https://chromeenterprise.google/policies/#WebHidAllowDevicesWithHidUsagesForUrls)
*
[WebHidAskForUrls](https://chromeenterprise.google/policies/#WebHidAskForUrls)*
[WebHidBlockedForUrls](https://chromeenterprise.google/policies/#WebHidBlockedForUrls)
*Blink component*
Blink>HID
<https://issues.chromium.org/issues?q=customfield1222907:%22Blink%3EHID%22>
*Web Feature ID*
webhid <https://webstatus.dev/features/webhid>
*Motivation*
/No information provided/
*Initial public proposal*
/No information provided/
*Search tags*
webhid </features#tags:webhid>, hid </features#tags:hid>
*TAG review*
https://github.com/w3ctag/design-reviews/issues/370
*TAG review status*
Issues addressed
*Origin Trial Name*
WebHID
*Goals for experimentation*
Enable testing on Android for websites that were previously designed
to work only with the WebHID implementation in desktop Chromium.
*Chromium Trial Name*
WebHID
*Link to origin trial feedback summary*
https://github.com/WICG/webhid/
*Origin Trial documentation link*
https://github.com/WICG/webhid/blob/master/EXPLAINER.md
*Risks*
*Interoperability and Compatibility*
No new interoperability or compatibility risks beyond the desktop
launch. Bringing WebHID to Android improves cross-platform
compatibility for existing WebHID web applications across desktop
Chrome and Chrome on Android.
/Gecko/:
Negative (https://github.com/mozilla/standards-positions/issues/459)
/WebKit/:
Oppose (https://github.com/WebKit/standards-positions/issues/510)
/Web developers/: Strongly positive (https://crbug.com/40628009) USB
headset vendors want to use WebHID to improve integration of call
control features in web-based softphone applications
(answer/reject/end call, microphone mute, redial, etc):
https://developer.jabra.com/site/global/sdks/web/documentation/index.gsp
Hobbyists are using WebHID to control niche devices like Razer Kraken
Kitty: https://twitter.com/sarahemm/status/1314006489510666241
/Other signals/:
*WebView application risks*
Does this intent deprecate or change behavior of existing APIs, such
that it has potentially high risk for Android WebView-based applications?
/No information provided/
*Debuggability*
n/a
*Will this feature be supported on all six Blink platforms (Windows,
Mac, Linux, ChromeOS, Android, and Android WebView)?*
No
*Is this feature fully tested by web-platform-tests
<https://chromium.googlesource.com/chromium/src/+/main/docs/testing/web_platform_tests.md>?*
No
External web-platform-tests (https://wpt.fyi/results/webhid) verify
IDL exposure and permissions policy, but do not exercise the full API
because WPT cannot simulate connected HID devices. Device enumeration,
report I/O, and permissions UI are covered by Chromium's internal web
tests (wpt_internal/hid/) as well as Chromium unit, browser, and
Android instrumentation tests.
*Flag name on about://flags*
/No information provided/
*Finch feature name*
/No information provided/
*Non-finch justification*
/No information provided/
*Rollout plan*
Will ship enabled for all users
*Requires code in //chrome?*
True
*Tracking bug*
http://crbug.com/40628009
*Launch bug*
https://launch.corp.google.com/4459414
*Estimated milestones*
Shipping on desktop 89
Origin trial desktop first 86
Origin trial desktop last 88
Shipping on Android 158
DevTrial on Android 154
*Anticipated spec changes*
Open questions about a feature may be a source of future web compat or
interop issues. Please list open issues (e.g. links to known github
issues in the project for the feature specification) whose resolution
may introduce web compat/interop risk (e.g., changing to naming or
structure of the API in a non-backward-compatible way).
/No information provided/
*Link to entry on the Chrome Platform Status*
https://chromestatus.com/feature/5172464636133376?gate=4921741292994560
*Links to previous Intent discussions*
Intent to Prototype:
https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAGhmGSMSvLAQs-bCNEAuugASEHyRApuG%2B0ob3r%2Bo53GOz%2Bh0fQ%40mail.gmail.com
Intent to Experiment:
https://groups.google.com/a/chromium.org/g/blink-dev/c/LoyzK8xTRME/m/WQLaGQ99CQAJ
Intent to Ship:
https://groups.google.com/a/chromium.org/g/blink-dev/c/rL1csFYD1Ms
This intent message was generated by Chrome Platform Status
<https://chromestatus.com>.
--
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 visit
https://groups.google.com/a/chromium.org/d/msgid/blink-dev/6ae3b5f3.8438a57e.1c08c0.014b.GAE%40google.com
<https://groups.google.com/a/chromium.org/d/msgid/blink-dev/6ae3b5f3.8438a57e.1c08c0.014b.GAE%40google.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 [email protected].
To view this discussion visit
https://groups.google.com/a/chromium.org/d/msgid/blink-dev/4c75f07e-5b13-423b-ba38-0fcc09b036f1%40chromium.org.