42 lines
1.2 KiB
JavaScript
42 lines
1.2 KiB
JavaScript
/* Any copyright is dedicated to the Public Domain.
|
|
https://creativecommons.org/publicdomain/zero/1.0/ */
|
|
|
|
"use strict";
|
|
|
|
"use strict";
|
|
|
|
const TEST_PATH = getRootDirectory(gTestPath).replace(
|
|
"chrome://mochitests/content",
|
|
"https://example.com"
|
|
);
|
|
|
|
add_task(async function test_browsingContextWithNoOpenerHasCrossGroupOpener() {
|
|
const onNewTab = BrowserTestUtils.waitForNewTab(gBrowser, TEST_PATH, true);
|
|
const openerBrowsingContext = await SpecialPowers.spawn(
|
|
gBrowser.selectedBrowser,
|
|
[TEST_PATH],
|
|
async function (testPath) {
|
|
content.open(testPath, "_blank", "noopener");
|
|
return content.browsingContext;
|
|
}
|
|
);
|
|
const newTab = await onNewTab;
|
|
|
|
const browsingContext = newTab.linkedBrowser.browsingContext;
|
|
Assert.equal(
|
|
browsingContext.opener,
|
|
null,
|
|
"A tab opened with noopener shouldn't have an opener"
|
|
);
|
|
Assert.ok(
|
|
browsingContext.crossGroupOpener,
|
|
"A cross origin A tab opened with noopener should have a crossGroupOpener"
|
|
);
|
|
Assert.equal(
|
|
browsingContext.crossGroupOpener,
|
|
openerBrowsingContext,
|
|
"The crossGroupOpener should be the same as the actual opener"
|
|
);
|
|
|
|
await BrowserTestUtils.removeTab(newTab);
|
|
});
|