From 5f8de423f190bbb79a62f804151bc24824fa32d8 Mon Sep 17 00:00:00 2001 From: "Matt A. Tobin" Date: Fri, 2 Feb 2018 04:16:08 -0500 Subject: Add m-esr52 at 52.6.0 --- ...ser_focus_steal_from_chrome_during_mousedown.js | 45 ++++++++++++++++++++++ 1 file changed, 45 insertions(+) create mode 100644 dom/tests/browser/browser_focus_steal_from_chrome_during_mousedown.js (limited to 'dom/tests/browser/browser_focus_steal_from_chrome_during_mousedown.js') diff --git a/dom/tests/browser/browser_focus_steal_from_chrome_during_mousedown.js b/dom/tests/browser/browser_focus_steal_from_chrome_during_mousedown.js new file mode 100644 index 000000000..a21240872 --- /dev/null +++ b/dom/tests/browser/browser_focus_steal_from_chrome_during_mousedown.js @@ -0,0 +1,45 @@ +add_task(function* test() { + const kTestURI = + "data:text/html," + + "" + + "" + + "" + + ""; + + let tab = yield BrowserTestUtils.openNewForegroundTab(gBrowser, kTestURI); + + let fm = Components.classes["@mozilla.org/focus-manager;1"]. + getService(Components.interfaces.nsIFocusManager); + + for (var button = 0; button < 3; button++) { + // Set focus to a chrome element before synthesizing a mouse down event. + document.getElementById("urlbar").focus(); + + is(fm.focusedElement, document.getElementById("urlbar").inputField, + "Failed to move focus to search bar: button=" + button); + + // Synthesize mouse down event on browser object over the button, such that + // the event propagates through both processes. + EventUtils.synthesizeMouse(tab.linkedBrowser, 20, 20, { "button": button }, null); + + isnot(fm.focusedElement, document.getElementById("urlbar").inputField, + "Failed to move focus away from search bar: button=" + button); + + yield ContentTask.spawn(tab.linkedBrowser, button, function (button) { + let fm = Components.classes["@mozilla.org/focus-manager;1"]. + getService(Components.interfaces.nsIFocusManager); + + Assert.equal(content.document.activeElement.id, "willBeFocused", + "The input element isn't active element: button=" + button); + Assert.equal(fm.focusedElement, content.document.activeElement, + "The active element isn't focused element in App level: button=" + button); + }); + } + + gBrowser.removeTab(tab); +}); -- cgit v1.2.3