mirror of
https://repo.dactyloidae.xyz/Dactyloidae/UXP.git
synced 2026-09-06 07:48:38 +09:00
import FIREFOX_52_6_0esr_RELEASE from mozilla-esr52 hg repo
This commit is contained in:
commit
dcd9973243
150858 changed files with 23884658 additions and 0 deletions
|
|
@ -0,0 +1,128 @@
|
|||
/* Any copyright is dedicated to the Public Domain.
|
||||
http://creativecommons.org/publicdomain/zero/1.0/ */
|
||||
|
||||
"use strict";
|
||||
|
||||
// Verify that toolbox remains open when opening and closing RDM.
|
||||
|
||||
const TEST_URL = "http://example.com/";
|
||||
|
||||
function getServerConnections(browser) {
|
||||
ok(browser.isRemoteBrowser, "Content browser is remote");
|
||||
return ContentTask.spawn(browser, {}, function* () {
|
||||
const Cu = Components.utils;
|
||||
const { require } = Cu.import("resource://devtools/shared/Loader.jsm", {});
|
||||
const { DebuggerServer } = require("devtools/server/main");
|
||||
if (!DebuggerServer._connections) {
|
||||
return 0;
|
||||
}
|
||||
return Object.getOwnPropertyNames(DebuggerServer._connections);
|
||||
});
|
||||
}
|
||||
|
||||
let checkServerConnectionCount = Task.async(function* (browser, expected, msg) {
|
||||
let conns = yield getServerConnections(browser);
|
||||
is(conns.length || 0, expected, "Server connection count: " + msg);
|
||||
});
|
||||
|
||||
let checkToolbox = Task.async(function* (tab, location) {
|
||||
let target = TargetFactory.forTab(tab);
|
||||
ok(!!gDevTools.getToolbox(target), `Toolbox exists ${location}`);
|
||||
});
|
||||
|
||||
add_task(function* setup() {
|
||||
yield SpecialPowers.pushPrefEnv({
|
||||
set: [["dom.ipc.processCount", 1]]
|
||||
});
|
||||
});
|
||||
|
||||
add_task(function* () {
|
||||
let tab = yield addTab(TEST_URL);
|
||||
|
||||
let tabsInDifferentProcesses = E10S_MULTI_ENABLED &&
|
||||
(gBrowser.tabs[0].linkedBrowser.frameLoader.childID !=
|
||||
gBrowser.tabs[1].linkedBrowser.frameLoader.childID);
|
||||
|
||||
info("Open toolbox outside RDM");
|
||||
{
|
||||
// 0: No DevTools connections yet
|
||||
yield checkServerConnectionCount(tab.linkedBrowser, 0,
|
||||
"0: No DevTools connections yet");
|
||||
let { toolbox } = yield openInspector();
|
||||
if (tabsInDifferentProcesses) {
|
||||
// 1: Two tabs open, but only one per content process
|
||||
yield checkServerConnectionCount(tab.linkedBrowser, 1,
|
||||
"1: Two tabs open, but only one per content process");
|
||||
} else {
|
||||
// 2: One for each tab (starting tab plus the one we opened)
|
||||
yield checkServerConnectionCount(tab.linkedBrowser, 2,
|
||||
"2: One for each tab (starting tab plus the one we opened)");
|
||||
}
|
||||
yield checkToolbox(tab, "outside RDM");
|
||||
let { ui } = yield openRDM(tab);
|
||||
if (tabsInDifferentProcesses) {
|
||||
// 2: RDM UI adds an extra connection, 1 + 1 = 2
|
||||
yield checkServerConnectionCount(ui.getViewportBrowser(), 2,
|
||||
"2: RDM UI uses an extra connection");
|
||||
} else {
|
||||
// 3: RDM UI adds an extra connection, 2 + 1 = 3
|
||||
yield checkServerConnectionCount(ui.getViewportBrowser(), 3,
|
||||
"3: RDM UI uses an extra connection");
|
||||
}
|
||||
yield checkToolbox(tab, "after opening RDM");
|
||||
yield closeRDM(tab);
|
||||
if (tabsInDifferentProcesses) {
|
||||
// 1: RDM UI closed, return to previous connection count
|
||||
yield checkServerConnectionCount(tab.linkedBrowser, 1,
|
||||
"1: RDM UI closed, return to previous connection count");
|
||||
} else {
|
||||
// 2: RDM UI closed, return to previous connection count
|
||||
yield checkServerConnectionCount(tab.linkedBrowser, 2,
|
||||
"2: RDM UI closed, return to previous connection count");
|
||||
}
|
||||
yield checkToolbox(tab, tab.linkedBrowser, "after closing RDM");
|
||||
yield toolbox.destroy();
|
||||
// 0: All DevTools usage closed
|
||||
yield checkServerConnectionCount(tab.linkedBrowser, 0,
|
||||
"0: All DevTools usage closed");
|
||||
}
|
||||
|
||||
info("Open toolbox inside RDM");
|
||||
{
|
||||
// 0: No DevTools connections yet
|
||||
yield checkServerConnectionCount(tab.linkedBrowser, 0,
|
||||
"0: No DevTools connections yet");
|
||||
let { ui } = yield openRDM(tab);
|
||||
// 1: RDM UI uses an extra connection
|
||||
yield checkServerConnectionCount(ui.getViewportBrowser(), 1,
|
||||
"1: RDM UI uses an extra connection");
|
||||
let { toolbox } = yield openInspector();
|
||||
if (tabsInDifferentProcesses) {
|
||||
// 2: Two tabs open, but only one per content process
|
||||
yield checkServerConnectionCount(ui.getViewportBrowser(), 2,
|
||||
"2: Two tabs open, but only one per content process");
|
||||
} else {
|
||||
// 3: One for each tab (starting tab plus the one we opened)
|
||||
yield checkServerConnectionCount(ui.getViewportBrowser(), 3,
|
||||
"3: One for each tab (starting tab plus the one we opened)");
|
||||
}
|
||||
yield checkToolbox(tab, ui.getViewportBrowser(), "inside RDM");
|
||||
yield closeRDM(tab);
|
||||
if (tabsInDifferentProcesses) {
|
||||
// 1: RDM UI closed, one less connection
|
||||
yield checkServerConnectionCount(tab.linkedBrowser, 1,
|
||||
"1: RDM UI closed, one less connection");
|
||||
} else {
|
||||
// 2: RDM UI closed, one less connection
|
||||
yield checkServerConnectionCount(tab.linkedBrowser, 2,
|
||||
"2: RDM UI closed, one less connection");
|
||||
}
|
||||
yield checkToolbox(tab, tab.linkedBrowser, "after closing RDM");
|
||||
yield toolbox.destroy();
|
||||
// 0: All DevTools usage closed
|
||||
yield checkServerConnectionCount(tab.linkedBrowser, 0,
|
||||
"0: All DevTools usage closed");
|
||||
}
|
||||
|
||||
yield removeTab(tab);
|
||||
});
|
||||
Loading…
Add table
Add a link
Reference in a new issue