From d074f710149778d3330e5d8cf521c3ea806316d5 Mon Sep 17 00:00:00 2001 From: Mohamed Amir Yosef Date: Fri, 20 Sep 2024 11:27:11 -0400 Subject: [PATCH 01/10] Define allowed types in a get request --- index.bs | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/index.bs b/index.bs index 663a8bc..36754dc 100644 --- a/index.bs +++ b/index.bs @@ -322,6 +322,7 @@ spec:css-syntax-3; Appropriate Interface Object Get Permissions Policy Create Permissions Policy + Types allowed in the same {{CredentialsContainer/get()}} request Specification Requestor Contact @@ -332,6 +333,7 @@ spec:css-syntax-3; {{DigitalCredential}} digital-credentials-get null + [=set/empty=] [[DIGITAL-CREDENTIALS]] WICG @@ -341,6 +343,7 @@ spec:css-syntax-3; {{FederatedCredential}} null null + password This specification: [[#federated]] W3C @@ -350,6 +353,7 @@ spec:css-syntax-3; {{IdentityCredential}} [=identity-credentials-get=] null + [=set/empty=] [[FEDCM]] W3C @@ -359,6 +363,7 @@ spec:css-syntax-3; {{OTPCredential}} [=otp-credentials-feature|otp-credentials=] null + [=set/empty=] [[WEB-OTP]] WICG @@ -368,6 +373,7 @@ spec:css-syntax-3; {{PasswordCredential}} null null + federated This specification: [[#passwords]] W3C @@ -377,6 +383,7 @@ spec:css-syntax-3; {{PublicKeyCredential}} [=publickey-credentials-get-feature|publickey-credentials-get=] [=publickey-credentials-create-feature|publickey-credentials-create=] + [=set/empty=] [[WEBAUTHN]] W3C @@ -406,6 +413,12 @@ spec:css-syntax-3; used when executing Create a `Credential` for a [=credential type registry/credential type=], or null if no [=Document/permissions policy=] is specified. + * Although {{CredentialsContainer/get()}} requests support querying for multiple types in the same request, + not all combintations are allowed. Each registry entry must state a list of [=credential type registry/credential types=] + that denotes the [=credential type registry/Types allowed in the same get() request=] for that [=credential type registry/credential type=], + or empty if it cannot be mixed with any other type in the same {{CredentialsContainer/get()}} request. + Every [=credential type registry/credential type=] can mixed with itself in the same {{CredentialsContainer/get()}} request. + * Each registry entry must include a link that references a publicly available specification defining the [=credential type registry/credential type=] and the [=dictionary member=] [=identifier=]. @@ -988,6 +1001,13 @@ spec:css-syntax-3; 1. If |interfaces| is [=set/empty=], then return[=a promise rejected with=] a "{{NotSupportedError}}" {{DOMException}}. + 1. [=set/For each=] |interface1| of |interfaces| and |interface2| of |interfaces|: + + 1. Let |type1| be |interface1|'s {{Credential/[[type]]}} and Let |type2| be |interface2|'s {{Credential/[[type]]}} + + 1. If |type1|'s list of [=credential type registry/Types allowed in the same get() request=] doesn't contain |type2|, + then return [=a promise rejected with=] a "{{NotSupportedError}}" {{DOMException}}. + 1. [=set/For each=] |interface| of |interfaces|: 1. If |options|.{{CredentialRequestOptions/mediation}} is From e6816f77b41b0406aa25461ce0633821a7ede819 Mon Sep 17 00:00:00 2001 From: Mohamed Amir Yosef Date: Fri, 20 Sep 2024 11:41:41 -0400 Subject: [PATCH 02/10] Update index.bs Co-authored-by: Nina Satragno --- index.bs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/index.bs b/index.bs index 36754dc..8543b2a 100644 --- a/index.bs +++ b/index.bs @@ -414,7 +414,7 @@ spec:css-syntax-3; [=credential type registry/credential type=], or null if no [=Document/permissions policy=] is specified. * Although {{CredentialsContainer/get()}} requests support querying for multiple types in the same request, - not all combintations are allowed. Each registry entry must state a list of [=credential type registry/credential types=] + not all combintations are allowed. Each registry entry must state a [=set=] of [=credential type registry/credential types=] that denotes the [=credential type registry/Types allowed in the same get() request=] for that [=credential type registry/credential type=], or empty if it cannot be mixed with any other type in the same {{CredentialsContainer/get()}} request. Every [=credential type registry/credential type=] can mixed with itself in the same {{CredentialsContainer/get()}} request. From 3216fee6fcc34eade2c907a898c6fba2cb1753fd Mon Sep 17 00:00:00 2001 From: Mohamed Amir Yosef Date: Fri, 20 Sep 2024 11:41:52 -0400 Subject: [PATCH 03/10] Update index.bs Co-authored-by: Nina Satragno --- index.bs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/index.bs b/index.bs index 8543b2a..968ec89 100644 --- a/index.bs +++ b/index.bs @@ -415,7 +415,7 @@ spec:css-syntax-3; * Although {{CredentialsContainer/get()}} requests support querying for multiple types in the same request, not all combintations are allowed. Each registry entry must state a [=set=] of [=credential type registry/credential types=] - that denotes the [=credential type registry/Types allowed in the same get() request=] for that [=credential type registry/credential type=], + that denotes the [=credential type registry/types allowed in the same get() request=] for that [=credential type registry/credential type=], or empty if it cannot be mixed with any other type in the same {{CredentialsContainer/get()}} request. Every [=credential type registry/credential type=] can mixed with itself in the same {{CredentialsContainer/get()}} request. From ca3343989d10a2b35177e958aa90709e0cf0cf58 Mon Sep 17 00:00:00 2001 From: Mohamed Amir Yosef Date: Fri, 20 Sep 2024 11:27:11 -0400 Subject: [PATCH 04/10] Define allowed types in a get request --- index.bs | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/index.bs b/index.bs index 968ec89..6c5d1a3 100644 --- a/index.bs +++ b/index.bs @@ -414,10 +414,10 @@ spec:css-syntax-3; [=credential type registry/credential type=], or null if no [=Document/permissions policy=] is specified. * Although {{CredentialsContainer/get()}} requests support querying for multiple types in the same request, - not all combintations are allowed. Each registry entry must state a [=set=] of [=credential type registry/credential types=] - that denotes the [=credential type registry/types allowed in the same get() request=] for that [=credential type registry/credential type=], - or empty if it cannot be mixed with any other type in the same {{CredentialsContainer/get()}} request. - Every [=credential type registry/credential type=] can mixed with itself in the same {{CredentialsContainer/get()}} request. + not all combintations are allowed. Each registry entry must state a [=set=] of [=credential type registry/credential types=] + that denotes the [=credential type registry/Types allowed in the same get() request=] for that [=credential type registry/credential type=], + or empty if it cannot be mixed with any other type in the same {{CredentialsContainer/get()}} request. + Every [=credential type registry/credential type=] can mixed with itself in the same {{CredentialsContainer/get()}} request. * Each registry entry must include a link that references a publicly available specification defining the [=credential type registry/credential type=] and the [=dictionary member=] [=identifier=]. @@ -1006,7 +1006,7 @@ spec:css-syntax-3; 1. Let |type1| be |interface1|'s {{Credential/[[type]]}} and Let |type2| be |interface2|'s {{Credential/[[type]]}} 1. If |type1|'s list of [=credential type registry/Types allowed in the same get() request=] doesn't contain |type2|, - then return [=a promise rejected with=] a "{{NotSupportedError}}" {{DOMException}}. + then return [=a promise rejected with=] a "{{NotSupportedError}}" {{DOMException}}. 1. [=set/For each=] |interface| of |interfaces|: From d67a9699764fbc7bdef0b86ee8cf0be22809caab Mon Sep 17 00:00:00 2001 From: Mohamed Amir Yosef Date: Fri, 20 Sep 2024 11:56:09 -0400 Subject: [PATCH 05/10] address comments --- index.bs | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/index.bs b/index.bs index 6c5d1a3..033ada6 100644 --- a/index.bs +++ b/index.bs @@ -415,8 +415,8 @@ spec:css-syntax-3; * Although {{CredentialsContainer/get()}} requests support querying for multiple types in the same request, not all combintations are allowed. Each registry entry must state a [=set=] of [=credential type registry/credential types=] - that denotes the [=credential type registry/Types allowed in the same get() request=] for that [=credential type registry/credential type=], - or empty if it cannot be mixed with any other type in the same {{CredentialsContainer/get()}} request. + that denotes the [=credential type registry/types allowed in the same get() request=] for that [=credential type registry/credential type=], + or [=set/empty=] if it cannot be mixed with any other type in the same {{CredentialsContainer/get()}} request. Every [=credential type registry/credential type=] can mixed with itself in the same {{CredentialsContainer/get()}} request. * Each registry entry must include a link that references a publicly available specification @@ -1001,12 +1001,18 @@ spec:css-syntax-3; 1. If |interfaces| is [=set/empty=], then return[=a promise rejected with=] a "{{NotSupportedError}}" {{DOMException}}. - 1. [=set/For each=] |interface1| of |interfaces| and |interface2| of |interfaces|: + 1. [=set/For each=] |interface1| of |interfaces|: - 1. Let |type1| be |interface1|'s {{Credential/[[type]]}} and Let |type2| be |interface2|'s {{Credential/[[type]]}} + 1. Let |type1| be |interface1|'s {{Credential/[[type]]}} - 1. If |type1|'s list of [=credential type registry/Types allowed in the same get() request=] doesn't contain |type2|, - then return [=a promise rejected with=] a "{{NotSupportedError}}" {{DOMException}}. + 1. [=set/For each=] |interface2| of |interfaces|: + + 1. Let |type2| be |interface2|'s {{Credential/[[type]]}} + + 1. If |type1| equals |type2|, then continue + + 1. If |type1|'s list of [=credential type registry/types allowed in the same get() request=] doesn't contain |type2|, + then return [=a promise rejected with=] a "{{NotSupportedError}}" {{DOMException}}. 1. [=set/For each=] |interface| of |interfaces|: From 560f3607b474cec8ecae5db06978d4532398dfef Mon Sep 17 00:00:00 2001 From: Mohamed Amir Yosef Date: Fri, 20 Sep 2024 12:21:26 -0400 Subject: [PATCH 06/10] Update index.bs Co-authored-by: Nina Satragno --- index.bs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/index.bs b/index.bs index 033ada6..aad6c10 100644 --- a/index.bs +++ b/index.bs @@ -1007,7 +1007,7 @@ spec:css-syntax-3; 1. [=set/For each=] |interface2| of |interfaces|: - 1. Let |type2| be |interface2|'s {{Credential/[[type]]}} + 1. Let |type2| be |interface2|'s {{Credential/[[type]]}}. 1. If |type1| equals |type2|, then continue From 403cf0cf6efb1fc560e5192d133af5f94a4e7db5 Mon Sep 17 00:00:00 2001 From: Mohamed Amir Yosef Date: Fri, 20 Sep 2024 12:21:33 -0400 Subject: [PATCH 07/10] Update index.bs Co-authored-by: Nina Satragno --- index.bs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/index.bs b/index.bs index aad6c10..14158b0 100644 --- a/index.bs +++ b/index.bs @@ -1009,7 +1009,7 @@ spec:css-syntax-3; 1. Let |type2| be |interface2|'s {{Credential/[[type]]}}. - 1. If |type1| equals |type2|, then continue + 1. If |type1| equals |type2|, then continue. 1. If |type1|'s list of [=credential type registry/types allowed in the same get() request=] doesn't contain |type2|, then return [=a promise rejected with=] a "{{NotSupportedError}}" {{DOMException}}. From abd9c2f9b1f8a2ed2682950df484769edcfdbaba Mon Sep 17 00:00:00 2001 From: Mohamed Amir Yosef Date: Fri, 20 Sep 2024 12:22:03 -0400 Subject: [PATCH 08/10] Update index.bs Co-authored-by: Nina Satragno --- index.bs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/index.bs b/index.bs index 14158b0..7a7fcd6 100644 --- a/index.bs +++ b/index.bs @@ -998,7 +998,7 @@ spec:css-syntax-3; 1. Let |interfaces| be |options|'s [=relevant credential interface objects=]. - 1. If |interfaces| is [=set/empty=], then return[=a promise rejected with=] + 1. If |interfaces| is [=set/empty=], then return [=a promise rejected with=] a "{{NotSupportedError}}" {{DOMException}}. 1. [=set/For each=] |interface1| of |interfaces|: From 64451ca3200747dffe52c0140ee6f3c86416deb5 Mon Sep 17 00:00:00 2001 From: Mohamed Amir Yosef Date: Fri, 20 Sep 2024 12:22:15 -0400 Subject: [PATCH 09/10] Update index.bs Co-authored-by: Nina Satragno --- index.bs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/index.bs b/index.bs index 7a7fcd6..ea75f0f 100644 --- a/index.bs +++ b/index.bs @@ -1011,7 +1011,7 @@ spec:css-syntax-3; 1. If |type1| equals |type2|, then continue. - 1. If |type1|'s list of [=credential type registry/types allowed in the same get() request=] doesn't contain |type2|, + 1. If |type1|'s list of [=credential type registry/types allowed in the same get() request=] doesn't [=set/contain] |type2|, then return [=a promise rejected with=] a "{{NotSupportedError}}" {{DOMException}}. 1. [=set/For each=] |interface| of |interfaces|: From bdb66e80254b7d5e2326ceac2e6029a35d1eb512 Mon Sep 17 00:00:00 2001 From: Mohamed Amir Yosef Date: Fri, 20 Sep 2024 12:24:41 -0400 Subject: [PATCH 10/10] fix =set/contain= --- index.bs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/index.bs b/index.bs index ea75f0f..0f9ea80 100644 --- a/index.bs +++ b/index.bs @@ -1011,7 +1011,7 @@ spec:css-syntax-3; 1. If |type1| equals |type2|, then continue. - 1. If |type1|'s list of [=credential type registry/types allowed in the same get() request=] doesn't [=set/contain] |type2|, + 1. If |type1|'s list of [=credential type registry/types allowed in the same get() request=] doesn't [=set/contain=] |type2|, then return [=a promise rejected with=] a "{{NotSupportedError}}" {{DOMException}}. 1. [=set/For each=] |interface| of |interfaces|: