gecko-dev/browser/components/originattributes/test/browser/browser_clientAuth.js
Jonathan Hao 8ed11ff0ff Bug 1282279 - Tests that make sure user certificates are Origin Attribute aware. r=baku
--HG--
extra : rebase_source : 960fc999bfc84fe9d651fa19c7c9b0dc92badfcf
2016-11-29 14:21:09 +08:00

44 lines
1.2 KiB
JavaScript

let certCached = true;
let secondTabStarted = false;
function onCertDialogLoaded(subject) {
certCached = false;
// Click OK.
subject.acceptDialog();
}
Services.obs.addObserver(onCertDialogLoaded, "cert-dialog-loaded", false);
registerCleanupFunction(() => {
Services.obs.removeObserver(onCertDialogLoaded, "cert-dialog-loaded");
});
function* setup() {
yield SpecialPowers.pushPrefEnv({
set: [["security.default_personal_cert", "Ask Every Time"]]
});
}
function getResult() {
// The first tab always returns true.
if (!secondTabStarted) {
certCached = true;
secondTabStarted = true;
return true;
}
// The second tab returns true if the cert is cached, so it will be different
// from the result of the first tab, and considered isolated.
let ret = certCached;
certCached = true;
secondTabStarted = false;
return ret;
}
// aGetResultImmediately must be true because we need to get the result before
// the next tab is opened.
IsolationTestTools.runTests("https://requireclientcert.example.com",
getResult,
null, // aCompareResultFunc
setup, // aBeginFunc
true); // aGetResultImmediately