<!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
