extremely-tall-multicol-with-extremely-tall-child-crash.html (1919B)
1 <!DOCTYPE html> 2 <title>CSS Multi-column Layout Test: extremely tall multicolumn container with extremely tall inline-block inside</title> 3 <link rel="author" title="Morten Stenshorne" href="mstensho@chromium.org"> 4 <link rel="help" href="https://www.w3.org/TR/css-multicol-1/#the-multi-column-model" title="CSS Multi-column Layout Module Level 1"> 5 <meta name="assert" content="This tests that we get no crash if we put an extremely tall inline-block inside an extremely tall multicol container. Engines typically have some maximum limit for how large values they can represent. If the value is large enough to become 'infinity', the engine should still not crash"> 6 <!-- Explanation for the CSS values specified below: This test was written for 7 the Chromium Blink engine, which uses a fixed-point 32 bit integer. In this 8 example, the value will be too large, so it will be clamped to the maximum 9 value (about 2^25 px). However, there's a a further complication in that 10 CSS length values in Blink are transported via a 32bit float, so precision 11 will be a few pixels off. So even if 1234567890px is way more than Blink 12 can handle, it will be truncated to a bit less than the maximum value 13 (about 2^25). We want the multicol container to be as tall as it can 14 possibly get, so we put it inside a 1234567890px tall container, and 15 specify the height of the child multicol container to be 200% to ensure 16 this. We also use a percentage to specify the height of the child inside 17 the multicol container, for the same reason. --> 18 <div style="height:1234567890px;"> 19 <div style="columns:2; column-fill:auto; height:200%;"> 20 <div style="display:inline-block; height:100%;"></div><br> 21 hest 22 </div> 23 <script src="/resources/testharness.js"></script> 24 <script src="/resources/testharnessreport.js"></script> 25 <script> 26 test(() => { }, "No crash or assertion failure."); 27 </script>