@@ -891,7 +891,7 @@ Overriding Contained Intrinsic Sizes: the 'contain-intrinsic-*' properties</h3>
891891
892892 <pre class=propdef>
893893 Name : contain-intrinsic-width, contain-intrinsic-height, contain-intrinsic-block-size, contain-intrinsic-inline-size
894- Value : [ auto | from-element ] ? [ none | <<length [0,∞]>> ]
894+ Value : auto? [ none | <<length [0,∞]>> ]
895895 Initial : none
896896 Inherited : no
897897 Logical property group : contain-intrinsic-size
@@ -989,22 +989,6 @@ Overriding Contained Intrinsic Sizes: the 'contain-intrinsic-*' properties</h3>
989989 <wpt pathprefix="css/css-contain/">
990990 content-visibility/content-visibility-058.html
991991 </wpt>
992-
993- : <dfn>from-element</dfn>
994- :: If ''contain-intrinsic-size/from-element'' is specified
995- and the element is a [=replaced element=]
996- with an [=internal layout intrinsic size=] ,
997- its [=explicit intrinsic inner size=] in the corresponding axis
998- is that size.
999-
1000- Note: Whether a [=replaced element=]
1001- has an [=internal layout intrinsic size=]
1002- is defined by the [=document language=] .
1003- In HTML, only <{iframe}> s do so.
1004-
1005- Issue: Should this apply even when ''contain:layout'' isn't specified?
1006-
1007- Issue: The name needs further discussion.
1008992 </dl>
1009993
1010994 If an element has an [=explicit intrinsic inner size=] in an axis,
@@ -1032,7 +1016,7 @@ Overriding Contained Intrinsic Sizes: the 'contain-intrinsic-*' properties</h3>
10321016
10331017 <pre class="propdef shorthand">
10341018 Name : contain-intrinsic-size
1035- Value : [ [ auto | from-element ] ? [ none | <<length [0,∞]>> ] ]{1,2}
1019+ Value : [ auto? [ none | <<length [0,∞]>> ] ]{1,2}
10361020 </pre>
10371021
10381022 <wpt>
@@ -1198,7 +1182,17 @@ Interaction With ''overflow: auto''</h4>
11981182-->
11991183
12001184<h3 id='responsive-iframes' dfn lt="responsively-sized iframe" export>
1201- Responsively-sized iframes</h3>
1185+ Responsively-sized iframes: the 'frame-sizing' property</h3>
1186+
1187+ <pre class="propdef">
1188+ Name : frame-sizing
1189+ Value : auto | content-width | content-height | content-block-size | content-inline-size
1190+ Initial : auto
1191+ Applies to : <{iframe}> elements
1192+ Inherited : no
1193+ Computed value : specified keyword
1194+ Animation type : discrete
1195+ </pre>
12021196
12031197 Some [=replaced elements=] can contain "normal" flowed content,
12041198 such as HTML <{iframe}> s.
@@ -1208,7 +1202,7 @@ Responsively-sized iframes</h3>
12081202 to the outside page,
12091203 instead just using a static, predetermined intrinsic size,
12101204 and making their contents scrollable.
1211- The ''contain-intrinsic-size/from-element'' value of 'contain-intrinsic-size'
1205+ The 'frame-sizing' property
12121206 allows these elements to opt into exposing their actual content size,
12131207 known as their <dfn export>internal layout intrinsic size</dfn> .
12141208
@@ -1218,14 +1212,19 @@ Responsively-sized iframes</h3>
12181212 In HTML, only <{iframe}> elements can have an [=internal layout intrinsic size=] ,
12191213 and further,
12201214 only when the contained document has also opted in
1221- via a <code> <meta name=responsize-embedded-sizing></code> element.
1215+ via a <code> <meta name=responsive-embedded-sizing></code> element.
1216+
1217+ The first instance of this meta tag added by the parser can make it opt in.
1218+ If the parser encounters multiple such tags, only the first one is used.
1219+ If the parser closes the <code> <head></code> without seeing the tag,
1220+ it is frozen as not-set.
12221221
12231222 An <{iframe}> initially doesn't have an [=internal layout intrinsic size=] .
12241223 When an <{iframe}> 's internal document is loaded,
1225- if the required <{meta}> element is present
1226- at the time of the <code> DOMContentLoaded </code> and <code> load </code> events,
1227- the <{iframe}> 's [=internal layout intrinsic size=]' s height
1228- is set to the [=natural height=] of the embedded document .
1224+ if the required <{meta}> element is present,
1225+ the <{iframe}> 's [=internal layout intrinsic size=]' s height or width
1226+ is set to the [=natural size=] of the embedded document as specified by 'frame-sizing' .
1227+ Resizing occurs at the <code> DOMContentLoaded </code> and <code> load </code> events .
12291228 Subsequent changes to content, styling or layout of the embedded document
12301229 do not affect the [=internal layout intrinsic size=] .
12311230
@@ -1241,19 +1240,21 @@ Responsively-sized iframes</h3>
12411240
12421241 <pre highlight=css>
12431242 iframe {
1244- contain-intrinsic-block-size: from-element 150px ;
1243+ frame-sizing: content-height ;
12451244 }
12461245 </pre>
12471246
1248- The height of the <{iframe}> will initially be ''150px'' ,
1247+ The height of the <{iframe}> will initially be the default iframe height (typically ''150px'' ) ,
12491248 but will be updated to ''500px'' once the iframe's document loads.
12501249 </div>
12511250
1251+ Issue: Should this apply even when ''contain:size'' isn't specified?
1252+
12521253 In addition,
12531254 the internal document can call {{window/requestResize()|window.requestResize()}} ;
12541255 if the document still has the required <{meta}> element,
1255- its [=internal layout intrinsic size=] 's height
1256- is updated to its new current [=natural height =] .
1256+ its [=internal layout intrinsic size=]
1257+ is updated to its new current [=natural size =] .
12571258
12581259 Note: If the required <{meta}> element is not present,
12591260 the call throws a {{NotAllowedError}} {{DOMException}} instead.
0 commit comments