> If you're just extending WebHID to Android, you don't need LGTMs and this
can just be a PSA, but that assumes no meaningful changes between Desktop
and Android. Can you confirm?
Confirmed: there are no changes to the web-exposed API surface or the web
permission/security model between Desktop and Chrome on Android. As noted
in the summary, Android WebView remains unsupported. On Android versions
prior to Android 17 (API level 37), or if the user has not enabled
Android's system-level HID access toggle for Chrome, navigator.hid remains
exposed in secure contexts and getDevices() / requestDevice() resolve to an
empty list.
> ~ 6 years ago you said 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?
That migration hasn't happened yet - our functional tests in
wpt_internal/hid/ still rely on Chromium-internal MojoJS mocks because WPT
lacks cross-browser virtual HID device automation, though we hope to
revisit this in the future.
> Also,
https://wpt.fyi/results/webhid?label=experimental&label=master&aligned -
there are two "interface object length" failures. Are those known issues?
Yes - I just filed crbug.com/581011725 to track these WPT harness failures
(related to crbug.com/40188046).

On Fri, Oct 30, 2026 at 6:36 AM Mike Taylor <[email protected]> wrote:

> 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 <http:///features#tags:webhid>, hid <http:///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/CAF_F91Vbn6f6mJwP%2BV5t8Au6WLxG14RcHTEYdjVCfU2mNUdCzg%40mail.gmail.com.

Reply via email to