diff -r 000000000000 -r 6474c204b198 dom/tests/browser/browser_autofocus_background.js --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/dom/tests/browser/browser_autofocus_background.js Wed Dec 31 06:09:35 2014 +0100 @@ -0,0 +1,55 @@ +function test() { + waitForExplicitFinish(); + + let fm = Components.classes["@mozilla.org/focus-manager;1"] + .getService(Components.interfaces.nsIFocusManager); + + let tabs = [ gBrowser.selectedTab, gBrowser.addTab() ]; + + // The first tab has an autofocused element. + // The second tab is exactly like the first one without the autofocus. + let testingList = [ + { uri: "data:text/html,
", + tagName: "INPUT"}, + ]; + + function runTest() { + // Set the focus to the first tab. + tabs[0].linkedBrowser.focus(); + + // Load the first tab on background. + tabs[1].linkedBrowser.addEventListener("load", onLoadBackgroundTab, true); + tabs[1].linkedBrowser.loadURI(testingList[0].uri); + } + + function onLoadBackgroundTab() { + tabs[1].linkedBrowser.removeEventListener("load", onLoadBackgroundTab, true); + + // The focus event (from autofocus) has been sent, + // let's test with executeSoon so we are sure the test is done + // after the focus event is processed. + executeSoon(doTest); + } + + function doTest() { + for (var i=0; i