| <!DOCTYPE html> |
| <title>Credential Manager: invoke methods after the relevant document has been detached.</title> |
| <script src="../resources/testharness.js"></script> |
| <script src="../resources/testharnessreport.js"></script> |
| <script> |
| |
| async_test(t => { |
| let openedWindow = window.open("./resources/notify-opener-on-load.html"); |
| let eventWatcher = new EventWatcher(t, window, ["message"]); |
| let navigatorCredentials = null; |
| eventWatcher.wait_for("message") |
| .then(_ => { |
| navigatorCredentials = openedWindow.navigator.credentials; |
| publicKeyCredential = openedWindow.PublicKeyCredential; |
| window.setTimeout(_ => openedWindow.location.reload()); |
| return eventWatcher.wait_for("message"); |
| }) |
| .then(t.step_func_done(_ => { |
| assert_equals(navigatorCredentials.get(), undefined, |
| "navigator.credentials.get() should not crash nor return a Promise."); |
| assert_equals(navigatorCredentials.create(), undefined, |
| "navigator.credentials.create() should not crash nor return a Promise."); |
| assert_equals( |
| navigatorCredentials.store(new PasswordCredential({id: 'a', password: 'b'})), |
| undefined, |
| "navigator.credentials.store() should not crash nor return a Promise."); |
| assert_equals(navigatorCredentials.preventSilentAccess(), undefined, |
| "navigator.credentials.preventSilentAccess() should not crash nor return a Promise."); |
| assert_equals(publicKeyCredential.isUserVerifyingPlatformAuthenticatorAvailable(), undefined, |
| "window.PublicKeyCredential.isUserVerifyingPlatformAuthenticatorAvailable() should not crash nor return a Promise."); |
| })); |
| }); |
| |
| </script> |