[Webkit-unassigned] [Bug 230874] Adopt presentationSceneIdentifierForPaymentAuthorizationController delegate call from PassKit

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Wed Sep 29 00:14:06 PDT 2021


https://bugs.webkit.org/show_bug.cgi?id=230874

--- Comment #3 from Devin Rousso <drousso at apple.com> ---
Comment on attachment 439570
  --> https://bugs.webkit.org/attachment.cgi?id=439570
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=439570&action=review

> Source/WebKit/ChangeLog:13
> +        (WebKit::PaymentAuthorizationPresenter::sceneIdentifier const): Holds temporarily the scene ID we'd like to use when presenting the payme
> +nt sheet, to be read by WKPaymentAuthorizationControllerDelegate.

oops?

> Source/WebKit/NetworkProcess/NetworkConnectionToWebProcess.h:359
> +    void paymentCoordinatorPresentingWindowSceneIdentifier(WebPageProxyIdentifier, CompletionHandler<void(String)>&&) final;

the `String` should probably be a `const String&` (or `String&&`)

> Source/WebKit/Shared/ApplePay/WebPaymentCoordinatorProxy.h:162
> +    void platformShowPaymentUI(const WebPageProxyIdentifier&, const URL& originatingURL, const Vector<URL>& linkIconURLs, const WebCore::ApplePaySessionPaymentRequest&, CompletionHandler<void(bool)>&&);

I don't think `WebPageProxyIdentifier` needs/wants to be `const` or `&`

> Source/WebKit/Shared/ApplePay/ios/WebPaymentCoordinatorProxyIOS.mm:61
> +            weakThis->m_authorizationPresenter->presentInScene(sceneID, WTFMove(completionHandler));

this should also check that `m_authorizationPresenter` is valid too
```
    Ref strongThis = weakThis.get();
    if (!strongThis) {
        completionHandler(false);
        return;
    }

    if (!strongThis->m_authorizationPresenter) {
        completionHandler(false);
        return;
    }

    strongThis->m_authorizationPresenter->presentInScene(sceneID, WTFMove(completionHandler));
```

> Source/WebKit/UIProcess/Network/NetworkProcessProxy.messages.in:81
> +    PaymentCoordinatorPresentingWindowSceneIdentifier(WebKit::WebPageProxyIdentifier webPageProxyIdentifier) -> (String sceneID) Async

NIT: I'd rename this to something more "verb-y" like `GetWindowSceneIdentifierForPaymentPresentation`

-- 
You are receiving this mail because:
You are the assignee for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.webkit.org/pipermail/webkit-unassigned/attachments/20210929/c9f9bbc7/attachment-0001.htm>


More information about the webkit-unassigned mailing list