Index: third_party/WebKit/LayoutTests/fast/scrolling/scroll-into-view-collapsed-div.html |
diff --git a/third_party/WebKit/LayoutTests/fast/scrolling/scroll-into-view-collapsed-div.html b/third_party/WebKit/LayoutTests/fast/scrolling/scroll-into-view-collapsed-div.html |
new file mode 100644 |
index 0000000000000000000000000000000000000000..a1608fc175545e5de63a95989e7416704d28a4d5 |
--- /dev/null |
+++ b/third_party/WebKit/LayoutTests/fast/scrolling/scroll-into-view-collapsed-div.html |
@@ -0,0 +1,114 @@ |
+<!DOCTYPE html> |
+<head> |
+ <style> |
+ #bluebox { |
+ width: 100px; |
+ height: 100px; |
+ background: blue; |
+ padding: 0px; |
+ margin: 0px; |
+ } |
+ #redbox { |
+ width: 100px; |
+ height: 100px; |
+ background: red; |
+ padding: 0px; |
+ margin: 0px; |
+ } |
+ #spacer { |
+ width: 2000px; |
+ height: 2000px; |
+ padding: 0px; |
+ margin: 0px; |
+ } |
+ #container-vertical { |
+ width: 200px; |
+ height: 100px; |
+ } |
+ #container-horizontal { |
+ width: 200px; |
+ height: 100px; |
+ } |
+ </style> |
+ <script src="../../resources/js-test.js"></script> |
+ <script> |
+ |
+ function focusTextboxHorizontal() { |
+ document.getElementById('textBox-horizontal').focus(); |
+ } |
+ |
+ function collapseToggleHorizontal() { |
+ var element = document.getElementById('container-horizontal'); |
+ |
+ if (element.clientWidth > 0) |
+ element.style.width = "0px"; |
+ else |
+ element.style.width = "200px"; |
+ } |
+ |
+ function focusTextboxVertical() { |
+ document.getElementById('textBox-vertical').focus(); |
+ } |
+ |
+ function collapseToggleVertical() { |
+ var element = document.getElementById('container-vertical'); |
+ |
+ if (element.clientHeight > 0) |
+ element.style.height = "0px"; |
+ else |
+ element.style.height = "100px"; |
+ } |
+ |
+ addEventListener('load', function() { |
+ description('Tests that scrollIntoViewIfNeeded works correctly if the ' |
+ + 'enclosing div has no height.'); |
+ |
+ if (window.testRunner) |
+ testRunner.dumpAsText(); |
+ |
+ window.scrollTo(0, 190); |
+ document.getElementById('scroller-vertical').scrollTop = 1000; |
+ document.getElementById('container-vertical').style.height = "0px"; |
+ document.getElementById('scroller-horizontal').scrollTop = 0; |
+ document.getElementById('container-horizontal').style.width = "0px"; |
+ |
+ shouldBe("window.scrollY", "190"); |
+ |
+ document.getElementById('textBox-vertical').scrollIntoViewIfNeeded(); |
+ |
+ shouldBe("window.scrollY", "190"); |
+ |
+ shouldBe("window.scrollX", "0"); |
+ |
+ document.getElementById('textBox-horizontal').scrollIntoViewIfNeeded(); |
+ |
+ shouldBe("window.scrollX", "0"); |
+ }); |
+ </script> |
+</head> |
+<body> |
+ <div style="height:200px"></div> |
+ <div id="container-vertical" > |
+ <div id="scroller-vertical" style="height: 100%; overflow: auto"> |
+ <input type="text" id="textBox-vertical"> |
+ <div id="bluebox"></div><div id="redbox"></div> |
+ <div id="bluebox"></div><div id="redbox"></div> |
+ <div id="bluebox"></div><div id="redbox"></div> |
+ <div id="bluebox"></div><div id="redbox"></div> |
+ <div id="bluebox"></div><div id="redbox"></div> |
+ </div> |
+ </div> |
+ <button onclick="focusTextboxVertical();">Focus Textbox</button> |
+ <button onclick="collapseToggleVertical();">Collapse Div With Textbox</button> |
+ <div style="padding-left: 300px"> |
+ <div id="container-horizontal" > |
+ <div id="scroller-horizontal" style="height: 100%; overflow: auto"> |
+ <div style="padding-left: 1000px"><input type="text" id="textBox-horizontal"></div> |
+ </div> |
+ </div> |
+ <button onclick="focusTextboxHorizontal();">Focus Textbox</button> |
+ <button onclick="collapseToggleHorizontal();">Collapse Div With Textbox</button> |
+ </div> |
+ <div id="console"></div> |
+ <div id="spacer"></div> |
+</body> |