chromium/third_party/blink/web_tests/fast/events/autoscroll-upwards-propagation-overflow-hidden-iframe-body.html

<!DOCTYPE html>
<script src="../../resources/js-test.js"></script>
<script type="text/javascript">
  var maxScrollLeftiFrame;

  setPrintTestResultsLazily();
  jsTestIsAsync = true;
  description("This test ensures that if an autoscroll starts from within a " +
    "scrollable div in an iframe, it does not propagate to its non-scrollable " +
    "document body. Furthermore, it tests that if the body has only one of " +
    "overflowX or overflowY set to hidden, the scrollable axis actually " +
    "scrolls. Note that this test is pertaining to crbug.com/531525.");

  function finishTest() {
    eventSender.mouseUp();
    var iframe = document.getElementById('partialScrolliFrame');
    var iframeDoc = iframe.contentDocument;
    // Because only overflowY:hidden is set, horizontal scroll should happen and
    // vertical scroll shouldn't.
    if (iframeDoc.scrollingElement.scrollTop == 0 && iframeDoc.scrollingElement.scrollLeft == maxScrollLeftiFrame) {
      testPassed("Document didn't scroll.");
    } else {
      testFailed("Document scrolled although overflow:hidden.");
    }
    document.getElementById('partialScrolliFrame').style.display = 'none';
    finishJSTest();
  }

  window.onload = function () {
    var iframe = document.getElementById('partialScrolliFrame');
    var iframeDoc = iframe.contentDocument;
    iframeDoc.body.style.overflowY = "hidden"
    maxScrollLeftiFrame = iframeDoc.scrollingElement.scrollWidth - iframe.contentWindow.innerWidth;

    var element = iframeDoc.getElementById('select');
    var x = iframe.offsetLeft + element.offsetLeft + 7;
    var y = iframe.offsetTop + element.offsetTop + 7;
    eventSender.dragMode = false;
    eventSender.mouseMoveTo(x, y);
    eventSender.mouseDown();
    eventSender.mouseMoveTo(x + 800, y);
    eventSender.mouseMoveTo(x + 800, y + 500);
    window.requestAnimationFrame(finishTest);
  }
</script>

<iframe id="partialScrolliFrame" src="resources/page-with-scrollable-div.html"></iframe>