<!DOCTYPE html>
<html>
<!--
 | Fixed positioned elements not in the containing block are excluded from the
 | scrolling area.
 |   https://www.w3.org/TR/cssom-view-1/#extension-to-the-element-interface
 |   https://www.w3.org/TR/cssom-view-1/#scrolling-area
 -->
<head>
  <style>
    body {
      font-family: Roboto;
      font-size: 16px;
      background-color: #FF0000;
    }

    .overflow-scroll {
      width: 150px;
      height: 150px;
      overflow: scroll;
      position: absolute;
      background-color: #808080;
    }

    .content-positioned {
      width: 50px;
      height: 50px;
      position: fixed;
      background-color: #0000FF;
    }
  </style>
  <script>
    if (window.testRunner) {
      window.testRunner.waitUntilDone();
    }

    function runTest() {
      var error = "";
      var scroller = document.getElementById("scroller");
      if (scroller.scrollWidth != 150) {
        error += "\nValue of: scrollWidth"
               + "\n  Actual: " + scroller.scrollWidth
               + "\nExpected: " + 150;
      }
      if (scroller.scrollHeight != 150) {
        error += "\nValue of: scrollHeight"
               + "\n  Actual: " + scroller.scrollHeight
               + "\nExpected: " + 150;
      }
      return error;
    }

    window.onload = function() {
      var error = runTest();
      if (error) {
        console.log("FAIL" + error);
      } else {
        document.body.style.backgroundColor = "rgba(0,0,0,0)";
      }

      if (window.testRunner) {
        window.testRunner.notifyDone();
      }
    }
  </script>
</head>
<body>
  <div id="scroller" class="overflow-scroll">
    <div class="content-positioned" style="transform: translateX(-25px)"></div>
    <div class="content-positioned" style="transform: translateX(50px)"></div>
    <div class="content-positioned" style="transform: translateX(125px)"></div>
  </div>
</body>
</html>
