Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: c945958015e63678c04af33fc5dc8b974e983516
https://github.com/WebKit/WebKit/commit/c945958015e63678c04af33fc5dc8b974e983516
Author: Abrar Rahman Protyasha <[email protected]>
Date: 2026-04-30 (Thu, 30 Apr 2026)
Changed paths:
M Source/WebCore/Configurations/AllowedSPI-legacy.toml
M Source/WebCore/Modules/applepay-ams-ui/ApplePayAMSUIPaymentHandler.cpp
A
Source/WebCore/Modules/applepay/ApplePayInstallmentConfigurationWebCore.cpp
M Source/WebCore/Modules/applepay/ApplePayInstallmentConfigurationWebCore.h
M Source/WebCore/Modules/applepay/ApplePaySetup.cpp
M Source/WebCore/Modules/applepay/PaymentInstallmentConfiguration.mm
M Source/WebCore/PAL/pal/spi/cocoa/PassKitInstallmentsSPI.h
M Source/WebCore/SaferCPPExpectations/NoDeleteCheckerExpectations
M Source/WebCore/SourcesCocoa.txt
M Source/WebCore/WebCore.xcodeproj/project.pbxproj
M Source/WebKit/Shared/WebCoreArgumentCoders.serialization.in
Log Message:
-----------
WebPaymentCoordinatorProxy_ShowPaymentUI handles arbitrary untyped image data
from WebContent Process
https://bugs.webkit.org/show_bug.cgi?id=306300
rdar://158091098
Reviewed by Aditya Keerthi.
Stop serializing this property, which was originally part of the plan for this
feature, but was (according to Apple Pay folks) never actually used. We leave
the web-facing parts intact, and just stop encoding the field.
In working towards this change, we hit a couple of roadbumps.
1. WebIDL dictionaries are _ordered_ maps, and as such the installment
configuration dictionary could not be reordered (to place the not-to-
be-serialized image data at the end). This also meant that the C++
type could not be reordered, given our static member order
enforcement post-305840@main.
2. Since we had to make merchandisingImageData a [NotSerialized]
property in the serializer declaration regardless, we could no longer
use the aggregate initializer of ApplePayInstallmentConfiguration, as
the generate-serializers.py did not know how to call it with an
ommitted property.
To work around these issues, we introduce a static generator function
that takes the serializable bits of the type and constructs them back
with a placeholder empty string for merchandisingImageData.
We also make a few unified sources fixes following the addition of the
new source file ApplePayInstallmentConfigurationWebCore.cpp.
* Source/WebCore/Configurations/AllowedSPI-legacy.toml:
* Source/WebCore/Modules/applepay-ams-ui/ApplePayAMSUIPaymentHandler.cpp:
* Source/WebCore/Modules/applepay/ApplePayInstallmentConfigurationWebCore.cpp:
(WebCore::ApplePayInstallmentConfiguration::fromInstallmentConfiguration):
* Source/WebCore/Modules/applepay/ApplePayInstallmentConfigurationWebCore.h:
* Source/WebCore/Modules/applepay/ApplePaySetup.cpp:
* Source/WebCore/Modules/applepay/PaymentInstallmentConfiguration.mm:
(WebCore::createPlatformConfiguration):
(WebCore::PaymentInstallmentConfiguration::applePayInstallmentConfiguration):
* Source/WebCore/PAL/pal/spi/cocoa/PassKitInstallmentsSPI.h:
* Source/WebCore/SourcesCocoa.txt:
* Source/WebCore/WebCore.xcodeproj/project.pbxproj:
* Source/WebKit/Shared/WebCoreArgumentCoders.serialization.in:
Co-authored-by: Abrar Rahman Protyasha <[email protected]>
Originally-landed-as: 305413.164@safari-7624-branch (23871800e9d7).
rdar://173969098
Canonical link: https://commits.webkit.org/312403@main
To unsubscribe from these emails, change your notification settings at
https://github.com/WebKit/WebKit/settings/notifications