Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 0 additions & 1 deletion digital-credentials/allow-attribute-with-create.https.html
Original file line number Diff line number Diff line change
Expand Up @@ -107,7 +107,6 @@
// Results in TypeError when allowed, NotAllowedError when disallowed
requests: [],
},
mediation: "required",
};
const { data } = await new Promise((resolve) => {
window.addEventListener("message", resolve, {
Expand Down
1 change: 0 additions & 1 deletion digital-credentials/allow-attribute-with-get.https.html
Original file line number Diff line number Diff line change
Expand Up @@ -108,7 +108,6 @@
// NotAllowedError when disallowed
requests: [],
},
mediation: "required",
};
await test_driver.bless("User activation");
const { data } = await new Promise((resolve) => {
Expand Down
14 changes: 3 additions & 11 deletions digital-credentials/create.tentative.https.html
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,6 @@

const iframeSameOrigin = document.querySelector("iframe#same-origin");
const iframeCrossOrigin = document.querySelector("iframe#cross-origin");
const mediations = ["silent", "optional", "conditional", "required"];

promise_setup(async () => {
const hostInfo = get_host_info();
Expand Down Expand Up @@ -209,6 +208,8 @@
}, "navigator.credentials.create() promise is rejected if abort controller is aborted after call to create() in cross-origin iframe.");

promise_test(async (t) => {
/** @type sequence<CredentialMediationRequirement> */
const mediations = ["silent", "optional", "conditional", "required"];
const abortController = new AbortController();
const { signal } = abortController;
abortController.abort();
Expand All @@ -219,16 +220,7 @@
});
await promise_rejects_dom(t, "AbortError", requestPromise);
}
}, "Adding mediations together with abort signal respects the abort signal.");

promise_test(async (t) => {
/** @type sequence<CredentialMediationRequirement> */
const disallowedMediations = [ "conditional", "optional", "silent"];
for (const mediation of disallowedMediations) {
const options = makeCreateOptions("default", mediation);
await promise_rejects_js(t, TypeError, navigator.credentials.create(options));
}
}, "Mediation is required to create a DigitalCredential.");
}, "Mediation is implicitly required and hence ignored. Request is aborted regardless.");

promise_test(async (t) => {
await promise_rejects_js(
Expand Down
20 changes: 11 additions & 9 deletions digital-credentials/get.tentative.https.html
Original file line number Diff line number Diff line change
Expand Up @@ -233,16 +233,18 @@

promise_test(async (t) => {
/** @type sequence<CredentialMediationRequirement> */
const disallowedMediations = ["conditional", "optional", "silent"];
for (const mediation of disallowedMediations) {
const options = makeGetOptions("default", mediation);
await promise_rejects_js(
t,
TypeError,
navigator.credentials.get(options)
);
const mediations = ["silent", "optional", "conditional", "required"];
const abortController = new AbortController();
const { signal } = abortController;
abortController.abort();
for (const mediation of mediations) {
const requestPromise = navigator.credentials.get({
mediation,
signal,
});
await promise_rejects_dom(t, "AbortError", requestPromise);
}
}, "Mediation is required to get a DigitalCredential.");
}, "Mediation is implicitly required and hence ignored. Request is aborted regardless.");

promise_test(async t => {
const throwingValues = [
Expand Down