test_bug1330375.html (2434B)
1 <!DOCTYPE html> 2 <!-- https://bugzil.la/1330375 --> 3 <meta charset="utf-8"> 4 <title>Test for Bug 1330375</title> 5 <script src="/tests/SimpleTest/SimpleTest.js"></script> 6 <link rel="stylesheet" type="text/css" href="/tests/SimpleTest.css"/> 7 <body> 8 <div id="content"> 9 <table> 10 <tbody> 11 <tr><td>lorem ipsum</td><td>dolor sit</td><td>amet</td><td>consectetur adipsicing</td><td>elit.</td></tr> 12 <tr><td>lorem ipsum</td><td>dolor sit</td><td>amet</td><td>consectetur adipsicing</td><td>elit.</td></tr> 13 <tr><td>lorem ipsum</td><td>dolor sit</td><td>amet</td><td>consectetur adipsicing</td><td>elit.</td></tr> 14 <tr><td>lorem ipsum</td><td>dolor sit</td><td>amet</td><td>consectetur adipsicing</td><td>elit.</td></tr> 15 <tr><td>lorem ipsum</td><td>dolor sit</td><td>amet</td><td>consectetur adipsicing</td><td>elit.</td></tr> 16 <tr><td>lorem ipsum</td><td>dolor sit</td><td>amet</td><td>consectetur adipsicing</td><td>elit.</td></tr> 17 <tr><td>lorem ipsum</td><td>dolor sit</td><td>amet</td><td>consectetur adipsicing</td><td>elit.</td></tr> 18 <tr><td>lorem ipsum</td><td>dolor sit</td><td>amet</td><td>consectetur adipsicing</td><td>elit.</td></tr> 19 <tr><td>lorem ipsum</td><td>dolor sit</td><td>amet</td><td>consectetur adipsicing</td><td>elit.</td></tr> 20 <tr><td>lorem ipsum</td><td>dolor sit</td><td>amet</td><td>consectetur adipsicing</td><td>elit.</td></tr> 21 </tbody> 22 </table> 23 </div> 24 </body> 25 <script> 26 "use strict"; 27 28 const gUtils = SpecialPowers.getDOMWindowUtils(window); 29 30 function flush_layout(element) { 31 (element || document.documentElement).offsetHeight; 32 } 33 34 SimpleTest.waitForExplicitFinish(); 35 36 window.onload = function() { 37 flush_layout(document.getElementById("content")); 38 39 let before = { 40 framesConstructed: gUtils.framesConstructed, 41 framesReflowed: gUtils.framesReflowed, 42 }; 43 44 // Begin test 45 let rows = document.getElementsByTagName("tr"); 46 for (var r = 0; r < rows.length; r++) { 47 let row = rows[r]; 48 row.innerText; 49 // Cause potential invalidation of layout: 50 row.style.display = "none"; 51 } 52 53 is(gUtils.framesConstructed, before.framesConstructed, "Frames constructed should be 0"); 54 is(gUtils.framesReflowed, before.framesReflowed, "Frames reflowed should be 0"); 55 56 SimpleTest.finish(); 57 } 58 </script>