Source code
Revision control
Copy as Markdown
Other Tools
Test Info: Warnings
- This test gets skipped with pattern: xorigin OR http3 OR http2
 - Manifest: dom/credentialmanagement/identity/tests/mochitest/mochitest.toml
 
<!DOCTYPE HTML>
<html>
<head>
  <meta charset="utf-8">
  <title>Happypath Test</title>
  <script src="/tests/SimpleTest/SimpleTest.js"></script>
  <script src="head.js"></script>
  <link rel="stylesheet" href="/tests/SimpleTest/test.css"/>
  <script>
    SimpleTest.waitForExplicitFinish();
    setupTest("continue_on_reject").then(
      function () {
        SpecialPowers.wrap(document).notifyUserGestureActivation();
        return navigator.credentials.get({
          identity: {
            mode: "active",
            providers: [{
              configURL: "https://example.net/tests/dom/credentialmanagement/identity/tests/mochitest/server_manifest.sjs",
              clientId: "mochitest",
              nonce: "nonce"
            }]
          }
        });
      }
    ).then(() => {
      ok(false, "incorrectly got a credential");
    }).catch(() => {
      ok(true, "correctly got an error");
    }).finally(() => {
      async function testStorageAccessPermissionMissing() {
        ok(await SpecialPowers.testPermission('3rdPartyStorage^https://example.net', SpecialPowers.Ci.nsIPermissionManager.UNKNOWN_ACTION, document), "The popup interacted and should not have given a permission");
      }
      return testStorageAccessPermissionMissing();
    }).then(() => {
      SimpleTest.finish();
    })
  </script>
</head>
<body>
<p id="display"></p>
<div id="content" style="display: none">This is the main happypath test. We get a credential in a way that should work. This includes simplifying some logic like exactly one account and provider.</div>
<pre id="test"></pre>
</body>
</html>