| <!DOCTYPE html> | |
| <html> | |
| <head> | |
| <script src="../resources/js-test-pre.js"></script> | |
| <style> | |
| #shape { | |
| float: left; | |
| width: 200px; | |
| height: 200px; | |
| -webkit-shape-outside: url("/resources/load-and-stall.py?name=square100.png&stallAt=0&stallFor=1"); | |
| } | |
| </style> | |
| </head> | |
| <body> | |
| <p>Verify that a image valued shape-outside layout is updated after the image has been loaded. This test | |
| checks that left edge of the "Hello World" text span is defined by the 200px wide float before shape-outside | |
| image has been loaded and by the 100px wide image after it's been laoded.</p> | |
| <div id="container"> | |
| <div id="shape"></div><span id="text">Hello World</span> | |
| </div> | |
| <p id="console"></p> | |
| <script> | |
| window.jsTestIsAsync = true; | |
| function elementRect(elementId) | |
| { | |
| var s = document.getElementById("container").getBoundingClientRect(); | |
| var r = document.getElementById(elementId).getBoundingClientRect(); | |
| return {left: r.left - s.left, top: r.top - s.top, width: r.width, height: r.height}; | |
| } | |
| shouldBe('elementRect("text").left', "200"); // image hasn't loaded yet | |
| window.onload = function() { | |
| document.body.offsetTop; // fetch offsetTop to force a layout | |
| shouldBe('elementRect("text").left', "100"); | |
| finishJSTest(); | |
| }; | |
| </script> | |
| <script src="../resources/js-test-post.js"></script> | |
| </body> | |
| </html> |