michael@0: /* Any copyright is dedicated to the Public Domain. michael@0: http://creativecommons.org/publicdomain/zero/1.0/ */ michael@0: michael@0: function test() { michael@0: waitForExplicitFinish(); michael@0: michael@0: // show the tab view michael@0: window.addEventListener("tabviewshown", onTabViewWindowLoaded, false); michael@0: ok(!TabView.isVisible(), "Tab View is hidden"); michael@0: TabView.toggle(); michael@0: } michael@0: michael@0: function onTabViewWindowLoaded() { michael@0: window.removeEventListener("tabviewshown", onTabViewWindowLoaded, false); michael@0: michael@0: ok(TabView.isVisible(), "Tab View is visible"); michael@0: michael@0: let contentWindow = document.getElementById("tab-view").contentWindow; michael@0: let searchButton = contentWindow.document.getElementById("searchbutton"); michael@0: michael@0: ok(searchButton, "Search button exists"); michael@0: michael@0: let onSearchEnabled = function() { michael@0: contentWindow.removeEventListener( michael@0: "tabviewsearchenabled", onSearchEnabled, false); michael@0: let search = contentWindow.document.getElementById("search"); michael@0: ok(search.style.display != "none", "Search is enabled"); michael@0: escapeTest(contentWindow); michael@0: } michael@0: contentWindow.addEventListener("tabviewsearchenabled", onSearchEnabled, michael@0: false); michael@0: // enter search mode michael@0: EventUtils.sendMouseEvent({ type: "mousedown" }, searchButton, michael@0: contentWindow); michael@0: } michael@0: michael@0: function escapeTest(contentWindow) { michael@0: let onSearchDisabled = function() { michael@0: contentWindow.removeEventListener( michael@0: "tabviewsearchdisabled", onSearchDisabled, false); michael@0: michael@0: let search = contentWindow.document.getElementById("search"); michael@0: ok(search.style.display == "none", "Search is disabled"); michael@0: toggleTabViewTest(contentWindow); michael@0: } michael@0: contentWindow.addEventListener("tabviewsearchdisabled", onSearchDisabled, michael@0: false); michael@0: EventUtils.synthesizeKey("VK_ESCAPE", { }, contentWindow); michael@0: } michael@0: michael@0: function toggleTabViewTest(contentWindow) { michael@0: let onTabViewHidden = function() { michael@0: contentWindow.removeEventListener("tabviewhidden", onTabViewHidden, false); michael@0: michael@0: ok(!TabView.isVisible(), "Tab View is hidden"); michael@0: finish(); michael@0: } michael@0: contentWindow.addEventListener("tabviewhidden", onTabViewHidden, false); michael@0: // Use keyboard shortcut to toggle back to browser view michael@0: EventUtils.synthesizeKey("e", { accelKey: true, shiftKey: true }); michael@0: }