diff options
author | Matt A. Tobin <mattatobin@localhost.localdomain> | 2018-02-02 04:16:08 -0500 |
---|---|---|
committer | Matt A. Tobin <mattatobin@localhost.localdomain> | 2018-02-02 04:16:08 -0500 |
commit | 5f8de423f190bbb79a62f804151bc24824fa32d8 (patch) | |
tree | 10027f336435511475e392454359edea8e25895d /layout/generic/test/test_bug791616.html | |
parent | 49ee0794b5d912db1f95dce6eb52d781dc210db5 (diff) | |
download | UXP-5f8de423f190bbb79a62f804151bc24824fa32d8.tar UXP-5f8de423f190bbb79a62f804151bc24824fa32d8.tar.gz UXP-5f8de423f190bbb79a62f804151bc24824fa32d8.tar.lz UXP-5f8de423f190bbb79a62f804151bc24824fa32d8.tar.xz UXP-5f8de423f190bbb79a62f804151bc24824fa32d8.zip |
Add m-esr52 at 52.6.0
Diffstat (limited to 'layout/generic/test/test_bug791616.html')
-rw-r--r-- | layout/generic/test/test_bug791616.html | 65 |
1 files changed, 65 insertions, 0 deletions
diff --git a/layout/generic/test/test_bug791616.html b/layout/generic/test/test_bug791616.html new file mode 100644 index 000000000..e2816ea73 --- /dev/null +++ b/layout/generic/test/test_bug791616.html @@ -0,0 +1,65 @@ +<!DOCTYPE HTML> +<html> +<head> + <title>Test bug 791616</title> + <script type="text/javascript" src="/tests/SimpleTest/SimpleTest.js"></script> + <script type="text/javascript" src="/tests/SimpleTest/EventUtils.js"></script> + <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css" /> + <style> +#t { + overflow: auto; + position: absolute; + left: 200px; + top: 100px; + font: 14px/1.3em "Consolas","Bitstream Vera Sans Mono","Courier New",Courier,monospace; +} + </style> +</head> +<body> +<p id="display"></p> +<div id="t" contenteditable> + <div>66666666666666</div> + <div id="target">777777777777777777777777777777777777777</div> +</div> +</div> +<pre id="test"> +<script class="testbody"> +var t = document.getElementById("t"); +var target = document.getElementById("target"); +var sel = window.getSelection(); +var smoothScrollPref = "general.smoothScroll"; + +SimpleTest.waitForExplicitFinish(); +t.scrollTop = 0; +var targetY = target.getBoundingClientRect().top; + +SimpleTest.waitForFocus(function() { + SpecialPowers.pushPrefEnv({"set":[[smoothScrollPref, false]]}, runTest); +}); +function runTest() { + is(target.getBoundingClientRect().top, targetY, "Target should not have scrolled due to waitForFocus"); + t.focus(); + is(target.getBoundingClientRect().top, targetY, "Target should not have scrolled due to focus change"); + + // Move the caret to scroll it into view + sel.collapse(target.firstChild, 2); + synthesizeKey("VK_LEFT", {}); + + // Delay until next repaint in case stuff is asynchronous. Also + // take a trip through the event loop. + setTimeout(function() { + window.requestAnimationFrame(function() { + is(sel.anchorNode, target.firstChild, "Should have selected 'target' text node"); + is(sel.anchorOffset, 1, "Selection should have moved left one character"); + // We should not have needed to scroll the caret into view + is(target.getBoundingClientRect().top, targetY, "Target should not have scrolled"); + SimpleTest.finish(); + }); + // Make sure repainting actually happens. + target.style.background = "yellow"; + }); +} +</script> +</pre> +</body> +</html> |