@@ -44,6 +44,11 @@ spec:css-pseudo-4; type:selector; text:::first-line
44
44
spec:dom; type:dfn; for:/; text:element
45
45
spec:infra; type:dfn; text:list
46
46
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
47
52
</pre>
48
53
49
54
<pre class="anchors">
@@ -1026,10 +1031,9 @@ name to child input properties map</dfn>. Initially these maps are empty and are
1026
1031
Each <a>box</a> has an associated <dfn>layout valid flag</dfn> . It may be either
1027
1032
<dfn>layout-valid</dfn> or <dfn>layout-invalid</dfn> . It is initially set to <a>layout-invalid</a> .
1028
1033
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> .
1033
1037
1034
1038
When the computed style for a |box| changes, the user agent must run the following steps:
1035
1039
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
1045
1049
input properties map</a> .
1046
1050
1047
1051
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> .
1049
1054
1050
1055
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> .
1052
1058
1053
1059
When a child <a>box</a> represented by a {{LayoutChild}} is added or removed from the <a>box
1054
1060
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> .
1056
1063
1057
1064
Note: This only describes layout invalidation as it relates to the CSS Layout API. All
1058
1065
<a>boxes</a> conceptually have a <a>layout valid flag</a> and these changes are propagated
1059
1066
through the <a>box tree</a> .
1060
1067
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
+
1061
1075
Concepts {#concepts}
1062
1076
--------------------
1063
1077
0 commit comments