1
0
mirror of https://github.com/roytam1/UXP.git synced 2026-06-10 10:28:34 +00:00
Files
UXP/devtools/client/responsive.html/test/browser/browser_tab_remoteness_change.js
T

46 lines
1.3 KiB
JavaScript

/* Any copyright is dedicated to the Public Domain.
http://creativecommons.org/publicdomain/zero/1.0/ */
"use strict";
// Verify RDM closes synchronously when tabs change remoteness.
const TEST_URL = "http://example.com/";
add_task(function* () {
let tab = yield addTab(TEST_URL);
let { ui } = yield openRDM(tab);
let clientClosed = waitForClientClose(ui);
closeRDM(tab, {
reason: "BeforeTabRemotenessChange",
});
// This flag is set at the end of `ResponsiveUI.destroy`. If it is true
// without yielding on `closeRDM` above, then we must have closed
// synchronously.
is(ui.destroyed, true, "RDM closed synchronously");
yield clientClosed;
yield removeTab(tab);
});
add_task(function* () {
let tab = yield addTab(TEST_URL);
let { ui } = yield openRDM(tab);
let clientClosed = waitForClientClose(ui);
// Load URL that requires the main process, forcing a remoteness flip
yield load(tab.linkedBrowser, "about:robots");
// This flag is set at the end of `ResponsiveUI.destroy`. If it is true without
// yielding on `closeRDM` itself and only removing the tab, then we must have closed
// synchronously in response to tab closing.
is(ui.destroyed, true, "RDM closed synchronously");
yield clientClosed;
yield removeTab(tab);
});