Backed out changeset 3cd839e515b9 (bug 1245420) for timeouts in browser_responsiveruleview.js

This commit is contained in:
Carsten "Tomcat" Book 2016-02-04 16:42:01 +01:00
parent e982149b67
commit 773930bc0f
4 changed files with 80 additions and 57 deletions

View File

@ -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]

View File

@ -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();
});
}

View File

@ -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");

View File

@ -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");