From 773930bc0f0d705be3cd380a83fcb8e4dc4327b4 Mon Sep 17 00:00:00 2001 From: "Carsten \"Tomcat\" Book" Date: Thu, 4 Feb 2016 16:42:01 +0100 Subject: [PATCH] Backed out changeset 3cd839e515b9 (bug 1245420) for timeouts in browser_responsiveruleview.js --- devtools/client/framework/test/browser.ini | 15 +-- .../browser_toolbox_tabsswitch_shortcuts.js | 111 +++++++++++------- .../browser_toolbox_textbox_context_menu.js | 3 +- .../framework/test/browser_toolbox_toggle.js | 8 +- 4 files changed, 80 insertions(+), 57 deletions(-) diff --git a/devtools/client/framework/test/browser.ini b/devtools/client/framework/test/browser.ini index f5c99fd23ea..632aaaa70c6 100644 --- a/devtools/client/framework/test/browser.ini +++ b/devtools/client/framework/test/browser.ini @@ -28,7 +28,8 @@ support-files = [browser_target_events.js] [browser_target_remote.js] [browser_target_support.js] -[browser_toolbox_custom_host.js] +[browser_two_tabs.js] +skip-if = e10s && debug && os == 'win' # Bug 1231869 [browser_toolbox_dynamic_registration.js] [browser_toolbox_getpanelwhenready.js] [browser_toolbox_highlight.js] @@ -41,21 +42,17 @@ skip-if = true # Bug 1177463 - Temporarily hide the minimize button [browser_toolbox_options_disable_cache-01.js] [browser_toolbox_options_disable_cache-02.js] [browser_toolbox_options_disable_js.js] -[browser_toolbox_options_enable_serviceworkers_testing.js] # [browser_toolbox_raise.js] # Bug 962258 # skip-if = os == "win" [browser_toolbox_ready.js] [browser_toolbox_select_event.js] skip-if = e10s # Bug 1069044 - destroyInspector may hang during shutdown -[browser_toolbox_selected_tool_unavailable.js] [browser_toolbox_sidebar.js] [browser_toolbox_sidebar_events.js] [browser_toolbox_sidebar_existing_tabs.js] [browser_toolbox_sidebar_overflow_menu.js] -[browser_toolbox_split_console.js] [browser_toolbox_tabsswitch_shortcuts.js] [browser_toolbox_textbox_context_menu.js] -[browser_toolbox_theme_registration.js] [browser_toolbox_toggle.js] [browser_toolbox_tool_ready.js] [browser_toolbox_tool_remote_reopen.js] @@ -69,7 +66,11 @@ skip-if = e10s # Bug 1069044 - destroyInspector may hang during shutdown skip-if = os == "mac" && os_version == "10.8" || os == "win" && os_version == "5.1" # Bug 851129 - Re-enable browser_toolbox_window_shortcuts.js test after leaks are fixed [browser_toolbox_window_title_changes.js] [browser_toolbox_zoom.js] -[browser_two_tabs.js] -skip-if = e10s && debug && os == 'win' # Bug 1231869 +[browser_toolbox_custom_host.js] +[browser_toolbox_theme_registration.js] +[browser_toolbox_options_enable_serviceworkers_testing.js] +[browser_toolbox_selected_tool_unavailable.js] +[browser_toolbox_split_console.js] + # We want this test to run for mochitest-dt as well, so we include it here: [../../../../browser/base/content/test/general/browser_parsable_css.js] diff --git a/devtools/client/framework/test/browser_toolbox_tabsswitch_shortcuts.js b/devtools/client/framework/test/browser_toolbox_tabsswitch_shortcuts.js index 4208fbd15fa..73c06e10a84 100644 --- a/devtools/client/framework/test/browser_toolbox_tabsswitch_shortcuts.js +++ b/devtools/client/framework/test/browser_toolbox_tabsswitch_shortcuts.js @@ -5,60 +5,85 @@ requestLongerTimeout(2); var {Toolbox} = require("devtools/client/framework/toolbox"); -add_task(function*() { - let tab = yield addTab("about:blank"); - let target = TargetFactory.forTab(tab); - yield target.makeRemote(); +var toolbox, toolIDs, idIndex, secondTime = false, + reverse = false, nextKey = null, prevKey = null; - let toolIDs = gDevTools.getToolDefinitionArray() - .filter(def => def.isTargetSupported(target)) - .map(def => def.id); +function test() { + addTab("about:blank").then(function() { + let target = TargetFactory.forTab(gBrowser.selectedTab); + idIndex = 0; - let toolbox = yield gDevTools.showToolbox(target, toolIDs[0], - Toolbox.HostType.BOTTOM); - let nextKey = toolbox.doc.getElementById("toolbox-next-tool-key") - .getAttribute("key"); - let prevKey = toolbox.doc.getElementById("toolbox-previous-tool-key") - .getAttribute("key"); + target.makeRemote().then(() => { + toolIDs = gDevTools.getToolDefinitionArray() + .filter(def => def.isTargetSupported(target)) + .map(def => def.id); + gDevTools.showToolbox(target, toolIDs[0], Toolbox.HostType.BOTTOM) + .then(testShortcuts); + }); + }); +} - // Iterate over all tools, starting from options to netmonitor, in normal - // order. - for (let i = 1; i < toolIDs.length; i++) { - yield testShortcuts(toolbox, i, nextKey, toolIDs); +function testShortcuts(aToolbox, aIndex) { + if (aIndex === undefined) { + aIndex = 1; + } else if (aIndex == toolIDs.length) { + aIndex = 0; + if (secondTime) { + secondTime = false; + reverse = true; + aIndex = toolIDs.length - 2; + } + else { + secondTime = true; + } + } + else if (aIndex == -1) { + aIndex = toolIDs.length - 1; + if (secondTime) { + tidyUp(); + return; + } + secondTime = true; } - // Iterate again, in the same order, starting from netmonitor (so next one is - // 0: options). - for (let i = 0; i < toolIDs.length; i++) { - yield testShortcuts(toolbox, i, nextKey, toolIDs); + toolbox = aToolbox; + if (!nextKey) { + nextKey = toolbox.doc.getElementById("toolbox-next-tool-key") + .getAttribute("key"); + prevKey = toolbox.doc.getElementById("toolbox-previous-tool-key") + .getAttribute("key"); } + info("Toolbox fired a `ready` event"); - // Iterate over all tools in reverse order, starting from netmonitor to - // options. - for (let i = toolIDs.length - 2; i >= 0; i--) { - yield testShortcuts(toolbox, i, prevKey, toolIDs); - } + toolbox.once("select", onSelect); - // Iterate again, in reverse order again, starting from options (so next one - // is length-1: netmonitor). - for (let i = toolIDs.length - 1; i >= 0; i--) { - yield testShortcuts(toolbox, i, prevKey, toolIDs); - } - - yield toolbox.destroy(); - gBrowser.removeCurrentTab(); -}); - -function* testShortcuts(toolbox, index, key, toolIDs) { - info("Testing shortcut to switch to tool " + index + ":" + toolIDs[index] + + let key = (reverse ? prevKey: nextKey); + let modifiers = { + accelKey: true + }; + idIndex = aIndex; + info("Testing shortcut to switch to tool " + aIndex + ":" + toolIDs[aIndex] + " using key " + key); + EventUtils.synthesizeKey(key, modifiers, toolbox.doc.defaultView); +} - let onToolSelected = toolbox.once("select"); - EventUtils.synthesizeKey(key, {accelKey: true}, toolbox.doc.defaultView); - let id = yield onToolSelected; - +function onSelect(event, id) { info("toolbox-select event from " + id); - is(toolIDs.indexOf(id), index, + is(toolIDs.indexOf(id), idIndex, "Correct tool is selected on pressing the shortcut for " + id); + // Execute soon to reset the stack trace. + executeSoon(() => { + testShortcuts(toolbox, idIndex + (reverse ? -1: 1)); + }); +} + +function tidyUp() { + toolbox.destroy().then(function() { + gBrowser.removeCurrentTab(); + + toolbox = toolIDs = idIndex = Toolbox = secondTime = reverse = nextKey = + prevKey = null; + finish(); + }); } diff --git a/devtools/client/framework/test/browser_toolbox_textbox_context_menu.js b/devtools/client/framework/test/browser_toolbox_textbox_context_menu.js index 826706a69f0..c1171bb33d6 100644 --- a/devtools/client/framework/test/browser_toolbox_textbox_context_menu.js +++ b/devtools/client/framework/test/browser_toolbox_textbox_context_menu.js @@ -4,7 +4,8 @@ const URL = "data:text/html;charset=utf8,test for textbox context menu"; add_task(function*() { - let toolbox = yield openNewTabAndToolbox(URL, "inspector"); + let tab = yield addTab(URL); + let toolbox = yield gDevTools.showToolbox(TargetFactory.forTab(tab)); let textboxContextMenu = toolbox.textboxContextMenuPopup; ok(textboxContextMenu, "The textbox context menu is loaded in the toolbox"); diff --git a/devtools/client/framework/test/browser_toolbox_toggle.js b/devtools/client/framework/test/browser_toolbox_toggle.js index 77104296619..4930aad4113 100644 --- a/devtools/client/framework/test/browser_toolbox_toggle.js +++ b/devtools/client/framework/test/browser_toolbox_toggle.js @@ -11,10 +11,6 @@ const URL = "data:text/html;charset=utf-8,Toggling devtools using shortcuts"; var {Toolbox} = require("devtools/client/framework/toolbox"); add_task(function*() { - // Make sure this test starts with the selectedTool pref cleared. Previous - // tests select various tools, and that sets this pref. - Services.prefs.clearUserPref("devtools.toolbox.selectedTool"); - // Test with ACCEL+SHIFT+I / ACCEL+ALT+I (MacOSX) ; modifiers should match : // - toolbox-key-toggle in devtools/client/framework/toolbox-window.xul // - key_devToolboxMenuItem in browser/base/content/browser.xul @@ -40,7 +36,7 @@ function* testToggle(key, modifiers) { yield cleanup(); } -function* testToggleDockedToolbox(tab, key, modifiers) { +function* testToggleDockedToolbox (tab, key, modifiers) { let toolbox = getToolboxForTab(tab); isnot(toolbox.hostType, Toolbox.HostType.WINDOW, @@ -59,7 +55,7 @@ function* testToggleDockedToolbox(tab, key, modifiers) { ok(true, "Toolbox is created by using when toggle key"); } -function* testToggleDetachedToolbox(tab, key, modifiers) { +function* testToggleDetachedToolbox (tab, key, modifiers) { let toolbox = getToolboxForTab(tab); info("change the toolbox hostType to WINDOW");