{}); }); This is in fact what happe...">

[css-view-transitions] State management seems broken in the spec · Issue #10822 · w3c/csswg-drafts (original) (raw)

Per spec, this snippet calls the transition callback twice:

document.startViewTransition(async function() { console.log("cb"); document.startViewTransition(() => {}); });

This is in fact what happens in Safari TP, and in my experimental Firefox implementation.

This is because call the update callback says:

But that's already too late, because if something (like startViewTransition) skips the transition, the state is not "update-callback-called".

It seems for this specific case, just swapping those two steps should work. But might be worth looking at similar things in the spec.

cc @khushalsagar @vmpstr @mattwoodrow @nt1m