fune/browser/modules/test/browser_SitePermissions_expiry.js
Johann Hofmann eda5a50a7f Bug 1331579 - Explicitly update the identity block on re-requesting expired permissions. r=Paolo
MozReview-Commit-ID: CxvHSp1NjFg

--HG--
extra : rebase_source : 58e6f5b8020c01fad8da2b29e78a0c69bb78cb63
2017-01-23 11:44:03 +01:00

36 lines
1.2 KiB
JavaScript

/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
"use strict";
Cu.import("resource:///modules/SitePermissions.jsm", this);
const EXPIRE_TIME_MS = 100;
const TIMEOUT_MS = 500;
// This tests the time delay to expire temporary permission entries.
add_task(function* testTemporaryPermissionExpiry() {
SpecialPowers.pushPrefEnv({set: [
["privacy.temporary_permission_expire_time_ms", EXPIRE_TIME_MS],
]});
let uri = Services.io.newURI("https://example.com")
let id = "camera";
yield BrowserTestUtils.withNewTab(uri.spec, function*(browser) {
SitePermissions.set(uri, id, SitePermissions.BLOCK, SitePermissions.SCOPE_TEMPORARY, browser);
Assert.deepEqual(SitePermissions.get(uri, id, browser), {
state: SitePermissions.BLOCK,
scope: SitePermissions.SCOPE_TEMPORARY,
});
yield new Promise((c) => setTimeout(c, TIMEOUT_MS));
Assert.deepEqual(SitePermissions.get(uri, id, browser), {
state: SitePermissions.UNKNOWN,
scope: SitePermissions.SCOPE_PERSISTENT,
});
});
});