| <!doctype html> |
| <html class="a"> |
| <head> |
| <title>DOMNodeInsertedIntoDocument: dispatch after appending to the render tree</title> |
| <style type="text/css"> |
| |
| .appended { |
| width: 100px; |
| } |
| |
| .inserted { |
| width: 200px; |
| } |
| |
| .replaced { |
| width: 300px; |
| } |
| |
| </style> |
| </head> |
| <body> |
| <p id="original-message">FAIL (script did not run)</p> |
| <script> |
| |
| if (window.testRunner) |
| testRunner.dumpAsText(); |
| |
| var body = document.body; |
| |
| function log (msg) { |
| var original_message = document.getElementById('original-message'); |
| if (original_message) { |
| body.removeChild(original_message); |
| } |
| body.appendChild(document.createElement('p')).textContent = msg; |
| }; |
| |
| function test (element, expected_width, methodName) { |
| var width = window.getComputedStyle(element, null).width; |
| log((width == expected_width) ? 'PASS' : 'FAIL: got width = "' + width + '" for element added to the tree with ' + methodName + '()'); |
| }; |
| |
| var appended_element = document.createElement('div'); |
| appended_element.className = 'appended'; |
| appended_element.addEventListener('DOMNodeInsertedIntoDocument', function (event) { |
| test(appended_element, '100px', 'appendChild'); |
| }, false); |
| body.appendChild(appended_element); |
| |
| var inserted_element = document.createElement('div'); |
| inserted_element.className = 'inserted'; |
| inserted_element.addEventListener('DOMNodeInsertedIntoDocument', function (event) { |
| test(inserted_element, '200px', 'insertBefore'); |
| }, false); |
| body.insertBefore(inserted_element, appended_element); |
| |
| var replaced_element = document.createElement('div'); |
| replaced_element.className = 'replaced'; |
| replaced_element.addEventListener('DOMNodeInsertedIntoDocument', function (event) { |
| test(replaced_element, '300px', 'replaceChild'); |
| }, false); |
| body.replaceChild(replaced_element, inserted_element); |
| |
| </script> |
| </body> |
| </html> |