diff options
Diffstat (limited to 'layout/xul/test/browser_bug1163304.js')
-rw-r--r-- | layout/xul/test/browser_bug1163304.js | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/layout/xul/test/browser_bug1163304.js b/layout/xul/test/browser_bug1163304.js new file mode 100644 index 0000000000..b8e9409ddf --- /dev/null +++ b/layout/xul/test/browser_bug1163304.js @@ -0,0 +1,35 @@ +function test() { + waitForExplicitFinish(); + + let searchBar = BrowserSearch.searchBar; + searchBar.focus(); + + let DOMWindowUtils = EventUtils._getDOMWindowUtils(); + is(DOMWindowUtils.IMEStatus, DOMWindowUtils.IME_STATUS_ENABLED, + "IME should be available when searchbar has focus"); + + let searchPopup = document.getElementById("PopupSearchAutoComplete"); + searchPopup.addEventListener("popupshown", function (aEvent) { + searchPopup.removeEventListener("popupshown", arguments.callee); + setTimeout(function () { + is(DOMWindowUtils.IMEStatus, DOMWindowUtils.IME_STATUS_ENABLED, + "IME should be available even when the popup of searchbar is open"); + searchPopup.addEventListener("popuphidden", function (aEvent) { + searchPopup.removeEventListener("popuphidden", arguments.callee); + setTimeout(function () { + is(DOMWindowUtils.IMEStatus, DOMWindowUtils.IME_STATUS_DISABLED, + "IME should not be available when menubar is active"); + // Inactivate the menubar (and restore the focus to the searchbar + EventUtils.synthesizeKey("VK_ESCAPE", {}); + is(DOMWindowUtils.IMEStatus, DOMWindowUtils.IME_STATUS_ENABLED, + "IME should be available after focus is back to the searchbar"); + finish(); + }, 0); + }); + // Activate the menubar, then, the popup should be closed + EventUtils.synthesizeKey("VK_ALT", {}); + }, 0); + }); + // Open popup of the searchbar + EventUtils.synthesizeKey("VK_F4", {}); +} |