PSA: WebHID in Extension Service Workers

64 views
Skip to first unread message

Tarek ElBahnasawy

unread,
Feb 16, 2023, 5:29:14 PMFeb 16
to blink-dev, Matt Reynolds, Jack Hsieh

Contact emails

mattre...@chromium.org, chen...@chromium.org


Explainer

webhid/WEBHID_IN_EXTENSION_SERVICE_WORKERS_EXPLAINER.md at main


Specification

WebHID API


Summary

Allows web developers to use WebHID API when responding to extension events by exposing WebHID API to Service Workers registered by browser extensions. This API will not yet be exposed to Service Workers registered by sites but the implementation experience gained by supporting the API for extensions will be valuable for such a future project.


Blink component

Blink>HID


Motivation

As Chrome Apps APIs will soon be deprecated, developers are encouraged to migrate to web apps or Chrome Extensions. For the Chrome Extension case, Manifest V3 deprecates the background page and requires developers to migrate to service workers. As a result, it is required to support WebHID in Extension Service Workers.


Risks

Interoperability and Compatibility

Gecko: No signal, we have asked for a position on WebHID in extensions (WebHID (Human Interface Device) API · Issue #459 · mozilla/standards-positions · GitHub).


WebKit: No signal, opposed to the Web Serial API in general.


Web developers: Extension developers previously used WebHID and other device APIs from the background page and have requested that it continues to be available after migrating to Manifest V3.


Other signals: Extension team approves of exposing these APIs to extension service workers. (https://docs.google.com/document/d/1s01BVkz-mb18p-gwXmzhM6DdioOh0JMzx_kCJzsLd7U/edit, internal-only)


WebView application risks

N/A. WebHID isn’t available on Android.


Debuggability

Devtools


Is this feature fully tested by web-platform-tests?

No, testing for Extensions is covered by Chrome browser tests but the WebHID API in general is fully tested by web-platform-tests.


Flag name

chrome://flags/#enable-web-hid-on-extension-service-worker


Requires code in //chrome?

Yes


Tracking bug

https://bugs.chromium.org/p/chromium/issues/detail?id=1303195


Launch bug

https://launch.corp.google.com/launch/4200800 (sorry, Googlers only)


Estimated milestones

112


Link to entry on the Chrome Platform Status

https://chromestatus.com/feature/6305751386554368


--
Tarek
Reply all
Reply to author
Forward
0 new messages