Re: [csswg-drafts] [css-view-transitions-2] Hold paint of old Document until new Document draws a frame (#8888)

The CSS Working Group just discussed `[css-view-transitions-2] Hold paint of old Document until new Document draws a frame`, and agreed to the following:

* `RESOLVED: Accept the new behavior, put it in VT2`

<details><summary>The full IRC log of that discussion</summary>
&lt;fantasai> -> https://github.com/w3c/fxtf-drafts/issues/521<br>
&lt;TabAtkins> khush: Exploring cross-document view transitions<br>
&lt;TabAtkins> khush: When navigating from page A to B, there's a period of time where B is still producing its first frame<br>
&lt;TabAtkins> khush: the browser has to decide what to paint in the tab before this<br>
&lt;TabAtkins> khush: Few options. 1) clear the tab to show white, might make sense if it's cross-origin<br>
&lt;TabAtkins> khush: 2) leave page A's pixels until B paints something<br>
&lt;TabAtkins> khush: 3) If you have cached B, show that until B paints real pixels<br>
&lt;TabAtkins> khush: With view transitions, if going from A to B you need A's pixels in the tab until B is ready, to run the animation<br>
&lt;TabAtkins> khush: otherwise you get a flicker during the transition<br>
&lt;TabAtkins> khush: in chrome, we show cached rendering of B if it's available, otherwise leaves A around.<br>
&lt;TabAtkins> khush: Safari always leaves A around<br>
&lt;TabAtkins> khush: We want to standardize on leaving A's pixels until B draws a frame<br>
&lt;TabAtkins> khush: So two parts, first get a resolution here, second where to actually spec this. HTML and CSS neither actually define this behavior.<br>
&lt;Rossen_> q?<br>
&lt;emilio> q+<br>
&lt;Rossen_> ack s<br>
&lt;Rossen_> ack fantasai<br>
&lt;Zakim> fantasai, you wanted to suggest leaving in VT<br>
&lt;TabAtkins> TabAtkins: I think HTML is probably the best place for it - it covers nav and timing and such, better than what CSS has.<br>
&lt;TabAtkins> fantasai: I think the oppsoite - specifying in VT, at least fo rnow, is probably a good idea<br>
&lt;TabAtkins> fantasai: We don't care particularly what the browser does when VT aren't active<br>
&lt;TabAtkins> fantasai: but when there *is* a VT, for it to make sense it has to hold the old paint<br>
&lt;TabAtkins> fantasai: So it's a req of *this spec and feature*<br>
&lt;TabAtkins> fantasai: If at some point we need to spec what happens when there isn't a VT, maybe it can move to HTML or somewhere else<br>
&lt;TabAtkins> emilio: So the diff is...<br>
&lt;TabAtkins> emilio: Clarifying that with the first you mean the page is still interactive?<br>
&lt;TabAtkins> khush: Until the browser switches to showing the live B document, all browsers keep it non-interactive<br>
&lt;TabAtkins> khush: Diff is in most cases if you're going from A to B you only have A's rendering to show<br>
&lt;TabAtkins> khush: but if you're going back, from B->A, then forward again, you might have B's cached rendering. Chrome currently shows that when going forward from A->B<br>
&lt;TabAtkins> emilio: when you are flipping display?<br>
&lt;TabAtkins> khush: There are cases where pages do something in pageShow, it's timing-sensitive<br>
&lt;TabAtkins> khush: If the bfcache restore takes more than a single frame you get flicker - show B, then show A, then see animation<br>
&lt;noamr> q+<br>
&lt;TabAtkins> emilio: Okay so if pageShow takes more than a frame to arrive...<br>
&lt;TabAtkins> khush: right, it wasn't uncommon to see pages accidentally run into this<br>
&lt;TabAtkins> emilio: I have the feeling HTML might be the better palce to put this<br>
&lt;Rossen_> ack emilio<br>
&lt;TabAtkins> khush: I think it's clear on the behavior, just not where it is<br>
&lt;TabAtkins> khush: Happy to put it in VT right now and move it to HTML in the future when it's more mature<br>
&lt;Rossen_> ack noamr<br>
&lt;TabAtkins> noamr: For VT2 and MPA stuff, lots will move into HTML or monkeypatch HTML due to nav interaction, so this will be part of that<br>
&lt;TabAtkins> Rossen_: Okay so sounds like it'll move to HTML later<br>
&lt;TabAtkins> fantasai: Sounds like we want it in VT for now and move it later<br>
&lt;TabAtkins> Rossen_: k, so any objections on putting this behavior into VT2?<br>
&lt;TabAtkins> RESOLVED: Accept the new behavior, put it in VT2<br>
</details>


-- 
GitHub Notification of comment by css-meeting-bot
Please view or discuss this issue at https://github.com/w3c/csswg-drafts/issues/8888#issuecomment-1591649184 using your GitHub account


-- 
Sent via github-notify-ml as configured in https://github.com/w3c/github-notify-ml-config

Received on Wednesday, 14 June 2023 16:52:25 UTC