forked from mirrors/gecko-dev
- Adding browser tests to verify correct behavior in integration
- New test that fails on previous version: toolkit/components/antitracking/test/browser/browser_storageAccessScopeSameSiteWrite.js
- Add the ability to store permission by site, use 3rdPartyStorage for this
- No change is made to permission reads. These already proceed recursively, which eventually reach the site.
- When fetching all permissions for a principal, also look for site-scoped permissions on its site's principal
Differential Revision: https://phabricator.services.mozilla.com/D130675
31 lines
780 B
JavaScript
31 lines
780 B
JavaScript
const { SitePermissions } = ChromeUtils.import(
|
|
"resource:///modules/SitePermissions.jsm"
|
|
);
|
|
const { PermissionTestUtils } = ChromeUtils.import(
|
|
"resource://testing-common/PermissionTestUtils.jsm"
|
|
);
|
|
|
|
SpecialPowers.addTaskImport(
|
|
"E10SUtils",
|
|
"resource://gre/modules/E10SUtils.jsm"
|
|
);
|
|
|
|
function openPermissionPopup() {
|
|
let promise = BrowserTestUtils.waitForEvent(
|
|
gBrowser.ownerGlobal,
|
|
"popupshown",
|
|
true,
|
|
event => event.target == gPermissionPanel._permissionPopup
|
|
);
|
|
gPermissionPanel._identityPermissionBox.click();
|
|
return promise;
|
|
}
|
|
|
|
function closePermissionPopup() {
|
|
let promise = BrowserTestUtils.waitForEvent(
|
|
gPermissionPanel._permissionPopup,
|
|
"popuphidden"
|
|
);
|
|
gPermissionPanel._permissionPopup.hidePopup();
|
|
return promise;
|
|
}
|