Skip to content

Commit 183af99

Browse files
committed
[css-layout-api] Update invalidation section.
1 parent b10eced commit 183af99

File tree

1 file changed

+21
-7
lines changed

1 file changed

+21
-7
lines changed

css-layout-api/Overview.bs

+21-7
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,11 @@ spec:css-pseudo-4; type:selector; text:::first-line
4444
spec:dom; type:dfn; for:/; text:element
4545
spec:infra; type:dfn; text:list
4646
spec:html; type:dfn; for:global object; text:realm
47+
spec:css22; type:property;
48+
text:max-height
49+
text:max-width
50+
text:min-height
51+
text:min-width
4752
</pre>
4853

4954
<pre class="anchors">
@@ -1026,10 +1031,9 @@ name to child input properties map</dfn>. Initially these maps are empty and are
10261031
Each <a>box</a> has an associated <dfn>layout valid flag</dfn>. It may be either
10271032
<dfn>layout-valid</dfn> or <dfn>layout-invalid</dfn>. It is initially set to <a>layout-invalid</a>.
10281033

1029-
TODO comments. <dfn>intrinsic sizes valid flag</dfn>. <dfn>intrinsic-sizes-valid</dfn>.
1030-
<dfn>intrinsic-sizes-invalid</dfn>.
1031-
1032-
Issue: The above flag is too restrictive on user agents, change.
1034+
Each <a>box</a> has an associated <dfn>intrinsic sizes valid flag</dfn>. If may be either
1035+
<dfn>intrinsic-sizes-valid</dfn> or <dfn>intrinsic-sizes-invalid</dfn>. It is initially set to
1036+
<a>intrinsic-sizes-invalid</a>.
10331037

10341038
When the computed style for a |box| changes, the user agent must run the following steps:
10351039
1. Let |layoutFunction| be the ''layout()'' function of the 'display' property on the computed
@@ -1045,19 +1049,29 @@ When the computed style for a |box| changes, the user agent must run the followi
10451049
input properties map</a>.
10461050

10471051
5. For each |property| in |inputProperties|, if the |property|'s <a>computed value</a> has
1048-
changed, set the <a>layout valid flag</a> on the <a>box</a> to <a>layout-invalid</a>.
1052+
changed, set the <a>layout valid flag</a> on the <a>box</a> to <a>layout-invalid</a>, and
1053+
set the <a>intrinsic sizes valid flag</a> to <a>intrinsic-sizes-invalid</a>.
10491054

10501055
6. For each |property| in |childInputProperties|, if the |property|'s <a>computed value</a> has
1051-
changed, set the <a>layout valid flag</a> on the <a>box</a> to <a>layout-invalid</a>.
1056+
changed, set the <a>layout valid flag</a> on the <a>box</a> to <a>layout-invalid</a>, and
1057+
set the <a>intrinsic sizes valid flag</a> to <a>intrinsic-sizes-invalid</a>.
10521058

10531059
When a child <a>box</a> represented by a {{LayoutChild}} is added or removed from the <a>box
10541060
tree</a> or has its layout invalidated (from a computed style change, or a descentdant change). Set
1055-
the <a>layout valid flag</a> on the current <a>box</a> to <a>layout-invalid</a>.
1061+
the <a>layout valid flag</a> on the current <a>box</a> to <a>layout-invalid</a> and set the
1062+
<a>intrinsic sizes valid flag</a> on the current <a>box</a> to <a>intrinsic-sizes-invalid</a>.
10561063

10571064
Note: This only describes layout invalidation as it relates to the CSS Layout API. All
10581065
<a>boxes</a> conceptually have a <a>layout valid flag</a> and these changes are propagated
10591066
through the <a>box tree</a>.
10601067

1068+
Issue: We also want to implcitly invalidate on size and edge properties, i.e.
1069+
- 'width', 'min-width', 'max-width'
1070+
- 'height', 'min-height', 'max-height'
1071+
- 'padding-top', 'padding-bottom', 'padding-left', 'padding-right'
1072+
- 'border-top-width', 'border-bottom-width', 'border-left-width', 'border-right-width'
1073+
- 'overflow', 'overflow-x', 'overflow-y'
1074+
10611075
Concepts {#concepts}
10621076
--------------------
10631077

0 commit comments

Comments
 (0)