Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 6ff751a465e39d9f969fd9da863971fb8c2841eb
      
https://github.com/WebKit/WebKit/commit/6ff751a465e39d9f969fd9da863971fb8c2841eb
  Author: Jintian Wang <[email protected]>
  Date:   2025-12-04 (Thu, 04 Dec 2025)

  Changed paths:
    M Source/WebKit/NetworkProcess/NetworkConnectionToWebProcess.h
    M Source/WebKit/NetworkProcess/ios/NetworkConnectionToWebProcessIOS.mm
    M Source/WebKit/Shared/ApplePay/WebPaymentCoordinatorProxy.h
    M Source/WebKit/Shared/ApplePay/ios/WebPaymentCoordinatorProxyIOS.mm
    M Source/WebKit/UIProcess/API/Cocoa/WKUIDelegatePrivate.h
    M Source/WebKit/UIProcess/Network/NetworkProcessProxy.h
    M Source/WebKit/UIProcess/Network/NetworkProcessProxy.messages.in
    M Source/WebKit/UIProcess/Network/NetworkProcessProxyCocoa.mm
    M Source/WebKit/UIProcess/WebPageProxyInternals.h
    M Source/WebKit/UIProcess/ios/WebPageProxyIOS.mm

  Log Message:
  -----------
  Notify client of apple pay sheet showing
https://bugs.webkit.org/show_bug.cgi?id=303446
rdar://163838660

Reviewed by Abrar Rahman Protyasha.

Add notification to UIDelegate when Apple Pay payment sheet is about to be 
presented, allowing
visionOS clients to prepare their UI state before the modal appears. This 
follows the same
pattern already established for WebAuth modal presentation.

Before presentInScene(), which displays the sheet, is invoked in 
WebPaymentCoordinatorProxyIOS,
`notifyWillPresentPaymentUI` is called to send notification that the sheet will 
appear. The
method is called via IPC from NetworkProcess to UIProcess, following the same 
pattern as other
payment coordinator communication.

* Source/WebKit/UIProcess/API/Cocoa/WKUIDelegatePrivate.h:
* Source/WebKit/NetworkProcess/NetworkConnectionToWebProcess.h:
* Source/WebKit/NetworkProcess/ios/NetworkConnectionToWebProcessIOS.mm:
(WebKit::NetworkConnectionToWebProcess::notifyWillPresentPaymentUI):
Implement by sending IPC message to NetworkProcessProxy in UIProcess.

* Source/WebKit/Shared/ApplePay/WebPaymentCoordinatorProxy.h:
* Source/WebKit/Shared/ApplePay/ios/WebPaymentCoordinatorProxyIOS.mm:
(WebKit::WebPaymentCoordinatorProxy::platformShowPaymentUI):
Invoke notifyWillPresentPaymentUI immediately before presentInScene() call.

* Source/WebKit/UIProcess/Network/NetworkProcessProxy.h:
* Source/WebKit/UIProcess/Network/NetworkProcessProxy.messages.in:
Add NotifyWillPresentPaymentUI IPC message.

* Source/WebKit/UIProcess/Network/NetworkProcessProxyCocoa.mm:
(WebKit::NetworkProcessProxy::notifyWillPresentPaymentUI):
Implement notification by calling the existing _webViewWillPresentModalUI: 
UIDelegate method

* Source/WebKit/UIProcess/WebPageProxyInternals.h:
* Source/WebKit/UIProcess/ios/WebPageProxyIOS.mm:
(WebKit::WebPageProxy::Internals::notifyWillPresentPaymentUI):

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



To unsubscribe from these emails, change your notification settings at 
https://github.com/WebKit/WebKit/settings/notifications

Reply via email to