зеркало из https://github.com/mozilla/gecko-dev.git
50 строки
1.8 KiB
HTML
50 строки
1.8 KiB
HTML
<!DOCTYPE HTML>
|
|
<html>
|
|
<head>
|
|
<meta charset="utf-8">
|
|
<title>Test that our U2F implementation interacts OK with the Google polyfill</title>
|
|
<script src="/tests/SimpleTest/SimpleTest.js"></script>
|
|
<link rel="stylesheet" href="/tests/SimpleTest/test.css"/>
|
|
<script>
|
|
// We want to run our test script at toplevel, because that's where the
|
|
// polyfill runs. But we also need to wait until the pref is set, so go
|
|
// ahead and use a dynamically created script element.
|
|
SimpleTest.waitForExplicitFinish();
|
|
SpecialPowers.pushPrefEnv({ "set": [["security.webauth.u2f", true]] },
|
|
doTest);
|
|
|
|
function doTest() {
|
|
// Need a new global for the pref to really take effect.
|
|
var iframe = document.createElement("iframe");
|
|
document.documentElement.appendChild(iframe);
|
|
var win = iframe.contentWindow;
|
|
var s = document.createElement("script");
|
|
s.textContent = `
|
|
'use strict';
|
|
try {
|
|
var savedU2f = u2f;
|
|
var savedRegister = savedU2f.register;
|
|
var savedSign = savedU2f.sign;
|
|
var u2f = u2f || {};
|
|
u2f.register = function() {};
|
|
u2f.sign = function() {};
|
|
parent.is(u2f, savedU2f, "Should still have the right object");
|
|
parent.is(u2f.register, savedRegister, "Should not allow overriding 'sign'");
|
|
parent.is(u2f.sign, savedSign, "Should not allow overriding 'sign'");
|
|
} catch (e) {
|
|
parent.ok(false, "Threw an exception: " + e);
|
|
} finally {
|
|
parent.SimpleTest.finish();
|
|
}
|
|
`;
|
|
win.document.documentElement.appendChild(s);
|
|
}
|
|
</script>
|
|
</head>
|
|
<body>
|
|
<p id="display"></p>
|
|
<div id="content" style="display: none"></div>
|
|
<pre id="test"></pre>
|
|
</body>
|
|
</html>
|