- From: CSS Meeting Bot via GitHub <sysbot+gh@w3.org>
- Date: Wed, 12 Feb 2025 18:01:20 +0000
- To: public-css-archive@w3.org
The CSS Working Group just discussed `[css-view-transitions-2] Elements with content-visibility in new Document`. <details><summary>The full IRC log of that discussion</summary> <TabAtkins> noamr: issue with how cross-document VTs, the order that things are discovered for an incoming VT<br> <TabAtkins> noamr: We check for the names, and only after check if the element is visible (based on content-visibility:auto)<br> <TabAtkins> vmpstr: for initial c-v:auto determination, it happens during "update the rendering" in html<br> <TabAtkins> vmpstr: if we ahve an incoming VT, we need to determine which elements are matched to the old doc *prior* to running "update the rendering"<br> <TabAtkins> vmpstr: so we have an issue, all the c-v:auto things aren't matched even if they're in the viewport, because we haven't determined their visibiility yet<br> <TabAtkins> vmpstr: so proposal is, if we ahve an incoming VT, we run the c-v:auto determination first<br> <TabAtkins> vmpstr: this might also apply to same-doc transitions if you've added an element to the DOM with c-v:auto<br> <Rossen6> q<br> <emilio> q+<br> <TabAtkins> vmpstr: but it's less clear that's needed, since the same-doc steps happen in a different spot. but we do want the same ability<br> <TabAtkins> emilio: are you proposing to run the determination steps again/first, or *move* them?<br> <TabAtkins> vmpstr: the initial determination has to just run before the VT matching steps<br> <TabAtkins> vmpstr: so i'm proposing that we do it *again* if there's an incoming VT<br> <Rossen6> ack emilio<br> <TabAtkins> vmpstr: doesn't duplicate work because the second time it's not the initial determination, it's a subsequent<br> <TabAtkins> emilio: I thought VT operations already happened after this, maybe I was wrong<br> <TabAtkins> vmpstr: for the cross-doc case, it happens before<br> <TabAtkins> vmpstr: it needs to happen before frames are drawn in the new doc<br> <TabAtkins> vmpstr: so "udpate the rendering" hasn't run yet<br> <TabAtkins> emilio: okay, so cross-doc VT runs the c-v:auto determination explictly, outside the rendering loop<br> <TabAtkins> vmpstr: yeah<br> <TabAtkins> emilio: it's a little sad, might expect intersection observers to also work...<br> <TabAtkins> emilio: maybe it's better to run the whole rendering loop but not point, that seems tricky to define tho<br> <TabAtkins> emilio: maybe that's fine, but wondering if we've consdiered larger changes like that<br> <TabAtkins> vmpstr: we haven't<br> <TabAtkins> vmpstr: the c-v case was a bug report<br> <TabAtkins> vmpstr: haven't seen other cases reported yet<br> <TabAtkins> vmpstr: don't thi8nk we want to run the rAF handlers without them producing paint<br> <TabAtkins> emilio: maybe not, but also it might not be too bad?<br> <TabAtkins> emilio: but if you did a c-v:auto-like thing with IO you might want that to run<br> <bramus> q+<br> <TabAtkins> emilio: seems a bit whack-a-mole if we need to keep adding things for the VT step<br> <TabAtkins> vmpstr: if there's script involved, yeah, that won't trigger. but c-v is a CSS thing, so as long as things are declarative they should all "work"<br> <TabAtkins> vmpstr: but script is tricky<br> <smfr> +1 to emilio<br> <TabAtkins> emilio: i think my pref would be to try running one frame without painting, that might work, but that's a bit awkward. dont' want to block if you're certain on this approach, just feels a bit special-casey for my taste<br> <TabAtkins> bramus: wanted to underline the c-v part affects whether the element is captured or not, authors have reported that<br> <Rossen6> ack bramus<br> <TabAtkins> bramus: maybe we can resolve on just the c-v part and then experiment with the frame render?<br> <emilio> q+<br> <TabAtkins> bramus: some people are blocked on this right now, they can't add the c-v perf improvement to their website due to VTs<br> <Rossen6> ack emilio<br> <TabAtkins> emilio: there are two approaches, right? a third is to make c-v:auto not behave as hidden for VT. i think scrollIntoView() already acts like you're visible<br> <TabAtkins> emilio: so it's not unheard of<br> <TabAtkins> vmpstr: with find-in-page there's no difference, but this would defeat the style optimation for c-v:auto on navigations that have an incoming VT<br> <TabAtkins> vmpstr: there's no user action besides the navigation, and we need to run style on the whole document to find names then<br> <TabAtkins> vmpstr: we've previously decided that in same-doc, if a c-v auto is off-screen then a sub-element won't be available for VT<br> <TabAtkins> emilio: right, point is that you don't have to paint it, you just check for names<br> <TabAtkins> Rossen6: out of time on the call, don't feel like we're ready to resolve.<br> <TabAtkins> Rossen6: continue discussion in the issue<br> </details> -- GitHub Notification of comment by css-meeting-bot Please view or discuss this issue at https://github.com/w3c/csswg-drafts/issues/10773#issuecomment-2654472392 using your GitHub account -- Sent via github-notify-ml as configured in https://github.com/w3c/github-notify-ml-config
Received on Wednesday, 12 February 2025 18:01:21 UTC