| <!DOCTYPE html> |
| <title>Federated Credential Management API multi IDP multiple gets during onload test.</title> |
| <link rel="help" href="https://fedidcg.github.io/FedCM"> |
| <script src="/resources/testharness.js"></script> |
| <script src="/resources/testharnessreport.js"></script> |
| <script src="/resources/testdriver.js"></script> |
| <script src="/resources/testdriver-vendor.js"></script> |
| |
| <body> |
| |
| <script type="module"> |
| import {set_fedcm_cookie, |
| set_alt_fedcm_cookie, |
| request_options_with_mediation_required, |
| alt_request_options_with_mediation_required, |
| fedcm_select_account_promise} from '../support/fedcm-helper.sub.js'; |
| |
| let cookies_promise = Promise.all([set_fedcm_cookie(), set_alt_fedcm_cookie()]); |
| |
| promise_test(async t => { |
| const window_loaded = new Promise(resolve => { |
| window.addEventListener('load', async () => { |
| const first_cred = navigator.credentials.get(request_options_with_mediation_required()); |
| const second_cred = navigator.credentials.get(alt_request_options_with_mediation_required()); |
| await cookies_promise; |
| await fedcm_select_account_promise(t, 0); |
| await promise_rejects_dom(t, 'NetworkError', second_cred); |
| const first = await first_cred; |
| assert_equals(first.token, "token"); |
| resolve(); |
| }); |
| }); |
| await window_loaded; |
| }, "No `get` calls before onload, multiple `get` calls during onload are allowed."); |
| |
| </script> |