| <!DOCTYPE html> |
| <html> |
| <head> |
| <script> |
| function test() |
| { |
| document.body.offsetTop; |
| if (window.testRunner) { |
| testRunner.displayAndTrackRepaints(); |
| testRunner.dumpAsText(); |
| finish(); |
| } else { |
| window.setTimeout(finish, 50); |
| } |
| } |
| |
| function finish() |
| { |
| var innerLayer = document.getElementById('innerLayer'); |
| innerLayer.style.left = '19px'; |
| innerLayer.style.top = '23px'; |
| } |
| </script> |
| <style> |
| /* nodes that have layers and are containers for their children */ |
| .a { outline: solid blue 1px } |
| |
| /* nodes that have layers but are not containers for their children */ |
| .b { outline: solid red 1px } |
| |
| /* nodes that do not have layers */ |
| .c { outline: solid green 1px } |
| </style> |
| </head> |
| <body onload="test()"> |
| Test where some nodes have layers (because of overflow or transparency) but are not the containing block for their children. |
| The test passes if it completes without failing any assertions in Debug mode. |
| <div> |
| <div style="opacity: 0.8; height:40px" class="b"> |
| <div style="height:30px" class="c"></div> |
| <div style="position:absolute; left:5px; top:5px; height:20px" class="c" id="innerLayer"> |
| <div style="overflow:hidden; height:13px" class="b"></div> |
| <div style="height:6px" class="c"></div> |
| <div style="position:relative; top:60px" class="a"> |
| <div style="height:30px" class="c"></div> |
| </div> |
| <div style="overflow:hidden; height:13px" class="b"> |
| </div> |
| </div> |
| </div> |
| </div> |
| </body> |
| </html |