| <!DOCTYPE html> |
| <html> |
| <style> |
| .fixedPosition { position: fixed; } |
| .runIn:nth-last-of-type(2n+1) { display: run-in; } |
| .transformed { float: none; -webkit-transform: skewX(45deg); } |
| .floatLastChild:last-child { display: inline-block; float: left;} |
| </style> |
| <script> |
| if (window.testRunner) { |
| testRunner.waitUntilDone(); |
| testRunner.dumpAsText(); |
| } |
| var tableElement, liElement, formElement, buttonElement, fieldsetElement, labelElement, insElement; |
| function crash() { |
| tableElement = document.createElement('table'); |
| tableElement.setAttribute('class', 'runIn'); |
| document.documentElement.appendChild(tableElement); |
| liElement = document.createElement('li'); |
| liElement.setAttribute('class', 'transformed'); |
| document.documentElement.appendChild(liElement); |
| formElement = document.createElement('form'); |
| formElement.setAttribute('class', 'floatLastChild'); |
| buttonElement = document.createElement('button'); |
| buttonElement.setAttribute('class', 'floatLastChild'); |
| tableElement.appendChild(buttonElement); |
| fieldsetElement = document.createElement('fieldset'); |
| labelElement = document.createElement('label'); |
| insElement = document.createElement('ins'); |
| insElement.setAttribute('class', 'fixedPosition'); |
| |
| tableElement.appendChild(formElement); |
| document.documentElement.offsetTop; // force a layout |
| |
| buttonElement.appendChild(insElement); |
| document.documentElement.offsetTop; // force a layout |
| |
| liElement.appendChild(fieldsetElement); |
| document.documentElement.offsetTop; // force a layout |
| |
| labelElement.appendChild(formElement); |
| } |
| function removeContent() { |
| document.body.innerHTML = "Tests that lists in the rendering tree that track positioned objects are kept properly up-to-date through re-layout. <br />\ |
| PASS. WebKit didn't crash."; |
| if (window.testRunner) |
| testRunner.notifyDone() |
| } |
| |
| window.addEventListener('load', removeContent, false); |
| document.addEventListener('DOMContentLoaded', crash, false); |
| </script> |
| <body> |
| </body> |
| </html> |