43 lines
1.2 KiB
HTML
43 lines
1.2 KiB
HTML
<!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>
|