← Back to release summary

Expose ProgressEvent in service workers

Category
Miscellaneous
Type
Chromium catches up
Status
Proposed (Chrome Proposed)
Intent stage
None

WPT details: The exposure change is covered by extending the existing xhr/progressevent-constructor.any.js WPT to ServiceWorker, alongside Window, DedicatedWorker, and SharedWorker. The tests cover construction, default values, EventInit options, inherited Event attributes, numeric values, and value conversion. Local runs passed. Blink's default and virtual/stable service worker interface-listing tests additionally cover the exposed interface surface. The expanded WPT is included in the CL: https://chromium-review.googlesource.com/c/chromium/src/+/8425503

Summary

ProgressEvent is available in service workers, allowing developers to construct progress events with lengthComputable, loaded, and total attributes. This aligns service workers with other worker contexts and the XMLHttpRequest Standard.

Motivation

Blink exposes ProgressEvent in Window, DedicatedWorker, and SharedWorker contexts, but not in service workers. Exposing it in service workers closes this gap with the XMLHttpRequest Standard and allows code that constructs progress events to be reused across worker contexts. The change reuses the existing implementation without exposing XMLHttpRequest or adding automatic fetch progress events. Draft implementation: https://chromium-review.googlesource.com/c/chromium/src/+/8425503

Standards & signals

Ecosystem

View on chromestatus.com