Chromium Code Reviews| 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 " + |
|
skobes
2015/10/05 01:37:24
typo: non-scrollable
ymalik
2015/10/05 14:25:02
Done.
|
| + "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> |