fune/devtools/client/responsive/test/browser/browser_tab_remoteness_change.js

45 lines
1.2 KiB
JavaScript

/* Any copyright is dedicated to the Public Domain.
http://creativecommons.org/publicdomain/zero/1.0/ */
"use strict";
// Verify Fission-enabled RDM remains open when tab changes remoteness.
const { PromiseTestUtils } = ChromeUtils.import(
"resource://testing-common/PromiseTestUtils.jsm"
);
PromiseTestUtils.allowMatchingRejectionsGlobally(
/Permission denied to access property "document" on cross-origin object/
);
const Types = require("devtools/client/responsive/types");
const TEST_URL = "http://example.com/";
addRDMTask(
null,
async function() {
const tab = await addTab(TEST_URL);
const { ui } = await openRDM(tab);
const { store } = ui.toolWindow;
await waitUntilState(
store,
state =>
state.viewports.length == 1 &&
state.devices.listState == Types.loadableState.LOADED
);
// Load URL that requires the main process, forcing a remoteness flip
await navigateTo("about:robots");
// Bug 1625501: RDM will remain open when the embedded browser UI is enabled.
is(ui.destroyed, false, "RDM is still open.");
info("Close RDM");
await closeRDM(tab);
await removeTab(tab);
},
{ onlyPrefAndTask: true }
);