standards-positions icon indicating copy to clipboard operation
standards-positions copied to clipboard

WebUSB on extension service workers

Open nondebug opened this issue 3 years ago • 5 comments

Request for position on an emerging ~~web specification~~ extension behavior

Note that this RFP is specifically about exposing WebUSB API to extensions, not the web in general. See here for the RFP on the web specification.

  • WebKittens who can provide input: @othermaciej

Information about the spec

  • Chrome Platform Status: https://chromestatus.com/feature/5200265459269632
  • Explainer: https://github.com/nondebug/webusb/blob/service-worker-explainer/extension-service-worker-explainer.md

Anything else we need to know

Manifest V3 deprecates the extension background page, which MV2 extensions were able to use to access powerful APIs like WebUSB. MV3 extensions are expected to use service workers for background processing. In order to provide a migration path for extensions that use WebUSB, Chromium plans to expose WebUSB (and other device APIs) to extension service workers.

Even though Apple is not considering implementing this API, we are still interested in any feedback WebKit can provide on our proposal to integrate with extension service workers.

nondebug avatar Oct 11 '22 02:10 nondebug

Tagging @johnwilander for security/privacy considerations.

othermaciej avatar Oct 12 '22 16:10 othermaciej

Adding all the same concerns tags from https://github.com/WebKit/standards-positions/issues/68 , but these concerns may be lessened for something that applies to extensions only.

othermaciej avatar Oct 12 '22 16:10 othermaciej

Tagging @davidjohnson91 and @xeenon for extensions aspects of this proposal.

othermaciej avatar Oct 12 '22 16:10 othermaciej

Adding concerns: venue because this document appears to only exist in a personal repo.

othermaciej avatar Oct 12 '22 16:10 othermaciej

We likely would not want to do it just for extensions, without WebKit supporting it in general for the web.

Extensions can already use native messaging to implement feature like this with our native APIs.

xeenon avatar Oct 12 '22 16:10 xeenon