#1158: ViewTransitions: waitUntil() method

Visit on Github

Opened Oct 20, 2025

Specification

https://drafts.csswg.org/css-view-transitions-2/#dom-viewtransition-waituntil

Explainer

https://github.com/vmpstr/htmldemos/blob/master/vt/waitUntil.md

Links

The specification

Where and by whom is the work is being done?

  • GitHub repo:https://github.com/w3c/csswg-drafts
  • Primary contacts:
    • @vmpstr, Google, Author
  • Organization/project driving the specification: Google
  • This work is being funded by: Google
  • Primary standards group developing this feature: CSSWG
  • Incubation and standards groups that have discussed the design:

Feedback so far

You should also know that...

No response

<!-- Content below this is maintained by @w3c-tag-bot -->

Track conversations at https://tag-github-bot.w3.org/gh/w3ctag/design-reviews/1158

Discussions

Log in to see TAG-private discussions.

Comment by @vmpstr Oct 20, 2025 (See Github)

This may be the wrong review type for the request; I apologize if it needs to be retriaged

Discussed Oct 27, 2025 (See Github)

Lola: I haven't looked at this yet.

Christian: I can help. I'll review it.

Christian: This is probably not horizontal review, but we don't need to stand on ceremony.

Hadley: Drop a note to let them know that.

Comment by @christianliebel Oct 30, 2025 (See Github)

This may be the wrong review type for the request; I apologize if it needs to be retriaged

@vmpstr No problem. I've changed the review type, and we will conduct the review soon.

Discussed Nov 24, 2025 (See Github)

Lola: Christian raised a point about the method name matching Service Worker's waitUntil() - though tit OK as the behavours match. Seeking input from the rest of us on this.

Discussed Dec 1, 2025 (See Github)

Lola: Christian's comment seems reasonsable but I wanted to look through the spec itself. So I'll do that.

Discussed Dec 8, 2025 (See Github)

Lola: Christian posted a comment and has closed.

Discussed Dec 8, 2025 (See Github)

Lola: Breakout C. Generally looked good, but had one concern.

Comment by @christianliebel Dec 8, 2025 (See Github)

Thanks for sending in your proposal. We are closing this as satisfied with concerns. The use case seems fine, but the concern is that it may not be immediately obvious what is delayed until when just from the method name waitUntil().

We think it's justifiable to use this name, as the method name startViewTransition() implies that the view transition will start instantly, and that the resulting ViewTransition "waits until" the promise(s) passed to the method settle before completing:

let viewTransition = document.startViewTransition();
viewTransition.waitUntil(promise1);
viewTransition.waitUntil(promise2);
viewTransition.waitUntil(promise3);

While there is a certain appeal in reusing the waitUntil() semantics from Service Worker's ExtendableEvents, a view transition is not an event, and service workers are a very different area of programming, so not all developers may be familiar with the semantics. We would also support a more descriptive name (e.g., delayCompletionUntil()) with or without waitUntil() semantics (would developers really pass multiple promises?).

If you choose waitUntil(), we recommend providing clear developer documentation that clearly indicates the effects of calling this method.