Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: c40451f6052e2805fb1c6abfb61fa322c67caf5b
      
https://github.com/WebKit/WebKit/commit/c40451f6052e2805fb1c6abfb61fa322c67caf5b
  Author: Robin Malhotra <rob...@apple.com>
  Date:   2024-02-15 (Thu, 15 Feb 2024)

  Changed paths:
    A 
LayoutTests/http/tests/paymentrequest/ApplePayModifier-disbursementPaymentRequest.https-expected.txt
    A 
LayoutTests/http/tests/paymentrequest/ApplePayModifier-disbursementPaymentRequest.https.html
    M LayoutTests/platform/ios-wk2/TestExpectations
    M LayoutTests/platform/mac-wk2/TestExpectations
    M Source/WTF/wtf/PlatformEnableCocoa.h
    M Source/WebCore/DerivedSources-input.xcfilelist
    M Source/WebCore/DerivedSources-output.xcfilelist
    M Source/WebCore/DerivedSources.make
    M Source/WebCore/Modules/applepay/ApplePayDetailsUpdateBase.h
    M Source/WebCore/Modules/applepay/ApplePayDetailsUpdateBase.idl
    A Source/WebCore/Modules/applepay/ApplePayDisbursementPaymentRequest.h
    A Source/WebCore/Modules/applepay/ApplePayDisbursementPaymentRequest.idl
    M Source/WebCore/Modules/applepay/ApplePayFeature.h
    M Source/WebCore/Modules/applepay/ApplePayFeature.idl
    M Source/WebCore/Modules/applepay/ApplePayLineItem.h
    M Source/WebCore/Modules/applepay/ApplePayLineItem.idl
    M Source/WebCore/Modules/applepay/ApplePayMerchantCapability.cpp
    M Source/WebCore/Modules/applepay/ApplePayMerchantCapability.h
    M Source/WebCore/Modules/applepay/ApplePayMerchantCapability.idl
    M Source/WebCore/Modules/applepay/ApplePayPaymentRequest.h
    M Source/WebCore/Modules/applepay/ApplePayPaymentRequest.idl
    M Source/WebCore/Modules/applepay/ApplePaySession.cpp
    M Source/WebCore/Modules/applepay/ApplePaySessionPaymentRequest.h
    M Source/WebCore/Modules/applepay/PaymentSummaryItems.h
    M Source/WebCore/Modules/applepay/cocoa/PaymentSummaryItemsCocoa.mm
    M Source/WebCore/Modules/applepay/paymentrequest/ApplePayModifier.h
    M Source/WebCore/Modules/applepay/paymentrequest/ApplePayModifier.idl
    M Source/WebCore/Modules/applepay/paymentrequest/ApplePayPaymentHandler.cpp
    M Source/WebCore/PAL/pal/cocoa/PassKitSoftLink.h
    M Source/WebCore/PAL/pal/cocoa/PassKitSoftLink.mm
    M Source/WebCore/PAL/pal/spi/cocoa/PassKitSPI.h
    M Source/WebCore/SourcesCocoa.txt
    M Source/WebCore/WebCore.xcodeproj/project.pbxproj
    M Source/WebCore/testing/MockPaymentCoordinator.cpp
    M Source/WebCore/testing/MockPaymentCoordinator.h
    M Source/WebCore/testing/MockPaymentCoordinator.idl
    M Source/WebKit/Platform/cocoa/PaymentAuthorizationPresenter.mm
    A Source/WebKit/Shared/ApplePay/DisbursementPaymentRequest.h
    A Source/WebKit/Shared/ApplePay/cocoa/DisbursementPaymentRequestCocoa.mm
    M Source/WebKit/Shared/ApplePay/cocoa/WebPaymentCoordinatorProxyCocoa.h
    M Source/WebKit/Shared/ApplePay/cocoa/WebPaymentCoordinatorProxyCocoa.mm
    M Source/WebKit/Shared/ApplePay/ios/WebPaymentCoordinatorProxyIOS.mm
    M Source/WebKit/Shared/ApplePay/mac/WebPaymentCoordinatorProxyMac.mm
    M Source/WebKit/Shared/WebCoreArgumentCoders.serialization.in
    M Source/WebKit/SourcesCocoa.txt
    M Source/WebKit/WebKit.xcodeproj/project.pbxproj

  Log Message:
  -----------
  [Apple Pay] Support for PKDisbursementRequest on WebKit
https://bugs.webkit.org/show_bug.cgi?id=267428
rdar://115776022

Reviewed by Alex Christensen.

This patch adds support for `PKDisbursementRequest` and associated classes. 
Since `PKDisbursementPaymentRequest` is a subclass and not a property, the code 
paths may sometimes diverge from convention

* 
LayoutTests/http/tests/paymentrequest/ApplePayModifier-disbursementPaymentRequest.https-expected.txt:
 Added.
* 
LayoutTests/http/tests/paymentrequest/ApplePayModifier-disbursementPaymentRequest.https.html:
 Added.
