<!DOCTYPE html>
<html>
<head>
<style>
.fixed-no-z-index {
  position: absolute;
  left: 10px;
}
.fixed-with-z-index {
  position: fixed;
  z-index: 1;
  left: 10px;
}
</style>
<script>
  if (window.internals) {
    window.internals.settings.setAcceleratedCompositingForFixedPositionEnabled(true);
    window.internals.setPageScaleFactor(2, 0, 0);
  }
  function test() {
    if (window.testRunner)
      testRunner.dumpAsText(true);

    var d = document.getElementById('frame').contentDocument.open();
    d.write("<div style='position:fixed; z-index: 1; left; 10px;'>TEST</div>");
    d.close();
  }
</script>
</head>
<body onload="test();" style="width:2000px;height:2000px;">
<div class="fixed-no-z-index">TEST</div><br>
<iframe id="frame"></iframe>
</body>
</html>
