<!DOCTYPE html>
<html>
<head>
  <style>
    .absolute-container {
      position: absolute;
      height: 300px;
      background-color: #FF5252;
    }
    .absolute-block {
      position: absolute;
      width: 50%;
      height: 50px;
      top: 100px;
      background-color: #03A9F4;
    }
    .thin-width {
      width: 150px;
    }
    .large-width {
      width: 300px;
    }
  </style>
  <script>
    if (window.testRunner) {
      window.testRunner.waitUntilDone();
    }

    window.onload = function() {
      if (window.testRunner) {
        window.testRunner.DoNonMeasuredLayout();
      }

      var node = document.getElementById('node');
      node.className = "absolute-container thin-width";

      if (window.testRunner) {
        window.testRunner.notifyDone();
      }
    }
  </script>
</head>
<body>
  <div id="node" class="absolute-container large-width">
    <div class="absolute-block"></div>
  </div>
</body>
</html>
