summaryrefslogtreecommitdiffstats
path: root/dom/u2f/tests/test_polyfill_interaction.html
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-28 14:29:10 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-28 14:29:10 +0000
commit2aa4a82499d4becd2284cdb482213d541b8804dd (patch)
treeb80bf8bf13c3766139fbacc530efd0dd9d54394c /dom/u2f/tests/test_polyfill_interaction.html
parentInitial commit. (diff)
downloadfirefox-2aa4a82499d4becd2284cdb482213d541b8804dd.tar.xz
firefox-2aa4a82499d4becd2284cdb482213d541b8804dd.zip
Adding upstream version 86.0.1.upstream/86.0.1upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'dom/u2f/tests/test_polyfill_interaction.html')
-rw-r--r--dom/u2f/tests/test_polyfill_interaction.html49
1 files changed, 49 insertions, 0 deletions
diff --git a/dom/u2f/tests/test_polyfill_interaction.html b/dom/u2f/tests/test_polyfill_interaction.html
new file mode 100644
index 0000000000..871b7e4322
--- /dev/null
+++ b/dom/u2f/tests/test_polyfill_interaction.html
@@ -0,0 +1,49 @@
+<!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>