LGTM1

On Tue, Mar 31, 2026 at 8:09 AM Chromestatus <
[email protected]> wrote:

> *Contact emails*
> [email protected], [email protected]
>
> *Explainer*
>
> https://gist.github.com/domenic/c5bd38339f33b49120ae11b3b4af5b9b#file-1-explainer-md
>
> *Specification*
>
> https://github.com/whatwg/html/commit/9c009049e4fa9dba638ef68ca502b781082bbb68


https://github.com/whatwg/html/pull/11600 is a slightly more convenient
link.


>
>
> *Summary*
> This update adds a new option, `extendedLifetime: true`, to the
> `SharedWorker` constructor. This requests that the shared worker be kept
> alive even after all current clients have unloaded. The primary use case is
> to allow pages to perform asynchronous work that requires JavaScript after
> a page unloads, without needing to rely on a service worker.
>
> *Blink component*
> Blink>Workers
> <https://issues.chromium.org/issues?q=customfield1222907:%22Blink%3EWorkers%22>
>
> *Web Feature ID*
> shared-workers <https://webstatus.dev/features/shared-workers>
>
> *Motivation*
> Many sites want to perform some work during document unloading. This
> usually includes writing to storage, or sending information to severs.
> Currently, if this work is done asynchronously (e.g., writing to IndexedDB
> instead of localStorage, or using CompressionStream to compress the body
> before sending a fetch()) the only way to do this is to use a service
> worker. However, requiring a service worker for this simple case of
> work-after-unload is heavyweight: the disk space, memory consumption, and
> developer experience of managing the service worker registration and
> lifecycle makes this hard to deploy. By using shared workers, all of these
> downsides are avoided.
>
> *Initial public proposal*
> https://github.com/whatwg/html/issues/10997
>
> *TAG review*
> https://github.com/w3ctag/design-reviews/issues/1089
>
> *TAG review status*
> Pending
>
> *Origin Trial Name*
> Extended lifetime shared workers
>
> *Goals for experimentation*
> None
>
> *Chromium Trial Name*
> SharedWorkerExtendedLifetime
>
> *Origin Trial documentation link*
>
> https://gist.github.com/domenic/c5bd38339f33b49120ae11b3b4af5b9b#file-1-explainer-md
>
> *WebFeature UseCounter name*
> kSharedWorkerExtendedLifetimeFeatureEnabled
>
> *Risks*
>
>
> *Interoperability and Compatibility*
> We intend to specify that the lifetime timeout for these shared workers be
> extended in the same way as service workers. Because the exact timeout of
> service workers is left implementation-defined, it's possible that code
> using this new feature could be non-interoperable. However, this has so far
> not proved to be a major problem in practice for service workers.
>
> *Gecko*: Positive (
> https://github.com/mozilla/standards-positions/issues/1227) Some
> unofficial tentative positive signals and engagement in the proposal issue.
>
> *WebKit*: No signal (
> https://github.com/WebKit/standards-positions/issues/492) Some unofficial
> tentative negative signals in the proposal issue.
>

It'd be good to update that thread with OT results, as discussed.


>
> *Web developers*: Positive The problem of wanting to perform asynchronous
> work during unload is well-known, with the service worker workaround
> currently deployed, including by Google properties.
>
> *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*
> The chrome://inspect/#workers page indicates when a SharedWorker is using
> the extendedLifetime option.
>
> *Will this feature be supported on all six Blink platforms (Windows, Mac,
> Linux, ChromeOS, Android, and Android WebView)?*
> No
> Shared workers are not yet supported on Android and Android WebView.
> However, we are concurrently working on enabling them there, and when we
> do, this feature will also be supported.
>
> *Is this feature fully tested by web-platform-tests
> <https://chromium.googlesource.com/chromium/src/+/main/docs/testing/web_platform_tests.md>?*
> Yes
>
> https://wpt.fyi/results/workers/tentative/SharedWorker-extendedLifetime.html
>
> *Flag name on about://flags*
> *No information provided*
>
> *Finch feature name*
> SharedWorkerExtendedLifetime
>
> *Rollout plan*
> Will ship enabled for all users
>
> *Requires code in //chrome?*
> False
>
> *Tracking bug*
> https://issues.chromium.org/issues/400473072
>
> *Estimated milestones*
> Shipping on desktop 148
> Origin trial desktop first 139
> Origin trial desktop last 142
> Origin trial extension 1 end milestone 145
> Origin trial extension 2 end milestone 148
> Shipping on Android 148
> Shipping on WebView 148
>
> *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).
> We are currently discussing some details in preparation for specification.
> The exact nature of how the lifetime extension works with regard to
> non-window clients, particularly, has only recently reached a tentative
> conclusion.
>
> *Link to entry on the Chrome Platform Status*
> https://chromestatus.com/feature/5138641357373440?gate=4686145547665408
>
> *Links to previous Intent discussions*
> Intent to Experiment:
> https://groups.google.com/a/chromium.org/d/msgid/blink-dev/6862683f.170a0220.16d1bf.0122.GAE%40google.com
> Intent to Extend Experiment 1:
> https://groups.google.com/a/chromium.org/d/msgid/blink-dev/68de2b1f.050a0220.58465.05c2.GAE%40google.com
> Intent to Extend Experiment 2:
> https://groups.google.com/a/chromium.org/d/msgid/blink-dev/69704662.2b0a0220.2c228a.0283.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/69cb650f.050a0220.201b21.039e.GAE%40google.com
> <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/69cb650f.050a0220.201b21.039e.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/CAOmohSLObwz9knNv4h77jicVDoc4KSzeig4um9tRGUCG3RdGpw%40mail.gmail.com.

Reply via email to