<!DOCTYPE HTML> <html> <!-- https://bugzilla.mozilla.org/show_bug.cgi?id=583514 --> <head> <title>Test for Bug 583514</title> <script type="application/javascript" src="/tests/SimpleTest/SimpleTest.js"></script> <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css"/> </head> <body> <a target="_blank" href="https://bugzilla.mozilla.org/show_bug.cgi?id=583514">Mozilla Bug 583514</a> <p id="display"></p> <div id="content"> <input> </div> <pre id="test"> <script type="application/javascript"> /** Test for Bug 583514 **/ var gExpectDivClick = false; var gExpectInputClick = false; var div = document.getElementById('content'); var input = document.getElementsByTagName('input')[0]; div.addEventListener('click', function() { ok(gExpectDivClick, "click event received on div and expected status was: " + gExpectDivClick); }, false); input.addEventListener('click', function() { ok(gExpectInputClick, "click event received on input and expected status was: " + gExpectInputClick); }, false); SimpleTest.waitForExplicitFinish(); SimpleTest.waitForFocus(function() { var body = document.body; body.addEventListener('click', function(aEvent) { if (aEvent.target == input) { body.removeEventListener('click', arguments.callee, false); } ok(true, "click event received on body"); SimpleTest.executeSoon(function() { isnot(document.activeElement, input, "input shouldn't have been focused"); isnot(document.activeElement, div, "div shouldn't have been focused"); if (aEvent.target == input) { SimpleTest.finish(); } else { gExpectDivClick = true; gExpectInputClick = true; input.click(); } }); }, false); gExpectDivClick = true; div.click(); }); </script> </pre> </body> </html>