-
Notifications
You must be signed in to change notification settings - Fork 30
Get steps #372
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Get steps #372
Conversation
| <li>Let |protocol| be |request|'s | ||
| {{DigitalCredentialGetRequest/protocol}}. | ||
| </li> | ||
| <li>Optionally, if |protocol| is unknown to the user agent, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Discussed with @mohamedamir. The unknown protocol should be dropped on the floor.
| <li>If |protocol| is not supported by the user agent, | ||
| [=exception/throw=] a {{"NotSupportedError"}} {{DOMException}}. | ||
| </li> | ||
| <li>If |protocol| is not allowed by the user agent for security | ||
| reasons, [=exception/throw=] a {{"SecurityError"}} {{DOMException}}. | ||
| </li> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Discussed with @mohamedamir, these can probably also be dropped on the floor.
|
Related WebKit issue: https://bugs.webkit.org/show_bug.cgi?id=304158 (for skipping unknown types). |
|
Moved to #418 |
rdar://166673454 https://bugs.webkit.org/show_bug.cgi?id=304158 Reviewed by NOBODY (OOPS!). WebKit relied on the IdentityCredentialProtocol.idl enum to prevent requests with unknown protocols being processed. However, this prevented unknown protocols from being ignored gracefully, as required by this spec change: w3c-fedid/digital-credentials#372 We now gracefully ignore unknown protocols by filtering them out, rather than throwing an error. We also now show a console warning, so developers are aware of ignored protocols. Includes upstream web platform test commit: web-platform-tests/wpt@c601ead Tests: http/tests/digital-credentials/digital-credential-console-messages.https.html http/wpt/identity/digital-credential-protocol-filtering.https.html * LayoutTests/http/tests/digital-credentials/digital-credential-console-messages.https-expected.txt: Added. * LayoutTests/http/tests/digital-credentials/digital-credential-console-messages.https.html: Added. * LayoutTests/http/wpt/identity/digital-credential-protocol-filtering.https-expected.txt: Added. * LayoutTests/http/wpt/identity/digital-credential-protocol-filtering.https.html: Added. * LayoutTests/imported/w3c/web-platform-tests/digital-credentials/get-enabled-on-self-origin-by-permissions-policy.https.sub-expected.txt: * LayoutTests/imported/w3c/web-platform-tests/digital-credentials/get.disabled-by-permissions-policy.https.sub-expected.txt: * LayoutTests/imported/w3c/web-platform-tests/digital-credentials/get.tentative.https-expected.txt: * LayoutTests/imported/w3c/web-platform-tests/digital-credentials/get.tentative.https.html: * LayoutTests/imported/w3c/web-platform-tests/digital-credentials/non-fully-active.https-expected.txt: * LayoutTests/imported/w3c/web-platform-tests/digital-credentials/support/helper.js: * LayoutTests/imported/w3c/web-platform-tests/digital-credentials/user-activation.https-expected.txt: * LayoutTests/platform/mac-wk2/imported/w3c/web-platform-tests/digital-credentials/allow-attribute-with-get.https-expected.txt: * Source/WebCore/Modules/credentialmanagement/CredentialsContainer.cpp: (WebCore::CredentialsContainer::get): * Source/WebCore/Modules/identity/DigitalCredential.cpp: (WebCore::convertProtocolString): (WebCore::jsToCredentialRequest): (WebCore::DigitalCredential::convertObjectsToDigitalPresentationRequests): (WebCore::DigitalCredential::discoverFromExternalSource): * Source/WebCore/Modules/identity/DigitalCredential.h: * Source/WebCore/Modules/identity/DigitalCredentialRequest.h: * Source/WebCore/Modules/identity/DigitalCredentialRequest.idl:
rdar://166673454 https://bugs.webkit.org/show_bug.cgi?id=304158 Reviewed by NOBODY (OOPS!). WebKit relied on the IdentityCredentialProtocol.idl enum to prevent requests with unknown protocols being processed. However, this prevented unknown protocols from being ignored gracefully, as required by this spec change: w3c-fedid/digital-credentials#372 We now gracefully ignore unknown protocols by filtering them out, rather than throwing an error. We also now show a console warning, so developers are aware of ignored protocols. Includes upstream web platform test commit: web-platform-tests/wpt@2d00123 Tests: http/tests/digital-credentials/digital-credential-console-messages.https.html http/wpt/identity/digital-credential-protocol-filtering.https.html * LayoutTests/http/tests/digital-credentials/digital-credential-console-messages.https-expected.txt: Added. * LayoutTests/http/tests/digital-credentials/digital-credential-console-messages.https.html: Added. * LayoutTests/http/wpt/identity/digital-credential-protocol-filtering.https-expected.txt: Added. * LayoutTests/http/wpt/identity/digital-credential-protocol-filtering.https.html: Added. * LayoutTests/imported/w3c/web-platform-tests/digital-credentials/create.tentative.https.html: * LayoutTests/imported/w3c/web-platform-tests/digital-credentials/get.tentative.https.html: * LayoutTests/imported/w3c/web-platform-tests/digital-credentials/support/helper.js: * LayoutTests/platform/glib/TestExpectations: * LayoutTests/platform/ios-18/TestExpectations: * LayoutTests/platform/ios/TestExpectations: * LayoutTests/platform/ios/imported/w3c/web-platform-tests/digital-credentials/get.tentative.https-expected.txt: * LayoutTests/platform/mac-sequoia/TestExpectations: * LayoutTests/platform/mac-wk1/TestExpectations: * LayoutTests/platform/visionos/TestExpectations: * LayoutTests/platform/win/TestExpectations: * LayoutTests/platform/wpe/TestExpectations: * Source/WebCore/Modules/credentialmanagement/CredentialsContainer.cpp: (WebCore::CredentialsContainer::get): * Source/WebCore/Modules/identity/DigitalCredential.cpp: (WebCore::convertProtocolString): (WebCore::jsToCredentialRequest): (WebCore::DigitalCredential::convertObjectsToDigitalPresentationRequests): (WebCore::DigitalCredential::discoverFromExternalSource): * Source/WebCore/Modules/identity/DigitalCredential.h: * Source/WebCore/Modules/identity/DigitalCredentialRequest.h: * Source/WebCore/Modules/identity/DigitalCredentialRequest.idl:
rdar://166673454 https://bugs.webkit.org/show_bug.cgi?id=304158 Reviewed by NOBODY (OOPS!). WebKit relied on the IdentityCredentialProtocol.idl enum to prevent requests with unknown protocols being processed. However, this prevented unknown protocols from being ignored gracefully, as required by this spec change: w3c-fedid/digital-credentials#372 We now gracefully ignore unknown protocols by filtering them out, rather than throwing an error. We also now show a console warning, so developers are aware of ignored protocols. Includes upstream web platform test commit: web-platform-tests/wpt@2d00123 Tests: http/tests/digital-credentials/digital-credential-console-messages.https.html http/wpt/identity/digital-credential-protocol-filtering.https.html * LayoutTests/http/tests/digital-credentials/digital-credential-console-messages.https-expected.txt: Added. * LayoutTests/http/tests/digital-credentials/digital-credential-console-messages.https.html: Added. * LayoutTests/http/wpt/identity/digital-credential-protocol-filtering.https-expected.txt: Added. * LayoutTests/http/wpt/identity/digital-credential-protocol-filtering.https.html: Added. * LayoutTests/imported/w3c/web-platform-tests/digital-credentials/create.tentative.https.html: * LayoutTests/imported/w3c/web-platform-tests/digital-credentials/get.tentative.https.html: * LayoutTests/imported/w3c/web-platform-tests/digital-credentials/support/helper.js: * LayoutTests/platform/glib/TestExpectations: * LayoutTests/platform/ios-18/TestExpectations: * LayoutTests/platform/ios/TestExpectations: * LayoutTests/platform/ios/imported/w3c/web-platform-tests/digital-credentials/get.tentative.https-expected.txt: * LayoutTests/platform/mac-sequoia/TestExpectations: * LayoutTests/platform/mac-wk1/TestExpectations: * LayoutTests/platform/visionos/TestExpectations: * LayoutTests/platform/win/TestExpectations: * LayoutTests/platform/wpe/TestExpectations: * Source/WebCore/Modules/identity/DigitalCredential.cpp: (WebCore::convertProtocolString): (WebCore::jsToCredentialRequest): (WebCore::DigitalCredential::convertObjectsToDigitalPresentationRequests): * Source/WebCore/Modules/identity/DigitalCredentialRequest.h: * Source/WebCore/Modules/identity/DigitalCredentialRequest.idl:
rdar://166673454 https://bugs.webkit.org/show_bug.cgi?id=304158 Reviewed by NOBODY (OOPS!). WebKit relied on the IdentityCredentialProtocol.idl enum to prevent requests with unknown protocols being processed. However, this prevented unknown protocols from being ignored gracefully, as required by this spec change: w3c-fedid/digital-credentials#372 We now gracefully ignore unknown protocols by filtering them out, rather than throwing an error. We also now show a console warning, so developers are aware of ignored protocols. Includes upstream web platform test commit: web-platform-tests/wpt@2d00123 Tests: http/tests/digital-credentials/digital-credential-console-messages.https.html http/wpt/identity/digital-credential-protocol-filtering.https.html * LayoutTests/http/tests/digital-credentials/digital-credential-console-messages.https-expected.txt: Added. * LayoutTests/http/tests/digital-credentials/digital-credential-console-messages.https.html: Added. * LayoutTests/http/wpt/identity/digital-credential-protocol-filtering.https-expected.txt: Added. * LayoutTests/http/wpt/identity/digital-credential-protocol-filtering.https.html: Added. * LayoutTests/imported/w3c/web-platform-tests/digital-credentials/create.tentative.https.html: * LayoutTests/imported/w3c/web-platform-tests/digital-credentials/get.tentative.https.html: * LayoutTests/imported/w3c/web-platform-tests/digital-credentials/support/helper.js: * LayoutTests/platform/glib/TestExpectations: * LayoutTests/platform/ios-18/TestExpectations: * LayoutTests/platform/ios/TestExpectations: * LayoutTests/platform/ios/imported/w3c/web-platform-tests/digital-credentials/get.tentative.https-expected.txt: * LayoutTests/platform/mac-sequoia/TestExpectations: * LayoutTests/platform/mac-wk1/TestExpectations: * LayoutTests/platform/visionos/TestExpectations: * LayoutTests/platform/win/TestExpectations: * LayoutTests/platform/wpe/TestExpectations: * Source/WebCore/Modules/identity/DigitalCredential.cpp: (WebCore::convertProtocolString): (WebCore::jsToCredentialRequest): (WebCore::DigitalCredential::convertObjectsToDigitalPresentationRequests): * Source/WebCore/Modules/identity/DigitalCredentialRequest.h: * Source/WebCore/Modules/identity/DigitalCredentialRequest.idl:
rdar://166673454 https://bugs.webkit.org/show_bug.cgi?id=304158 Reviewed by NOBODY (OOPS!). WebKit relied on the IdentityCredentialProtocol.idl enum to prevent requests with unknown protocols being processed. However, this prevented unknown protocols from being ignored gracefully, as required by this spec change: w3c-fedid/digital-credentials#372 We now gracefully ignore unknown protocols by filtering them out, rather than throwing an error. We also now show a console warning, so developers are aware of ignored protocols. Includes upstream web platform test commit: web-platform-tests/wpt@2d00123 Tests: http/tests/digital-credentials/digital-credential-console-messages.https.html http/wpt/identity/digital-credential-protocol-filtering.https.html * LayoutTests/http/tests/digital-credentials/digital-credential-console-messages.https-expected.txt: Added. * LayoutTests/http/tests/digital-credentials/digital-credential-console-messages.https.html: Added. * LayoutTests/http/wpt/identity/digital-credential-protocol-filtering.https-expected.txt: Added. * LayoutTests/http/wpt/identity/digital-credential-protocol-filtering.https.html: Added. * LayoutTests/imported/w3c/web-platform-tests/digital-credentials/create.tentative.https.html: * LayoutTests/imported/w3c/web-platform-tests/digital-credentials/get.tentative.https.html: * LayoutTests/imported/w3c/web-platform-tests/digital-credentials/support/helper.js: * LayoutTests/platform/glib/TestExpectations: * LayoutTests/platform/ios-18/TestExpectations: * LayoutTests/platform/ios/TestExpectations: * LayoutTests/platform/ios/imported/w3c/web-platform-tests/digital-credentials/get.tentative.https-expected.txt: * LayoutTests/platform/mac-sequoia/TestExpectations: * LayoutTests/platform/mac-wk1/TestExpectations: * LayoutTests/platform/visionos/TestExpectations: * LayoutTests/platform/win/TestExpectations: * LayoutTests/platform/wpe/TestExpectations: * Source/WebCore/Modules/identity/DigitalCredential.cpp: (WebCore::convertProtocolString): (WebCore::jsToCredentialRequest): (WebCore::DigitalCredential::convertObjectsToDigitalPresentationRequests): * Source/WebCore/Modules/identity/DigitalCredentialRequest.h: * Source/WebCore/Modules/identity/DigitalCredentialRequest.idl:
rdar://166673454 https://bugs.webkit.org/show_bug.cgi?id=304158 Reviewed by NOBODY (OOPS!). WebKit relied on the IdentityCredentialProtocol.idl enum to prevent requests with unknown protocols being processed. However, this prevented unknown protocols from being ignored gracefully, as required by this spec change: w3c-fedid/digital-credentials#372 We now gracefully ignore unknown protocols by filtering them out, rather than throwing an error. We also now show a console warning, so developers are aware of ignored protocols. Includes upstream web platform test commit: web-platform-tests/wpt@2d00123 Tests: http/tests/digital-credentials/digital-credential-console-messages.https.html http/wpt/identity/digital-credential-protocol-filtering.https.html * LayoutTests/http/tests/digital-credentials/digital-credential-console-messages.https-expected.txt: Added. * LayoutTests/http/tests/digital-credentials/digital-credential-console-messages.https.html: Added. * LayoutTests/http/wpt/identity/digital-credential-protocol-filtering.https-expected.txt: Added. * LayoutTests/http/wpt/identity/digital-credential-protocol-filtering.https.html: Added. * LayoutTests/imported/w3c/web-platform-tests/digital-credentials/create.tentative.https.html: * LayoutTests/imported/w3c/web-platform-tests/digital-credentials/get.tentative.https.html: * LayoutTests/imported/w3c/web-platform-tests/digital-credentials/support/helper.js: * LayoutTests/platform/glib/TestExpectations: * LayoutTests/platform/ios-18/TestExpectations: * LayoutTests/platform/ios/TestExpectations: * LayoutTests/platform/ios/imported/w3c/web-platform-tests/digital-credentials/get.tentative.https-expected.txt: * LayoutTests/platform/mac-sequoia/TestExpectations: * LayoutTests/platform/mac-wk1/TestExpectations: * LayoutTests/platform/visionos/TestExpectations: * LayoutTests/platform/win/TestExpectations: * LayoutTests/platform/wpe/TestExpectations: * Source/WebCore/Modules/identity/DigitalCredential.cpp: (WebCore::convertProtocolString): (WebCore::jsToCredentialRequest): (WebCore::DigitalCredential::convertObjectsToDigitalPresentationRequests): * Source/WebCore/Modules/identity/DigitalCredentialRequest.h: * Source/WebCore/Modules/identity/DigitalCredentialRequest.idl:
rdar://166673454 https://bugs.webkit.org/show_bug.cgi?id=304158 Reviewed by Anne van Kesteren. WebKit relied on the IdentityCredentialProtocol.idl enum to prevent requests with unknown protocols being processed. However, this prevented unknown protocols from being ignored gracefully, as required by this spec change: w3c-fedid/digital-credentials#372 We now gracefully ignore unknown protocols by filtering them out, rather than throwing an error. We also now show a console warning, so developers are aware of ignored protocols. Includes upstream web platform test commit: web-platform-tests/wpt@2d00123 Tests: http/tests/digital-credentials/digital-credential-console-messages.https.html http/wpt/identity/digital-credential-protocol-filtering.https.html * LayoutTests/http/tests/digital-credentials/digital-credential-console-messages.https-expected.txt: Added. * LayoutTests/http/tests/digital-credentials/digital-credential-console-messages.https.html: Added. * LayoutTests/http/wpt/identity/digital-credential-protocol-filtering.https-expected.txt: Added. * LayoutTests/http/wpt/identity/digital-credential-protocol-filtering.https.html: Added. * LayoutTests/imported/w3c/web-platform-tests/digital-credentials/create.tentative.https.html: * LayoutTests/imported/w3c/web-platform-tests/digital-credentials/get.tentative.https.html: * LayoutTests/imported/w3c/web-platform-tests/digital-credentials/support/helper.js: * LayoutTests/platform/glib/TestExpectations: * LayoutTests/platform/ios-18/TestExpectations: * LayoutTests/platform/ios/TestExpectations: * LayoutTests/platform/ios/imported/w3c/web-platform-tests/digital-credentials/get.tentative.https-expected.txt: * LayoutTests/platform/mac-sequoia/TestExpectations: * LayoutTests/platform/mac-wk1/TestExpectations: * LayoutTests/platform/visionos/TestExpectations: * LayoutTests/platform/win/TestExpectations: * LayoutTests/platform/wpe/TestExpectations: * Source/WebCore/Modules/identity/DigitalCredential.cpp: (WebCore::convertProtocolString): (WebCore::jsToCredentialRequest): (WebCore::DigitalCredential::convertObjectsToDigitalPresentationRequests): * Source/WebCore/Modules/identity/DigitalCredentialRequest.h: * Source/WebCore/Modules/identity/DigitalCredentialRequest.idl: Canonical link: https://commits.webkit.org/305257@main
Closes #???
The following tasks have been completed:
Implementation commitment:
Documentation and checks
Preview | Diff