Files
UXP-Fixed/devtools/client/responsive.html/test/browser/browser_tab_remoteness_change.js
T
2018-02-02 04:16:08 -05:00

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