* Source/WTF/wtf/PlatformEnableCocoa.h:
* Source/WebCore/DerivedSources-input.xcfilelist:
* Source/WebCore/DerivedSources-output.xcfilelist:
* Source/WebCore/DerivedSources.make:
* Source/WebCore/Modules/applepay/ApplePayDetailsUpdateBase.h:
* Source/WebCore/Modules/applepay/ApplePayDetailsUpdateBase.idl:
* Source/WebCore/Modules/applepay/ApplePayDisbursementPaymentRequest.h: Copied 
from Source/WebCore/Modules/applepay/ApplePayMerchantCapability.h.
* Source/WebCore/Modules/applepay/ApplePayDisbursementPaymentRequest.idl: 
Copied from Source/WebCore/Modules/applepay/ApplePayMerchantCapability.idl.
* Source/WebCore/Modules/applepay/ApplePayFeature.h:
* Source/WebCore/Modules/applepay/ApplePayFeature.idl:
* Source/WebCore/Modules/applepay/ApplePayLineItem.h:
* Source/WebCore/Modules/applepay/ApplePayLineItem.idl:
* Source/WebCore/Modules/applepay/ApplePayMerchantCapability.cpp:
(WebCore::convertAndValidate):
* Source/WebCore/Modules/applepay/ApplePayMerchantCapability.h:
* Source/WebCore/Modules/applepay/ApplePayMerchantCapability.idl:
* Source/WebCore/Modules/applepay/ApplePayPaymentRequest.h:
* Source/WebCore/Modules/applepay/ApplePayPaymentRequest.idl:
* Source/WebCore/Modules/applepay/ApplePaySession.cpp:
(WebCore::ApplePayDisbursementPaymentRequest::validate const):
(WebCore::ApplePayDisbursementPaymentRequest::convertAndValidate):
(WebCore::convertAndValidate):
* Source/WebCore/Modules/applepay/ApplePaySessionPaymentRequest.h:
(WebCore::ApplePaySessionPaymentRequest::disbursementPaymentRequest const):
(WebCore::ApplePaySessionPaymentRequest::setDisbursementPaymentRequest):
* Source/WebCore/Modules/applepay/PaymentSummaryItems.h:
* Source/WebCore/Modules/applepay/cocoa/PaymentSummaryItemsCocoa.mm:
(WebCore::platformDisbursementSummaryItem):
(WebCore::platformInstantFundsOutFeeSummaryItem):
(WebCore::platformSummaryItem):
(WebCore::platformDisbursementSummaryItems):
* Source/WebCore/Modules/applepay/paymentrequest/ApplePayModifier.h:
* Source/WebCore/Modules/applepay/paymentrequest/ApplePayModifier.idl:
* Source/WebCore/Modules/applepay/paymentrequest/ApplePayPaymentHandler.cpp:
(WebCore::ApplePayPaymentHandler::show):
(WebCore::ApplePayPaymentHandler::shippingAddressUpdated):
(WebCore::ApplePayPaymentHandler::shippingOptionUpdated):
(WebCore::ApplePayPaymentHandler::paymentMethodUpdated):
* Source/WebCore/PAL/pal/cocoa/PassKitSoftLink.h:
* Source/WebCore/PAL/pal/cocoa/PassKitSoftLink.mm:
* Source/WebCore/PAL/pal/spi/cocoa/PassKitSPI.h:
* Source/WebCore/SourcesCocoa.txt:
* Source/WebCore/WebCore.xcodeproj/project.pbxproj:
* Source/WebCore/testing/MockPaymentCoordinator.cpp:
(WebCore::MockPaymentCoordinator::showPaymentUI):
(WebCore::MockPaymentCoordinator::completeShippingMethodSelection):
(WebCore::MockPaymentCoordinator::completeShippingContactSelection):
(WebCore::MockPaymentCoordinator::completePaymentMethodSelection):
* Source/WebCore/testing/MockPaymentCoordinator.h:
* Source/WebCore/testing/MockPaymentCoordinator.idl:
* Source/WebKit/Platform/cocoa/PaymentAuthorizationPresenter.mm:
(WebKit::PaymentAuthorizationPresenter::completePaymentMethodSelection):
(WebKit::PaymentAuthorizationPresenter::completeShippingContactSelection):
* Source/WebKit/Scripts/process-entitlements.sh:
* Source/WebKit/Shared/ApplePay/DisbursementPaymentRequest.h: Copied from 
Source/WebCore/Modules/applepay/ApplePayMerchantCapability.h.
* Source/WebKit/Shared/ApplePay/cocoa/DisbursementPaymentRequestCocoa.mm: Added.
(WebKit::platformDisbursementPaymentRequest):
* Source/WebKit/Shared/ApplePay/cocoa/WebPaymentCoordinatorProxyCocoa.h:
* Source/WebKit/Shared/ApplePay/cocoa/WebPaymentCoordinatorProxyCocoa.mm:
(WebKit::toPKMerchantCapabilities):
* Source/WebKit/Shared/ApplePay/ios/WebPaymentCoordinatorProxyIOS.mm:
(WebKit::WebPaymentCoordinatorProxy::platformShowPaymentUI):
* Source/WebKit/Shared/ApplePay/mac/WebPaymentCoordinatorProxyMac.mm:
(WebKit::WebPaymentCoordinatorProxy::platformShowPaymentUI):
* Source/WebKit/Shared/Cocoa/WebCoreArgumentCodersCocoa.mm:
(IPC::ArgumentCoder<WebCore::ApplePaySessionPaymentRequest>::encode):
(IPC::ArgumentCoder<WebCore::ApplePaySessionPaymentRequest>::decode):
* Source/WebKit/Shared/WebCoreArgumentCoders.serialization.in:
* Source/WebKit/SourcesCocoa.txt:
* Source/WebKit/WebKit.xcodeproj/project.pbxproj:

Canonical link: https://commits.webkit.org/274702@main


_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to