Bug 228599 - [Payment Request] `additionalShippingMethods` are not used if a `paymentMethodType` is provided
Summary: [Payment Request] `additionalShippingMethods` are not used if a `paymentMetho...
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: Platform (show other bugs)
Version: WebKit Nightly Build
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: Devin Rousso
URL:
Keywords: InRadar
Depends on: 223621
Blocks:
  Show dependency treegraph
 
Reported: 2021-07-29 12:33 PDT by Devin Rousso
Modified: 2021-07-29 17:28 PDT (History)
13 users (show)

See Also:


Attachments
Patch (37.67 KB, patch)
2021-07-29 12:51 PDT, Devin Rousso
no flags Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Devin Rousso 2021-07-29 12:33:53 PDT
r275169 made it so that `paymentMethodType` is no longer `required` so that `additionalShippingMethods` can be specified without having to limit it to a specific payment method type. While this works in theory, WebKit doesn't know about the user's selected payment method type until the user actually selects a payment method, meaning that until then the `additionalShippingMethods` are not used, and unfortunately (until now) `PKPaymentRequestPaymentMethodUpdate` did not support providing a `NSArray<PKShippingMethod *> *`, meaning that there was no way to update the list of shipping methods when the user changed their selected payment method, meaning that WebKit would have to wait/rely on the user to change their shipping address _after_ selecting a payment method in order for `additionalShippingMethods` to take effect.
Comment 1 Devin Rousso 2021-07-29 12:34:08 PDT
<rdar://problem/81190366>
Comment 2 Devin Rousso 2021-07-29 12:51:52 PDT
Created attachment 434560 [details]
Patch
Comment 3 EWS 2021-07-29 17:28:53 PDT
Committed r280459 (240094@main): <https://commits.webkit.org/240094@main>

All reviewed patches have been landed. Closing bug and clearing flags on attachment 434560 [details].