This is a snapshot of web-platform-tests results. It is not maintained and developers should refer to wpt.fyi for the most current test results and other developments.
file name | chrome | edge | firefox | safari |
---|---|---|---|---|
createcredential-badargs-attestation.https.html | ||||
Overall | 7 / 7 | 7 / 7 | 6 / 6 | 6 / 6 |
Harness status | OK | OK | OK | OK |
Bad attestation parameter: attestation is empty object | PASS | PASS | PASS | PASS |
Bad attestation parameter: attestation is empty array | PASS | PASS | PASS | PASS |
Bad attestation parameter: attestation is null | PASS | PASS | PASS | PASS |
Bad attestation parameter: attestation is "noneofyourbusiness" | PASS | PASS | PASS | PASS |
Bad attestation parameter: attestation is empty string | PASS | PASS | PASS | PASS |
Clean up the test environment | PASS | PASS | missing | missing |
createcredential-badargs-authnrselection.https.html | ||||
Overall | 14 / 14 | 14 / 14 | 13 / 13 | 0 / 0 |
Harness status | OK | OK | OK | ERROR |
Bad AuthenticatorSelectionCriteria: authenticatorSelection is empty string | PASS | PASS | PASS | missing |
Bad AuthenticatorSelectionCriteria: authenticatorSelection is string | PASS | PASS | PASS | missing |
Bad AuthenticatorSelectionCriteria: authenticatorSelection attachment is empty string | PASS | PASS | PASS | missing |
Bad AuthenticatorSelectionCriteria: authenticatorSelection attachment is empty object | PASS | PASS | PASS | missing |
Bad AuthenticatorSelectionCriteria: authenticatorSelection attachment is null | PASS | PASS | PASS | missing |
Bad AuthenticatorSelectionCriteria: authenticatorSelection attachment platform | PASS | PASS | PASS | missing |
Bad AuthenticatorSelectionCriteria: authenticatorSelection residentKey true | PASS | PASS | PASS | missing |
Bad AuthenticatorSelectionCriteria: authenticatorSelection userVerification empty string | PASS | PASS | PASS | missing |
Bad AuthenticatorSelectionCriteria: authenticatorSelection userVerification empty object | PASS | PASS | PASS | missing |
Bad AuthenticatorSelectionCriteria: authenticatorSelection userVerification bad value | PASS | PASS | PASS | missing |
Bad AuthenticatorSelectionCriteria: authenticatorSelection userVerification null | PASS | PASS | PASS | missing |
Bad AuthenticatorSelectionCriteria: authenticatorSelection userVerification required | PASS | PASS | PASS | missing |
Clean up the test environment | PASS | PASS | missing | missing |
createcredential-badargs-challenge.https.html | ||||
Overall | 7 / 7 | 7 / 7 | 6 / 6 | 6 / 6 |
Harness status | OK | OK | OK | OK |
Bad challenge: challenge missing | PASS | PASS | PASS | PASS |
Bad challenge: challenge is string | PASS | PASS | PASS | PASS |
Bad challenge: challenge is null | PASS | PASS | PASS | PASS |
Bad challenge: challenge is empty object | PASS | PASS | PASS | PASS |
Bad challenge: challenge is empty Array | PASS | PASS | PASS | PASS |
Clean up the test environment | PASS | PASS | missing | missing |
createcredential-badargs-rp.https.html | ||||
Overall | 14 / 14 | 14 / 14 | 10 / 10 | 0 / 0 |
Harness status | OK | OK | TIMEOUT | ERROR |
Bad rp: rp missing | PASS | PASS | PASS | missing |
Bad rp: rp null | PASS | PASS | FAIL | missing |
Bad rp: rp is string | PASS | PASS | PASS | missing |
Bad rp: rp is empty object | PASS | PASS | PASS | missing |
Bad rp: id is null | PASS | PASS | PASS | missing |
Bad rp: id is empty String | PASS | PASS | PASS | missing |
Bad rp: id is invalid domain (has space) | PASS | PASS | PASS | missing |
Bad rp: id is invalid domain (starts with dash) | PASS | PASS | PASS | missing |
Bad rp: id is invalid domain (starts with number) | PASS | PASS | PASS | missing |
Bad rp id: id is host + port | PASS | PASS | PASS | missing |
rp missing name | PASS | PASS | PASS | missing |
Bad rp: icon is insecure | PASS | PASS | TIMEOUT | missing |
Clean up the test environment | PASS | PASS | missing | missing |
createcredential-badargs-user.https.html | ||||
Overall | 18 / 18 | 18 / 18 | 17 / 17 | 0 / 0 |
Harness status | OK | OK | OK | ERROR |
Bad user: user missing | PASS | PASS | PASS | missing |
Bad user: user is string | PASS | PASS | PASS | missing |
Bad user: user is empty object | PASS | PASS | PASS | missing |
Bad user: id is undefined | PASS | PASS | PASS | missing |
Bad user: id is object | PASS | PASS | PASS | missing |
Bad user: id is null | PASS | PASS | PASS | missing |
Bad user: id is empty String | PASS | PASS | PASS | missing |
Bad user: id is empty Array | PASS | PASS | PASS | missing |
Bad user: ArrayBuffer id is too long (65 bytes) | PASS | PASS | PASS | missing |
Bad user: Int16Array id is too long (66 bytes) | PASS | PASS | PASS | missing |
Bad user: Int32Array id is too long (68 bytes) | PASS | PASS | PASS | missing |
Bad user: Float32Array id is too long (68 bytes) | PASS | PASS | PASS | missing |
Bad user: Float64Array id is too long (72 bytes) | PASS | PASS | PASS | missing |
Bad user: id is too long (65 bytes) | PASS | PASS | PASS | missing |
user missing name | PASS | PASS | PASS | missing |
Bad user: displayName is undefined | PASS | PASS | PASS | missing |
Clean up the test environment | PASS | PASS | missing | missing |
createcredential-excludecredentials.https.html | ||||
Overall | 8 / 8 | 8 / 8 | 2 / 2 | 0 / 0 |
Harness status | OK | OK | TIMEOUT | ERROR |
Bad excludeCredentials: string | PASS | PASS | PASS | missing |
Bad excludeCredentials: empty object | PASS | PASS | PASS | missing |
excludeCredentials missing | PASS | PASS | TIMEOUT | missing |
excludeCredentials empty array | PASS | PASS | NOTRUN | missing |
exclude existing credential | PASS | PASS | NOTRUN | missing |
exclude random (non-existing) credential | PASS | PASS | NOTRUN | missing |
Clean up the test environment | PASS | PASS | missing | missing |
createcredential-extensions.https.html | ||||
Overall | 7 / 7 | 7 / 7 | 1 / 1 | 0 / 0 |
Harness status | OK | OK | TIMEOUT | ERROR |
Bad extensions: extensions is string | PASS | PASS | PASS | missing |
extensions is a nonsensical JSON string | PASS | PASS | TIMEOUT | missing |
empty appid in create request | PASS | PASS | NOTRUN | missing |
null appid in create request | PASS | PASS | NOTRUN | missing |
appid in create request | PASS | PASS | NOTRUN | missing |
Clean up the test environment | PASS | PASS | missing | missing |
createcredential-getpublickey.https.html | ||||
Overall | 3 / 3 | 3 / 3 | 0 / 0 | 0 / 0 |
Harness status | OK | OK | TIMEOUT | ERROR |
WebAuthn getPublicKey | PASS | PASS | TIMEOUT | missing |
Clean up the test environment | PASS | PASS | missing | missing |
createcredential-large-blob-not-supported.https.html | ||||
Overall | 7 / 7 | 7 / 7 | 0 / 0 | 0 / 0 |
Harness status | OK | OK | TIMEOUT | ERROR |
navigator.credentials.create() with largeBlob.write set | PASS | PASS | TIMEOUT | missing |
navigator.credentials.create() with largeBlob.read set | PASS | PASS | NOTRUN | missing |
navigator.credentials.create() with largeBlob.support set to preferred and not supported by authenticator | PASS | PASS | NOTRUN | missing |
navigator.credentials.create() with largeBlob.support not set and not supported by authenticator | PASS | PASS | NOTRUN | missing |
navigator.credentials.create() with largeBlob.support set to required and not supported by authenticator | PASS | PASS | NOTRUN | missing |
Clean up the test environment | PASS | PASS | missing | missing |
createcredential-large-blob-supported.https.html | ||||
Overall | 5 / 5 | 5 / 5 | 0 / 0 | 0 / 0 |
Harness status | OK | OK | TIMEOUT | ERROR |
navigator.credentials.create() with largeBlob.support set to preferred and supported by authenticator | PASS | PASS | TIMEOUT | missing |
navigator.credentials.create() with largeBlob.support not set and supported by authenticator | PASS | PASS | NOTRUN | missing |
navigator.credentials.create() with largeBlob.support set to required and supported by authenticator | PASS | PASS | NOTRUN | missing |
Clean up the test environment | PASS | PASS | missing | missing |
createcredential-passing.https.html | ||||
Overall | 39 / 39 | 39 / 39 | 0 / 0 | 0 / 0 |
Harness status | OK | OK | TIMEOUT | ERROR |
passing credentials.create() with default arguments | PASS | PASS | TIMEOUT | missing |
passing credentials.create() with rpId (hostname) | PASS | PASS | NOTRUN | missing |
passing credentials.create() without rp.icon | PASS | PASS | NOTRUN | missing |
very short user id | PASS | PASS | NOTRUN | missing |
max length user id | PASS | PASS | NOTRUN | missing |
Uint8Array user id | PASS | PASS | NOTRUN | missing |
Int8Array user id | PASS | PASS | NOTRUN | missing |
Int16Array user id | PASS | PASS | NOTRUN | missing |
Int32Array user id | PASS | PASS | NOTRUN | missing |
Float32Array user id | PASS | PASS | NOTRUN | missing |
DataView user id | PASS | PASS | NOTRUN | missing |
passing credentials.create() without user.icon | PASS | PASS | NOTRUN | missing |
Int16Array challenge | PASS | PASS | NOTRUN | missing |
Int32Array challenge | PASS | PASS | NOTRUN | missing |
Float32Array challenge | PASS | PASS | NOTRUN | missing |
Float64Array challenge | PASS | PASS | NOTRUN | missing |
DataView challenge | PASS | PASS | NOTRUN | missing |
Absurdly large challenge | PASS | PASS | NOTRUN | missing |
pubKeyCredParams is empty Array | PASS | PASS | NOTRUN | missing |
EC256 pubKeyCredParams | PASS | PASS | NOTRUN | missing |
SelectEC256 pubKeyCredParams from a list | PASS | PASS | NOTRUN | missing |
passing credentials.create() with no timeout | PASS | PASS | NOTRUN | missing |
authenticatorSelection is undefined | PASS | PASS | NOTRUN | missing |
authenticatorSelection is empty object | PASS | PASS | NOTRUN | missing |
authenticatorSelection default values | PASS | PASS | NOTRUN | missing |
authenticatorSelection attachment undefined | PASS | PASS | NOTRUN | missing |
authenticatorSelection residentKey undefined | PASS | PASS | NOTRUN | missing |
authenticatorSelection residentKey false | PASS | PASS | NOTRUN | missing |
authenticatorSelection userVerification undefined | PASS | PASS | NOTRUN | missing |
authenticatorSelection userVerification discouraged | PASS | PASS | NOTRUN | missing |
attestation parameter: attestation is "none" | PASS | PASS | NOTRUN | missing |
attestation parameter: attestation is "indirect" | PASS | PASS | NOTRUN | missing |
attestation parameter: attestation is "direct" | PASS | PASS | NOTRUN | missing |
attestation parameter: attestation is undefined | PASS | PASS | NOTRUN | missing |
extensions undefined | PASS | PASS | NOTRUN | missing |
extensions are empty object | PASS | PASS | NOTRUN | missing |
extensions are dict of empty strings | PASS | PASS | NOTRUN | missing |
Clean up the test environment | PASS | PASS | missing | missing |
createcredential-pubkeycredparams.https.html | ||||
Overall | 11 / 11 | 11 / 11 | 8 / 8 | 0 / 0 |
Harness status | OK | OK | OK | ERROR |
Bad pubKeyCredParams: pubKeyCredParams is undefined | PASS | PASS | PASS | missing |
Bad pubKeyCredParams: pubKeyCredParams is string | PASS | PASS | PASS | missing |
Bad pubKeyCredParams: pubKeyCredParams is null | PASS | PASS | PASS | missing |
Bad pubKeyCredParams: first param has bad type ("something-else") | PASS | PASS | PASS | missing |
Bad pubKeyCredParams: first param has bad type ("") | PASS | PASS | PASS | missing |
Bad pubKeyCredParams: first param has bad type (null) | PASS | PASS | PASS | missing |
Bad pubKeyCredParams: first param has bad type (empty object) | PASS | PASS | PASS | missing |
Bad pubKeyCredParams: first param has bad alg (42) | PASS | PASS | FAIL | missing |
Bad pubKeyCredParams: first param has bad alg (0) | PASS | PASS | FAIL | missing |
Clean up the test environment | PASS | PASS | missing | missing |
createcredential-resident-key.https.html | ||||
Overall | 16 / 16 | 16 / 16 | 0 / 0 | 0 / 0 |
Harness status | OK | OK | TIMEOUT | ERROR |
U2F: navigator.credentials.create() with credProps extension, rk=discouraged | PASS | PASS | TIMEOUT | missing |
U2F: navigator.credentials.create() with credProps extension, rk=preferred | PASS | PASS | NOTRUN | missing |
U2F: navigator.credentials.create() with credProps extension, rk=required | PASS | PASS | NOTRUN | missing |
CTAP 2.0 without resident key support: navigator.credentials.create() with credProps extension, rk=discouraged | PASS | PASS | NOTRUN | missing |
CTAP 2.0 without resident key support: navigator.credentials.create() with credProps extension, rk=preferred | PASS | PASS | NOTRUN | missing |
CTAP 2.0 without resident key support: navigator.credentials.create() with credProps extension, rk=required | PASS | PASS | NOTRUN | missing |
CTAP 2.0 with resident key support: navigator.credentials.create() with credProps extension, rk=discouraged | PASS | PASS | NOTRUN | missing |
CTAP 2.0 with resident key support: navigator.credentials.create() with credProps extension, rk=preferred | PASS | PASS | NOTRUN | missing |
CTAP 2.0 with resident key support: navigator.credentials.create() with credProps extension, rk=required | PASS | PASS | NOTRUN | missing |
CTAP 2.1 without resident key support: navigator.credentials.create() with credProps extension, rk=discouraged | PASS | PASS | NOTRUN | missing |
CTAP 2.1 without resident key support: navigator.credentials.create() with credProps extension, rk=preferred | PASS | PASS | NOTRUN | missing |
CTAP 2.1 without resident key support: navigator.credentials.create() with credProps extension, rk=required | PASS | PASS | NOTRUN | missing |
CTAP 2.1 with resident key support: navigator.credentials.create() with credProps extension, rk=discouraged | PASS | PASS | NOTRUN | missing |
CTAP 2.1 with resident key support: navigator.credentials.create() with credProps extension, rk=preferred | PASS | PASS | NOTRUN | missing |
CTAP 2.1 with resident key support: navigator.credentials.create() with credProps extension, rk=required | PASS | PASS | NOTRUN | missing |
createcredential-timeout.https.html | ||||
Overall | 2 / 2 | 2 / 2 | 2 / 2 | 2 / 2 |
Harness status | OK | OK | OK | OK |
ensure create credential times out | PASS | PASS | PASS | PASS |
getcredential-badargs-rpid.https.html | ||||
Overall | 8 / 8 | 8 / 8 | 0 / 0 | 0 / 0 |
Harness status | OK | OK | TIMEOUT | ERROR |
Bad rpId: empty string | PASS | PASS | TIMEOUT | missing |
Bad rpId: null | PASS | PASS | NOTRUN | missing |
Bad rpId: invalid domain (has space) | PASS | PASS | NOTRUN | missing |
Bad rpId: invalid domain (starts with dash) | PASS | PASS | NOTRUN | missing |
Bad rpId: invalid domain (starts with number) | PASS | PASS | NOTRUN | missing |
Bad rpId: host + port | PASS | PASS | NOTRUN | missing |
Clean up the test environment | PASS | PASS | missing | missing |
getcredential-badargs-userverification.https.html | ||||
Overall | 7 / 7 | 7 / 7 | 0 / 0 | 0 / 0 |
Harness status | OK | OK | TIMEOUT | ERROR |
Bad userVerification: empty string | PASS | PASS | TIMEOUT | missing |
Bad userVerification: empty object | PASS | PASS | NOTRUN | missing |
Bad userVerification: bad value | PASS | PASS | NOTRUN | missing |
Bad userVerification: null | PASS | PASS | NOTRUN | missing |
Bad userVerification: "required" | PASS | PASS | NOTRUN | missing |
Clean up the test environment | PASS | PASS | missing | missing |
getcredential-extensions.https.html | ||||
Overall | 9 / 9 | 9 / 9 | 0 / 0 | 0 / 0 |
Harness status | OK | OK | TIMEOUT | ERROR |
Bad extensions: extensions is string | PASS | PASS | TIMEOUT | missing |
extensions is null | PASS | PASS | NOTRUN | missing |
extensions is empty Array | PASS | PASS | NOTRUN | missing |
extensions is empty ArrayBuffer | PASS | PASS | NOTRUN | missing |
ignored extension | PASS | PASS | NOTRUN | missing |
extension ID too long | PASS | PASS | NOTRUN | missing |
credProps is only supported at registration | PASS | PASS | NOTRUN | missing |
Clean up the test environment | PASS | PASS | missing | missing |
getcredential-large-blob-not-supported.https.html | ||||
Overall | 6 / 6 | 6 / 6 | 0 / 0 | 0 / 0 |
Harness status | OK | OK | TIMEOUT | ERROR |
navigator.credentials.get() with largeBlob.support set | PASS | PASS | TIMEOUT | missing |
navigator.credentials.get() with largeBlob.read and largeBlob.write set | PASS | PASS | NOTRUN | missing |
navigator.credentials.get() with largeBlob.read set without authenticator support | PASS | PASS | NOTRUN | missing |
navigator.credentials.get() with largeBlob.write set without authenticator support | PASS | PASS | NOTRUN | missing |
Clean up the test environment | PASS | PASS | missing | missing |
getcredential-large-blob-supported.https.html | ||||
Overall | 4 / 4 | 4 / 4 | 0 / 0 | 0 / 0 |
Harness status | OK | OK | TIMEOUT | ERROR |
navigator.credentials.get() with largeBlob.read set with no blob on authenticator | PASS | PASS | TIMEOUT | missing |
navigator.credentials.get() read and write blob | PASS | PASS | NOTRUN | missing |
Clean up the test environment | PASS | PASS | missing | missing |
getcredential-passing.https.html | ||||
Overall | 12 / 12 | 12 / 12 | 0 / 0 | 0 / 0 |
Harness status | OK | OK | TIMEOUT | ERROR |
passing credentials.get() with default args | PASS | PASS | TIMEOUT | missing |
passing credentials.create() with no timeout | PASS | PASS | NOTRUN | missing |
rpId undefined | PASS | PASS | NOTRUN | missing |
passing credentials.get() with rpId (hostname) | PASS | PASS | NOTRUN | missing |
authenticatorSelection userVerification undefined | PASS | PASS | NOTRUN | missing |
authenticatorSelection userVerification preferred | PASS | PASS | NOTRUN | missing |
authenticatorSelection userVerification discouraged | PASS | PASS | NOTRUN | missing |
extensions undefined | PASS | PASS | NOTRUN | missing |
extensions are empty object | PASS | PASS | NOTRUN | missing |
extensions are dict of empty strings | PASS | PASS | NOTRUN | missing |
Clean up the test environment | PASS | PASS | missing | missing |
getcredential-rk-passing.https.html | ||||
Overall | 4 / 4 | 4 / 4 | 0 / 0 | 0 / 0 |
Harness status | OK | OK | TIMEOUT | ERROR |
empty allowCredentials | PASS | PASS | TIMEOUT | missing |
undefined allowCredentials | PASS | PASS | NOTRUN | missing |
Clean up the test environment | PASS | PASS | missing | missing |
getcredential-timeout.https.html | ||||
Overall | 2 / 2 | 2 / 2 | 0 / 0 | 0 / 0 |
Harness status | OK | OK | TIMEOUT | ERROR |
WebAuthn navigator.credentials.get() timeout Tests | PASS | PASS | TIMEOUT | missing |
idlharness.https.window.html | ||||
Overall | 70 / 70 | 70 / 70 | 66 / 66 | 66 / 66 |
Harness status | OK | OK | OK | OK |
idl_test setup | PASS | PASS | PASS | PASS |
idl_test validation | PASS | PASS | PASS | PASS |
Partial dictionary CredentialCreationOptions: original dictionary defined | PASS | PASS | PASS | PASS |
Partial dictionary CredentialCreationOptions: member names are unique | PASS | PASS | PASS | PASS |
Partial dictionary CredentialRequestOptions: original dictionary defined | PASS | PASS | PASS | PASS |
Partial dictionary CredentialRequestOptions: member names are unique | PASS | PASS | PASS | PASS |
Partial interface PublicKeyCredential: original interface defined | PASS | PASS | PASS | PASS |
Partial interface PublicKeyCredential: member names are unique | PASS | PASS | PASS | PASS |
Partial dictionary AuthenticationExtensionsClientInputs: original dictionary defined | PASS | PASS | PASS | PASS |
Partial dictionary AuthenticationExtensionsClientInputs: member names are unique | PASS | PASS | PASS | PASS |
Partial dictionary AuthenticationExtensionsClientOutputs: original dictionary defined | PASS | PASS | PASS | PASS |
Partial dictionary AuthenticationExtensionsClientOutputs: member names are unique | PASS | PASS | PASS | PASS |
Partial dictionary AuthenticationExtensionsClientInputs[2]: original dictionary defined | PASS | PASS | PASS | PASS |
Partial dictionary AuthenticationExtensionsClientInputs[2]: member names are unique | PASS | PASS | PASS | PASS |
Partial dictionary AuthenticationExtensionsClientOutputs[2]: original dictionary defined | PASS | PASS | PASS | PASS |
Partial dictionary AuthenticationExtensionsClientOutputs[2]: member names are unique | PASS | PASS | PASS | PASS |
Partial dictionary AuthenticationExtensionsClientInputs[3]: original dictionary defined | PASS | PASS | PASS | PASS |
Partial dictionary AuthenticationExtensionsClientInputs[3]: member names are unique | PASS | PASS | PASS | PASS |
Partial dictionary AuthenticationExtensionsClientOutputs[3]: original dictionary defined | PASS | PASS | PASS | PASS |
Partial dictionary AuthenticationExtensionsClientOutputs[3]: member names are unique | PASS | PASS | PASS | PASS |
Partial dictionary AuthenticationExtensionsClientInputs[4]: original dictionary defined | PASS | PASS | PASS | PASS |
Partial dictionary AuthenticationExtensionsClientInputs[4]: member names are unique | PASS | PASS | PASS | PASS |
Partial dictionary AuthenticationExtensionsClientOutputs[4]: original dictionary defined | PASS | PASS | PASS | PASS |
Partial dictionary AuthenticationExtensionsClientOutputs[4]: member names are unique | PASS | PASS | PASS | PASS |
Partial dictionary AuthenticationExtensionsClientInputs[5]: original dictionary defined | PASS | PASS | PASS | PASS |
Partial dictionary AuthenticationExtensionsClientInputs[5]: member names are unique | PASS | PASS | PASS | PASS |
Partial dictionary AuthenticationExtensionsClientOutputs[5]: original dictionary defined | PASS | PASS | PASS | PASS |
Partial dictionary AuthenticationExtensionsClientOutputs[5]: member names are unique | PASS | PASS | PASS | PASS |
Partial dictionary CredentialRequestOptions[2]: member names are unique | PASS | PASS | PASS | PASS |
Partial dictionary CredentialCreationOptions[2]: member names are unique | PASS | PASS | PASS | PASS |
Partial dictionary CredentialRequestOptions[3]: member names are unique | PASS | PASS | PASS | PASS |
Partial dictionary CredentialCreationOptions[3]: member names are unique | PASS | PASS | PASS | PASS |
PublicKeyCredential interface: existence and properties of interface object | PASS | PASS | PASS | PASS |
PublicKeyCredential interface object length | PASS | PASS | PASS | PASS |
PublicKeyCredential interface object name | PASS | PASS | PASS | PASS |
PublicKeyCredential interface: existence and properties of interface prototype object | PASS | PASS | PASS | PASS |
PublicKeyCredential interface: existence and properties of interface prototype object's "constructor" property | PASS | PASS | PASS | PASS |
PublicKeyCredential interface: existence and properties of interface prototype object's @@unscopables property | PASS | PASS | PASS | PASS |
PublicKeyCredential interface: attribute rawId | PASS | PASS | PASS | PASS |
PublicKeyCredential interface: attribute response | PASS | PASS | PASS | PASS |
PublicKeyCredential interface: operation getClientExtensionResults() | PASS | PASS | PASS | PASS |
PublicKeyCredential interface: operation isUserVerifyingPlatformAuthenticatorAvailable() | PASS | PASS | PASS | PASS |
AuthenticatorResponse interface: existence and properties of interface object | PASS | PASS | PASS | PASS |
AuthenticatorResponse interface object length | PASS | PASS | PASS | PASS |
AuthenticatorResponse interface object name | PASS | PASS | PASS | PASS |
AuthenticatorResponse interface: existence and properties of interface prototype object | PASS | PASS | PASS | PASS |
AuthenticatorResponse interface: existence and properties of interface prototype object's "constructor" property | PASS | PASS | PASS | PASS |
AuthenticatorResponse interface: existence and properties of interface prototype object's @@unscopables property | PASS | PASS | PASS | PASS |
AuthenticatorResponse interface: attribute clientDataJSON | PASS | PASS | PASS | PASS |
AuthenticatorAttestationResponse interface: existence and properties of interface object | PASS | PASS | PASS | PASS |
AuthenticatorAttestationResponse interface object length | PASS | PASS | PASS | PASS |
AuthenticatorAttestationResponse interface object name | PASS | PASS | PASS | PASS |
AuthenticatorAttestationResponse interface: existence and properties of interface prototype object | PASS | PASS | PASS | PASS |
AuthenticatorAttestationResponse interface: existence and properties of interface prototype object's "constructor" property | PASS | PASS | PASS | PASS |
AuthenticatorAttestationResponse interface: existence and properties of interface prototype object's @@unscopables property | PASS | PASS | PASS | PASS |
AuthenticatorAttestationResponse interface: attribute attestationObject | PASS | PASS | PASS | PASS |
AuthenticatorAttestationResponse interface: operation getTransports() | PASS | PASS | FAIL | FAIL |
AuthenticatorAttestationResponse interface: operation getAuthenticatorData() | PASS | PASS | FAIL | FAIL |
AuthenticatorAttestationResponse interface: operation getPublicKey() | PASS | PASS | FAIL | FAIL |
AuthenticatorAttestationResponse interface: operation getPublicKeyAlgorithm() | PASS | PASS | FAIL | FAIL |
AuthenticatorAssertionResponse interface: existence and properties of interface object | PASS | PASS | PASS | PASS |
AuthenticatorAssertionResponse interface object length | PASS | PASS | PASS | PASS |
AuthenticatorAssertionResponse interface object name | PASS | PASS | PASS | PASS |
AuthenticatorAssertionResponse interface: existence and properties of interface prototype object | PASS | PASS | PASS | PASS |
AuthenticatorAssertionResponse interface: existence and properties of interface prototype object's "constructor" property | PASS | PASS | PASS | PASS |
AuthenticatorAssertionResponse interface: existence and properties of interface prototype object's @@unscopables property | PASS | PASS | PASS | PASS |
AuthenticatorAssertionResponse interface: attribute authenticatorData | PASS | PASS | PASS | PASS |
AuthenticatorAssertionResponse interface: attribute signature | PASS | PASS | PASS | PASS |
AuthenticatorAssertionResponse interface: attribute userHandle | PASS | PASS | PASS | PASS |
securecontext.http.html | ||||
Overall | 2 / 2 | 2 / 2 | 2 / 2 | 2 / 2 |
Harness status | OK | OK | OK | OK |
no navigator.credentials.create in non-secure context | PASS | PASS | PASS | PASS |
securecontext.https.html | ||||
Overall | 2 / 2 | 2 / 2 | 2 / 2 | 2 / 2 |
Harness status | OK | OK | OK | OK |
navigator.credentials.create exists in secure context | PASS | PASS | PASS | PASS |
webauthn-testdriver-basic.https.html | ||||
Overall | 5 / 5 | 5 / 5 | 0 / 0 | 0 / 0 |
Harness status | OK | OK | TIMEOUT | ERROR |
Set up the test environment | PASS | PASS | FAIL | missing |
Create a credential | PASS | PASS | TIMEOUT | missing |
Get an assertion | PASS | PASS | NOTRUN | missing |
Clean up the test environment | PASS | PASS | NOTRUN | missing |