blob: ae0355769792f2c1266084370ac57fbd12de6137 [file] [log] [blame]
<!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>