Index: third_party/WebKit/LayoutTests/fast/events/autoscroll-upwards-propagation-overflow-hidden-body.html |
diff --git a/third_party/WebKit/LayoutTests/fast/events/autoscroll-upwards-propagation-overflow-hidden-body.html b/third_party/WebKit/LayoutTests/fast/events/autoscroll-upwards-propagation-overflow-hidden-body.html |
new file mode 100644 |
index 0000000000000000000000000000000000000000..7853df05138a269fbdc82e559580a222caa76019 |
--- /dev/null |
+++ b/third_party/WebKit/LayoutTests/fast/events/autoscroll-upwards-propagation-overflow-hidden-body.html |
@@ -0,0 +1,62 @@ |
+<!DOCTYPE html> |
+<style> |
+ body { |
+ width: 800px; |
+ height: 800px; |
+ overflow-y: hidden; |
+ } |
+ |
+ #text-wrapper { |
+ padding: 20px; |
+ overflow-y: scroll; |
+ background-color:#ccc; |
+ height: 40px; |
+ width: 100px; |
+ } |
+</style> |
+<script src="../../resources/js-test.js"></script> |
+<script type="text/javascript"> |
+ var scrollTopBefore; |
+ var maxScrollLeft; |
+ |
+ setPrintTestResultsLazily(); |
+ jsTestIsAsync = true; |
+ description("This test ensures that if an autoscroll starts from within a " + |
+ "scrollable div, it does not propagate to its non-scrollabe 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(); |
+ // Because only overflowY:hidden is set, horizontal scroll should happen and |
+ // vertical scroll shouldn't. |
+ if (document.scrollingElement.scrollTop == scrollTopBefore && document.scrollingElement.scrollLeft == maxScrollLeft) { |
+ testPassed("Document didn't scroll."); |
+ } else { |
+ testFailed("Document scrolled although overflow:hidden."); |
+ testFailed(document.scrollingElement.scrollTop + " " + scrollTopBefore + " " + document.scrollingElement.scrollLeft + " " + maxScrollLeft); |
+ } |
+ document.getElementById('text-wrapper').style.display = 'none'; |
+ finishJSTest(); |
+ } |
+ |
+ window.onload = function () { |
+ scrollTopBefore = document.scrollingElement.scrollTop; |
+ maxScrollLeft = document.scrollingElement.scrollWidth - window.innerWidth; |
+ |
+ var element = document.getElementById('select'); |
+ var x = element.offsetLeft + 7; |
+ var y = element.offsetTop + 7; |
+ eventSender.dragMode = false; |
+ eventSender.mouseMoveTo(x, y); |
+ eventSender.mouseDown(); |
+ eventSender.mouseMoveTo(x + 795, y); |
+ eventSender.mouseMoveTo(x + 795, y + 795); |
+ window.requestAnimationFrame(finishTest); |
+ } |
+</script> |
+ |
+<div id="text-wrapper"> |
+ <span id="select">This text could be anything but should be long enough to be scrollable.</span> |
+</div> |