LGTM3 On Wednesday, October 7, 2026 at 11:24:17 AM UTC-4 Chris Harrelson wrote:
> LGTM2 > > On Wed, Oct 7, 2026 at 8:22 AM Alex Russell <[email protected]> > wrote: > >> LGTM1; thanks for implementing this! >> >> On Thursday, October 1, 2026 at 3:11:20 PM UTC+2 Chromestatus wrote: >> >>> *Contact emails* >>> [email protected] >>> >>> *Specification* >>> https://xhr.spec.whatwg.org/#interface-progressevent >>> >>> *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. >>> >>> *Blink component* >>> Blink >>> <https://issues.chromium.org/issues?q=customfield1222907:%22Blink%22> >>> >>> *Web Feature ID* >>> xhr <https://webstatus.dev/features/xhr> >>> >>> *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 >>> >>> *Initial public proposal* >>> *No information provided* >>> >>> *TAG review* >>> Not applicable. This change implements an existing standardized exposure >>> requirement already supported by Gecko and WebKit, as documented below. No >>> new API design is introduced. >>> >>> *TAG review status* >>> Not applicable >>> >>> *Goals for experimentation* >>> None >>> >>> *Risks* >>> >>> >>> *Interoperability and Compatibility* >>> This change aligns service worker exposure of ProgressEvent with the >>> XMLHttpRequest Standard and reuses the existing implementation. >>> Compatibility risk is expected to be low. Adding the global may change >>> feature-detection results or interact with application-defined >>> ProgressEvent polyfills in service workers. >>> >>> *Gecko*: Shipped/Shipping ( >>> https://hg.mozilla.org/releases/mozilla-release/raw-file/FIREFOX_140_0_RELEASE/dom/webidl/ProgressEvent.webidl) >>> Verified >>> in Firefox 140 release sources: ProgressEvent is exposed to Window and >>> Worker, and ServiceWorkerGlobalScope includes the Worker global name. This >>> establishes service worker exposure in a released version; it does not >>> identify the first supported version. ServiceWorker global definition: >>> https://hg.mozilla.org/releases/mozilla-release/raw-file/FIREFOX_140_0_RELEASE/dom/webidl/ServiceWorkerGlobalScope.webidl >>> >>> *WebKit*: Shipped/Shipping ( >>> https://github.com/apple-oss-distributions/WebKit/blob/WebKit-7614.1.25.0.30/Source/WebCore/dom/ProgressEvent.idl) >>> Verified >>> in Apple's published WebKit-7614.1.25.0.30 source distribution: >>> ProgressEvent is exposed to Window and Worker, and ServiceWorkerGlobalScope >>> includes the Worker global name. This is release-source evidence, not a >>> claim about the first supported Safari version. ServiceWorker global >>> definition: >>> https://github.com/apple-oss-distributions/WebKit/blob/WebKit-7614.1.25.0.30/Source/WebCore/workers/service/ServiceWorkerGlobalScope.idl >>> >>> *Web developers*: No signals >>> >>> *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? >>> Low risk is expected. This change adds the existing ProgressEvent >>> interface to service workers without removing existing APIs or changing its >>> behavior in other contexts. Code that detects or defines a ProgressEvent >>> global in service workers may behave differently. The change is guarded by >>> the ProgressEventInServiceWorker base::Feature, which provides a kill >>> switch. >>> >>> >>> *Debuggability* >>> Manually verified on macOS using the patched Content Shell and its >>> DevTools frontend attached to a service worker. Confirmed the >>> ServiceWorkerGlobalScope context, successful ProgressEvent construction, >>> expandable object inspection, and the expected lengthComputable, loaded, >>> total, and isTrusted values. Autocomplete works for ProgressEvent and its >>> attributes. No DevTools crash or disconnect occurred during these checks. >>> No dedicated DevTools UI changes are needed for this exposure change. >>> Chrome DevTools for agents was not separately tested. >>> >>> *Will this feature be supported on all six Blink platforms (Windows, >>> Mac, Linux, ChromeOS, Android, and Android WebView)?* >>> Yes >>> The change uses platform-independent Blink bindings and the existing >>> ProgressEvent implementation, with no platform-specific restrictions. >>> Support is intended for Windows, macOS, Linux, ChromeOS, Android, and >>> Android WebView in service worker contexts >>> >>> *Is this feature fully tested by web-platform-tests >>> <https://chromium.googlesource.com/chromium/src/+/main/docs/testing/web_platform_tests.md>?* >>> Yes >>> 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 >>> >>> *Flag name on about://flags* >>> *No information provided* >>> >>> *Finch feature name* >>> ProgressEventInServiceWorker >>> >>> *Rollout plan* >>> Will ship enabled for all users >>> >>> *Requires code in //chrome?* >>> False >>> >>> *Tracking bug* >>> https://issues.chromium.org/issues/332663431 >>> >>> *Measurement* >>> No dedicated UseCounter is added by this change. Service-worker-specific >>> adoption is not currently measured. >>> >>> *Availability expectation* >>> Expected to be available in service workers on Blink platforms that >>> support service workers. >>> >>> *Adoption expectation* >>> Expected to benefit applications and libraries that construct progress >>> events in service workers or share such code across worker contexts. No >>> quantitative adoption estimate is available. >>> >>> *Adoption plan* >>> Communicate the change through the Blink intent process, upstream the >>> expanded Web Platform Tests, and update browser compatibility documentation >>> to reflect service worker support. >>> >>> *Non-OSS dependencies* >>> >>> Does the feature depend on any code or APIs outside the Chromium open >>> source repository and its open-source dependencies to function? >>> None. This change reuses Blink's existing ProgressEvent implementation >>> and introduces no additional dependencies. >>> >>> *Estimated milestones* >>> Shipping on desktop 157 >>> Shipping on Android 157 >>> Shipping on WebView 157 >>> >>> *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). >>> None anticipated for this change. The XMLHttpRequest Standard already >>> exposes ProgressEvent to Window and Worker. This change implements the >>> existing exposure requirement in service workers. >>> >>> *Link to entry on the Chrome Platform Status* >>> https://chromestatus.com/feature/5069584943153152?gate=6152298232414208 >>> >>> *Links to previous Intent discussions* >>> Intent to Prototype: >>> https://groups.google.com/a/chromium.org/d/msgid/blink-dev/6ab51ccd.c518491a.183cfe.046f.GAE%40google.com >>> >>> >>> 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/7853862f-2d7c-46fb-890d-1d2bb7d5b462n%40chromium.org >> >> <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/7853862f-2d7c-46fb-890d-1d2bb7d5b462n%40chromium.org?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/d91f813c-31b8-4780-9713-5e478ebce330n%40chromium.org.
