Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 624c17eecf71abfed94b60773350a689482308d3
https://github.com/WebKit/WebKit/commit/624c17eecf71abfed94b60773350a689482308d3
Author: Anthony Tarbinian <[email protected]>
Date: 2026-02-12 (Thu, 12 Feb 2026)
Changed paths:
M Source/WebCore/Headers.cmake
M Source/WebCore/Modules/identity/CredentialRequestCoordinator.cpp
M Source/WebCore/Modules/identity/CredentialRequestCoordinator.h
M Source/WebCore/Modules/identity/CredentialRequestCoordinatorClient.h
M Source/WebCore/Modules/identity/DigitalCredential.cpp
A
Source/WebCore/Modules/identity/DigitalCredentialsMobileDocumentRequestData.h
A
Source/WebCore/Modules/identity/DigitalCredentialsMobileDocumentRequestDataWithRequestInfo.h
M Source/WebCore/Modules/identity/DigitalCredentialsRequestData.h
A Source/WebCore/Modules/identity/DigitalCredentialsRequestDataBuilder.cpp
A Source/WebCore/Modules/identity/DigitalCredentialsRequestDataBuilder.h
A Source/WebCore/Modules/identity/DigitalCredentialsSecurityOriginData.h
M
Source/WebCore/Modules/identity/dummy/DummyCredentialRequestCoordinatorClient.cpp
M
Source/WebCore/Modules/identity/dummy/DummyCredentialRequestCoordinatorClient.h
M Source/WebCore/Modules/indexeddb/server/MemoryCursor.h
M Source/WebCore/Modules/streams/TransformStream.cpp
M Source/WebCore/Sources.txt
M Source/WebCore/WebCore.xcodeproj/project.pbxproj
M Source/WebCore/loader/EmptyClients.cpp
M Source/WebCore/page/Chrome.h
M Source/WebCore/page/ChromeClient.h
M Source/WebKit/Shared/WebCoreArgumentCoders.serialization.in
M Source/WebKit/UIProcess/API/Cocoa/WKWebViewInternal.h
M Source/WebKit/UIProcess/DigitalCredentials/WKDigitalCredentialsPicker.h
M Source/WebKit/UIProcess/DigitalCredentials/WKDigitalCredentialsPicker.mm
M Source/WebKit/UIProcess/WebPageProxy.cpp
M Source/WebKit/UIProcess/WebPageProxy.h
M Source/WebKit/UIProcess/WebPageProxy.messages.in
M Source/WebKit/UIProcess/ios/WKContentViewInteraction.h
M Source/WebKit/UIProcess/mac/WebViewImpl.h
M
Source/WebKit/WebProcess/DigitalCredentials/DigitalCredentialsCoordinator.cpp
M
Source/WebKit/WebProcess/DigitalCredentials/DigitalCredentialsCoordinator.h
M
Source/WebKit/WebProcess/DigitalCredentials/DigitalCredentialsCoordinator.messages.in
M Source/WebKit/WebProcess/WebPage/WebPage.h
M
Source/WebKit/WebProcess/cocoa/IdentityDocumentServices/DigitalCredentialsRequestValidatorBridge.mm
Log Message:
-----------
Digital Credentials: Build ISO 18013 request with request info
https://bugs.webkit.org/show_bug.cgi?id=306837
rdar://169504454
Reviewed by Abrar Rahman Protyasha.
This patch adds support for parsing and constructing ISO 18013 requests which
use the requestInfo field defined in the ISO 18013 spec.
First, any requests with the requestInfo field are filtered out and processed.
Then the requests are parsed into concrete WebCore types before being sent over
IPC to the UI Process.
Instead of changing the DigitalCredentials coordination logic, the request data
types have been changed to be generic across the requests with request info
using WTF::Variant.
Handling of these requests types in the UI Process are left unimplemented until
a later patch.
* Source/WebCore/Headers.cmake:
* Source/WebCore/Modules/identity/CredentialRequestCoordinator.cpp:
(WebCore::CredentialRequestCoordinator::prepareCredentialRequest):
* Source/WebCore/Modules/identity/CredentialRequestCoordinator.h:
* Source/WebCore/Modules/identity/CredentialRequestCoordinatorClient.h:
* Source/WebCore/Modules/identity/DigitalCredential.cpp:
*
Source/WebCore/Modules/identity/DigitalCredentialsMobileDocumentRequestData.h:
Copied from Source/WebCore/Modules/identity/DigitalCredentialsRequestData.h.
*
Source/WebCore/Modules/identity/DigitalCredentialsMobileDocumentRequestDataWithRequestInfo.h:
Copied from Source/WebCore/Modules/identity/DigitalCredentialsRequestData.h.
* Source/WebCore/Modules/identity/DigitalCredentialsRequestData.h:
* Source/WebCore/Modules/identity/DigitalCredentialsRequestDataBuilder.cpp:
Added.
(WebCore::DigitalCredentialsRequestDataBuilder::build):
(WebCore::DigitalCredentialsRequestDataBuilder::buildAndValidateRequestDataWithRequestInfo):
(WebCore::DigitalCredentialsRequestDataBuilder::parseMatchingHintAndRawRequests):
(WebCore::DigitalCredentialsRequestDataBuilder::parseRawRequests):
(WebCore::isValidMatchingHint):
(WebCore::DigitalCredentialsRequestDataBuilder::parseMatchingHint):
(WebCore::DigitalCredentialsRequestDataBuilder::parseRequestedDataElements):
* Source/WebCore/Modules/identity/DigitalCredentialsRequestDataBuilder.h: Added.
* Source/WebCore/Modules/identity/DigitalCredentialsSecurityOriginData.h:
Copied from Source/WebCore/Modules/identity/DigitalCredentialsRequestData.h.
*
Source/WebCore/Modules/identity/dummy/DummyCredentialRequestCoordinatorClient.cpp:
(WebCore::DummyCredentialRequestCoordinatorClient::showDigitalCredentialsPicker):
*
Source/WebCore/Modules/identity/dummy/DummyCredentialRequestCoordinatorClient.h:
* Source/WebCore/Modules/indexeddb/server/MemoryCursor.h:
* Source/WebCore/Modules/streams/TransformStream.cpp:
* Source/WebCore/Sources.txt:
* Source/WebCore/WebCore.xcodeproj/project.pbxproj:
* Source/WebCore/loader/EmptyClients.cpp:
* Source/WebCore/page/Chrome.h:
* Source/WebCore/page/ChromeClient.h:
* Source/WebKit/Shared/WebCoreArgumentCoders.serialization.in:
* Source/WebKit/UIProcess/API/Cocoa/WKWebViewInternal.h:
* Source/WebKit/UIProcess/DigitalCredentials/WKDigitalCredentialsPicker.h:
* Source/WebKit/UIProcess/DigitalCredentials/WKDigitalCredentialsPicker.mm:
(-[WKDigitalCredentialsPicker fetchRawRequestsWithCompletionHandler:]):
(-[WKDigitalCredentialsPicker presentWithRequestData:completionHandler:]):
(-[WKDigitalCredentialsPicker dismissWithCompletionHandler:]):
* Source/WebKit/UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::showDigitalCredentialsPicker):
(WebKit::WebPageProxy::fetchRawDigitalCredentialRequests):
* Source/WebKit/UIProcess/WebPageProxy.h:
* Source/WebKit/UIProcess/WebPageProxy.messages.in:
* Source/WebKit/UIProcess/ios/WKContentViewInteraction.h:
* Source/WebKit/UIProcess/mac/WebViewImpl.h:
* Source/WebKit/WebProcess/DigitalCredentials/DigitalCredentialsCoordinator.cpp:
(WebKit::DigitalCredentialsCoordinator::showDigitalCredentialsPicker):
(WebKit::DigitalCredentialsCoordinator::dismissDigitalCredentialsPicker):
(WebKit::DigitalCredentialsCoordinator::provideRawDigitalCredentialRequests):
* Source/WebKit/WebProcess/DigitalCredentials/DigitalCredentialsCoordinator.h:
*
Source/WebKit/WebProcess/DigitalCredentials/DigitalCredentialsCoordinator.messages.in:
* Source/WebKit/WebProcess/WebPage/WebPage.h:
*
Source/WebKit/WebProcess/cocoa/IdentityDocumentServices/DigitalCredentialsRequestValidatorBridge.mm:
(WebKit::logApplicationSpecificExtensions):
(WebKit::buildDocumentRequest):
Canonical link: https://commits.webkit.org/307383@main
To unsubscribe from these emails, change your notification settings at
https://github.com/WebKit/WebKit/settings/notifications