diff --git a/css-contain-2/Overview.bs b/css-contain-2/Overview.bs index ff10724d7a2..69849fe5b4c 100644 --- a/css-contain-2/Overview.bs +++ b/css-contain-2/Overview.bs @@ -707,7 +707,7 @@ Size Containment contain-size-064.html - + Note: [=Size containment=] does not suppress baseline alignment. @@ -1994,6 +1994,37 @@ Suppressing An Element's Contents Entirely: the 'content-visibility' property {# When the element becomes disconnected, the element's [=proximity to the viewport=] becomes [=not determined=]. +
+ All elements have a currently relevant to the user flag, initially false. +
+ +
+ To update content relevancy for a document given a document doc, and a boolean isFirstIteration: + + 1. Let changed be false. + 1. For each element [=connected=] to doc with ''auto'' used value of ''content-visibility'' + 1. Determine proximity to the viewport for element. + 1. If element is not [=currently relevant to the user=] and element is [=relevant to the user=], then: + 2. Set changed to true. + 2. Set element's [=currently relevant to the user=] flag to true. + 1. If isFirstIteration is false, then [=continue=]. + 1. If element is [=relevant to the user=], then: + 1. If element's [=currently relevant to the user=] flag is false, set changed to true. + 1. Set element's [=currently relevant to the user=] flag to true. + 1. Otherwise: + 1. If element's [=currently relevant to the user=] flag is true, set changed to true. + 1. Set element's [=currently relevant to the user=] flag to false. + 1. return changed. + +
+ The intent of the changed variable is for the initial viewport + proximity determination, which takes effect immediately, to be reflected in + the style and layout calculation which is carried out in a previous step of + this loop. Proximity determinations other than the initial one take effect + at the next rendering opportunity. +
+
+
An element is relevant to the user if any of the following conditions are true: @@ -2308,14 +2339,7 @@ Restrictions and Clarifications {#cv-notes} 3. If an element starts or stops [=skipped contents|skipping its contents=], - this change happens - after the requestAnimationFrame callbacks - of the frame that renders the effects of the change - have run. - Specifically, such changes will take effect between steps 13 and 14 - of [=update the rendering=] step of the Processing Model - (between “run the animation frame callbacks” - and “run the update intersection observations steps”). + this change happens when [=update content relevancy for a document=] runs.
Determining the viewport intersection of the element