fune/browser/base/content/test/permissions/head.js
Benjamin VanderSloot 83bac9db86 Bug 1731739 part 2 - Use site as key for 3rdPartyStorage permissions, rather than origin r=anti-tracking-reviewers,pbz,timhuang
- 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
2021-11-23 18:25:58 +00:00

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