| <html> | |
| <style type="text/css"> | |
| .firstDivStyle + .secondDivStyle { display: table-footer-group; } | |
| .rubyStyle { position: relative; } | |
| .secondDivStyle { -webkit-appearance: button; } | |
| .posAbsolute { position: absolute; } | |
| </style> | |
| <script type="text/javascript"> | |
| function dumpTest() { | |
| testRunner.notifyDone(); | |
| } | |
| function runTest() { | |
| document.getElementById('ruby').innerHTML = '<audio controls="controls" id="aud" src="blah.ogg" class="posAbsolute"></audio>'; | |
| height = document.body.clientHeight; // Force layout | |
| document.body.removeChild(document.getElementById('remove')); // Cause anonymous blocks containing 'secondDivStyle' and 'ruby' to be merged | |
| document.getElementById('aud').style.color = "blue"; // Force style recalc | |
| setTimeout('dumpTest()', 10); | |
| if (window.testRunner) { | |
| testRunner.waitUntilDone(); | |
| testRunner.dumpAsText(); | |
| } | |
| } | |
| window.onload = runTest; | |
| </script> | |
| <body> | |
| PASS, if no exception or crash in debug | |
| <div class="firstDivStyle"></div> | |
| <div class="secondDivStyle"></div> | |
| <div id="remove"></div> | |
| <ruby id="ruby" class="rubyStyle"></ruby> | |
| </body> | |
| </html> |