72 lines
1.7 KiB
HTML
72 lines
1.7 KiB
HTML
<head>
|
|
<style type="text/css">
|
|
.overflow-hidden {
|
|
width: 100px;
|
|
height: 100px;
|
|
background: #000;
|
|
overflow: hidden;
|
|
}
|
|
input {
|
|
font-size: 10px;
|
|
height: 20px;
|
|
}
|
|
button {
|
|
position: relative;
|
|
left: 100px;
|
|
top: 100px;
|
|
}
|
|
</style>
|
|
<script>
|
|
function runTest() {
|
|
if (!window.testRunner)
|
|
return;
|
|
if (!window.eventSender)
|
|
return;
|
|
|
|
testRunner.dumpAsText();
|
|
testRunner.waitUntilDone();
|
|
setTimeout(startTest, 0);
|
|
}
|
|
|
|
function startTest()
|
|
{
|
|
var input = document.getElementById("input");
|
|
var x = input.offsetLeft + input.offsetWidth / 2;
|
|
var y = input.offsetTop + input.offsetHeight / 2;
|
|
|
|
eventSender.dragMode = false;
|
|
eventSender.mouseMoveTo(x, y);
|
|
eventSender.mouseDown();
|
|
|
|
// We do the dragging/selection in two steps here, because if we move
|
|
// the mouse beyond the input boundary right way, it won't start the autoscroll
|
|
// timer. See early return in AutoscrollController::startAutoscrollForSelection
|
|
// after calling RenderBox::findAutoscrollable.
|
|
eventSender.mouseMoveTo(x + 48, y);
|
|
eventSender.mouseMoveTo(x + 55, y);
|
|
setTimeout(finishTest, 100);
|
|
}
|
|
|
|
function finishTest()
|
|
{
|
|
eventSender.mouseUp();
|
|
var div = document.getElementById("div");
|
|
if (div.scrollTop == 0 && div.scrollLeft == 0)
|
|
document.getElementById("result").innerText = "Test succeeded!";
|
|
else
|
|
document.getElementById("result").innerText = "Test failed!";
|
|
|
|
testRunner.notifyDone();
|
|
}
|
|
|
|
</script>
|
|
|
|
<body onload="runTest()">
|
|
</head>
|
|
<div id="div" class="overflow-hidden">
|
|
<input id="input" type="text" value="any text here!"/>
|
|
<button/>
|
|
</div>
|
|
<p id="result">If the test has completed this sentence should be replaced by a success message.</p>
|
|
</body>
|