Skip to content

Commit d4c4952

Browse files
committed
[css-contain-2] More refined approach, I think.
1 parent 7218b11 commit d4c4952

File tree

1 file changed

+22
-3
lines changed

1 file changed

+22
-3
lines changed

css-contain-2/Overview.bs

Lines changed: 22 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1999,11 +1999,30 @@ Suppressing An Element's Contents Entirely: the 'content-visibility' property {#
19991999
</div>
20002000

20012001
<div algorithm="update content relevancy for a document">
2002-
To <dfn export>update content relevancy for a document</dfn> <var>doc</var>:
2002+
To <dfn export>update content relevancy for a document</dfn> given a document <var>doc</var>, and a boolean <var>isFirstIteration</var>:
20032003

2004+
1. Let <var>changed</var> be false.
20042005
1. For each <var>element</var> [=connected=] to doc with ''auto'' used value of ''content-visibility''
2005-
1. If <var>element</var> is [=relevant to the user=], then set <var>element</var>'s [=currently relevant to the user=] flag to true.
2006-
1. Otherwise, set <var>element</var>'s [=currently relevant to the user=] flag to false.
2006+
1. Determine proximity to the viewport for <var>element</var>.
2007+
1. If <var>element</var> is not [=currently relevant to the user=] and <var>element</var> is [=relevant to the user=], then:
2008+
2. Set <var>changed</var> to true.
2009+
2. Set <var>element</var>'s [=currently relevant to the user=] flag to true.
2010+
1. If <var>isFirstIteration</var> is false, then [=continue=].
2011+
1. If <var>element</var> is [=relevant to the user=], then:
2012+
1. If <var>element</var>'s [=currently relevant to the user=] flag is false, set <var>changed</var> to true.
2013+
1. Set <var>element</var>'s [=currently relevant to the user=] flag to true.
2014+
1. Otherwise:
2015+
1. If <var>element</var>'s [=currently relevant to the user=] flag is true, set <var>changed</var> to true.
2016+
1. Set <var>element</var>'s [=currently relevant to the user=] flag to false.
2017+
1. return <var>changed</var>.
2018+
2019+
<div class=note>
2020+
The intent of the <var>changed</var> variable is for the initial viewport
2021+
proximity determination, which takes effect immediately, to be reflected in
2022+
the style and layout calculation which is carried out in a previous step of
2023+
this loop. Proximity determinations other than the initial one take effect
2024+
at the next rendering opportunity.
2025+
</div>
20072026
</div>
20082027

20092028
<div algorithm>

0 commit comments

Comments
 (0)