blob: e2046214b53be185ac2e6e460508f0be30d0fff7 [file] [log] [blame]
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
<html>
<head>
<script src="../../resources/js-test-pre.js"></script>
</head>
<body>
<p id="description"></p>
<input id=search type=search value=query>
<div id="console"></div>
<script>
description('Bug 46950: Search field cancel button keeps event capturing if the value is cleared in a focus event.');
var input = document.getElementById('search');
var cancelX = input.offsetLeft + input.offsetWidth - 6;
var middleX = input.offsetLeft + input.offsetWidth / 2
var middleY = input.offsetTop + input.offsetHeight / 2;
var mouseDownCount = 0;
input.addEventListener('mousedown', function(event) {
mouseDownCount++;
}, false);
function clearValue(event) {
this.value = '';
}
input.addEventListener('focus', clearValue, false);
// Click the cancel button.
eventSender.mouseMoveTo(cancelX, middleY);
eventSender.mouseDown();
eventSender.mouseUp();
// Click the input element. The event should not be captured by the cancel button.
eventSender.mouseMoveTo(middleX, middleY);
eventSender.mouseDown();
eventSender.mouseUp();
shouldBe('mouseDownCount', '2');
input.removeEventListener('focus', clearValue, false);
</script>
<script src="../../resources/js-test-post.js"></script>
</body>
</html>