[Webkit-unassigned] [Bug 233906] Deployment target for macOS 11+ does not follow minor version bumps

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Thu Dec 9 11:47:38 PST 2021


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

--- Comment #15 from Elliott Williams <emw at apple.com> ---
Spent some time down the rabbit hole, and I think I understand why the `ApplePayButton.html` layout test is failing:

1. The test calls `ApplePaySession.supportsVersion()` to determine whether it can check new -apple-pay-button-type values added in ApplePaySession v10.

2. This is implemented in WebCore::PaymentAPIVersion::current(), which uses platform macros to determine what version number to return: https://github.com/WebKit/WebKit/blob/413e73561f8da3a1c9cfafe74ea1810f37e5786f/Source/WebCore/Modules/applepay/cocoa/PaymentAPIVersionCocoa.mm#L35

3. The macro for v11 (`ENABLE(APPLE_PAY_SESSION_V11)`) is defined in PlatformEnableCocoa.h as

    (PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 110300)

which is now true for this builder, because its deployment target is changed to 11.3 :-)

4. So the ApplePaySession API reports that it supports v11, but it doesn't actually support the button types added in v10. The button type implementation is controlled by HAVE_PASSKIT_NEW_BUTTON_TYPES. AFAICT, HAVE_PASSKIT_NEW_BUTTON_TYPES is not part of any production SDK.

Confirmed via disassembly that PaymentAPIVersion::current() now returns 11, and that on trunk builds it returns one of the versions below 10.

What should we do about this? Perhaps the best thing to do would be to make the v11 macro depend on the same things the v10 macro does, but I don't know if that would have downstream consequences.

-- 
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/20211209/46f82992/attachment.htm>


More information about the webkit-unassigned mailing list