⚠ Archived content — this site is no longer maintained.   Current WebKit documentation is at docs.webkit.org.

Changeset 286344 in webkit


Ignore:
Timestamp:
Nov 30, 2021, 6:21:59 PM (5 years ago)
Author:
Devin Rousso
Message:

[Apple Pay] use #if inside ApplePayPaymentTiming instead of guarding the entire enum
https://bugs.webkit.org/show_bug.cgi?id=232696
<rdar://problem/83097245>

Reviewed by Tim Horton.

  • Modules/applepay/ApplePayPaymentTiming.idl:
  • Modules/applepay/ApplePayPaymentTiming.h:
  • Modules/applepay/ApplePayLineItem.idl:
  • Modules/applepay/ApplePayLineItem.h:

(WebCore::ApplePayLineItem::encode const):
(WebCore::ApplePayLineItem::decode):
Rather than have the entire ApplePayPaymentTiming be guarded, have it always exist and
just guard Recurring and Deferred since those are really the things that need guarding.

  • Modules/applepay/PaymentSummaryItems.h:
  • Modules/applepay/cocoa/PaymentSummaryItemsCocoa.mm:

(WebCore::platformSummaryItem):
Add WKA hooks.

Location:
trunk/Source/WebCore
Files:
7 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebCore/ChangeLog

    r286330 r286344  
     12021-11-30  Devin Rousso  <drousso@apple.com>
     2
     3        [Apple Pay] use `#if` inside `ApplePayPaymentTiming` instead of guarding the entire `enum`
     4        https://bugs.webkit.org/show_bug.cgi?id=232696
     5        <rdar://problem/83097245>
     6
     7        Reviewed by Tim Horton.
     8
     9        * Modules/applepay/ApplePayPaymentTiming.idl:
     10        * Modules/applepay/ApplePayPaymentTiming.h:
     11        * Modules/applepay/ApplePayLineItem.idl:
     12        * Modules/applepay/ApplePayLineItem.h:
     13        (WebCore::ApplePayLineItem::encode const):
     14        (WebCore::ApplePayLineItem::decode):
     15        Rather than have the entire `ApplePayPaymentTiming` be guarded, have it always exist and
     16        just guard `Recurring` and `Deferred` since those are really the things that need guarding.
     17
     18        * Modules/applepay/PaymentSummaryItems.h:
     19        * Modules/applepay/cocoa/PaymentSummaryItemsCocoa.mm:
     20        (WebCore::platformSummaryItem):
     21        Add WKA hooks.
     22
    1232021-11-30  ujwal koneru  <ujwal.koneru@sony.com>
    224
  • trunk/Source/WebCore/Modules/applepay/ApplePayLineItem.h

    r278630 r286344  
    3434#include <wtf/text/WTFString.h>
    3535
     36#if USE(APPLE_INTERNAL_SDK)
     37#include <WebKitAdditions/ApplePayLineItemAdditions.h>
     38#endif
     39
    3640namespace WebCore {
    3741
     
    4650    String amount;
    4751
    48 #if ENABLE(APPLE_PAY_RECURRING_LINE_ITEM) || ENABLE(APPLE_PAY_DEFERRED_LINE_ITEM)
    4952    ApplePayPaymentTiming paymentTiming { ApplePayPaymentTiming::Immediate };
    50 #endif
    5153
    5254#if ENABLE(APPLE_PAY_RECURRING_LINE_ITEM)
     
    6163#endif
    6264
     65#if defined(ApplePayLineItemAdditions_members)
     66    ApplePayLineItemAdditions_members
     67#endif
     68
    6369    template<class Encoder> void encode(Encoder&) const;
    6470    template<class Decoder> static std::optional<ApplePayLineItem> decode(Decoder&);
     
    7177    encoder << label;
    7278    encoder << amount;
    73 #if ENABLE(APPLE_PAY_RECURRING_LINE_ITEM) || ENABLE(APPLE_PAY_DEFERRED_LINE_ITEM)
    7479    encoder << paymentTiming;
    75 #endif
    7680#if ENABLE(APPLE_PAY_RECURRING_LINE_ITEM)
    7781    encoder << recurringPaymentStartDate;
     
    8286#if ENABLE(APPLE_PAY_DEFERRED_LINE_ITEM)
    8387    encoder << deferredPaymentDate;
     88#endif
     89#if defined(ApplePayLineItemAdditions_encode)
     90    ApplePayLineItemAdditions_encode
    8491#endif
    8592}
     
    97104    DECODE(label, String)
    98105    DECODE(amount, String)
    99 #if ENABLE(APPLE_PAY_RECURRING_LINE_ITEM) || ENABLE(APPLE_PAY_DEFERRED_LINE_ITEM)
    100106    DECODE(paymentTiming, ApplePayPaymentTiming)
    101 #endif
    102107#if ENABLE(APPLE_PAY_RECURRING_LINE_ITEM)
    103108    DECODE(recurringPaymentStartDate, double)
     
    109114    DECODE(deferredPaymentDate, double)
    110115#endif
     116#if defined(ApplePayLineItemAdditions_decode_members)
     117    ApplePayLineItemAdditions_decode_members
     118#endif
    111119
    112120#undef DECODE
     
    116124        WTFMove(*label),
    117125        WTFMove(*amount),
    118 #if ENABLE(APPLE_PAY_RECURRING_LINE_ITEM) || ENABLE(APPLE_PAY_DEFERRED_LINE_ITEM)
    119126        WTFMove(*paymentTiming),
    120 #endif
    121127#if ENABLE(APPLE_PAY_RECURRING_LINE_ITEM)
    122128        WTFMove(*recurringPaymentStartDate),
     
    128134        WTFMove(*deferredPaymentDate),
    129135#endif
     136#if defined(ApplePayLineItemAdditions_decode_return)
     137    ApplePayLineItemAdditions_decode_return
     138#endif
    130139    } };
    131140}
  • trunk/Source/WebCore/Modules/applepay/ApplePayLineItem.idl

    r278630 r286344  
    4040    DOMString amount;
    4141
    42     [Conditional=APPLE_PAY_RECURRING_LINE_ITEM|APPLE_PAY_DEFERRED_LINE_ITEM] ApplePayPaymentTiming paymentTiming = "immediate";
     42    ApplePayPaymentTiming paymentTiming = "immediate";
    4343
    4444    [Conditional=APPLE_PAY_RECURRING_LINE_ITEM] Date recurringPaymentStartDate;
  • trunk/Source/WebCore/Modules/applepay/ApplePayPaymentTiming.h

    r278630 r286344  
    2626#pragma once
    2727
    28 #if ENABLE(APPLE_PAY_RECURRING_LINE_ITEM) || ENABLE(APPLE_PAY_DEFERRED_LINE_ITEM)
     28#include <wtf/Forward.h>
    2929
    30 #include <wtf/Forward.h>
     30#if USE(APPLE_INTERNAL_SDK)
     31#include <WebKitAdditions/ApplePayPaymentTimingAdditions.h>
     32#endif
    3133
    3234namespace WebCore {
     
    3436enum class ApplePayPaymentTiming : uint8_t {
    3537    Immediate,
     38#if ENABLE(APPLE_PAY_RECURRING_LINE_ITEM)
    3639    Recurring,
     40#endif
     41#if ENABLE(APPLE_PAY_DEFERRED_LINE_ITEM)
    3742    Deferred,
     43#endif
     44#if defined(ApplePayPaymentTimingAdditions_members)
     45    ApplePayPaymentTimingAdditions_members
     46#endif
    3847};
    3948
     
    4554    using values = EnumValues<
    4655        WebCore::ApplePayPaymentTiming,
    47         WebCore::ApplePayPaymentTiming::Immediate,
    48         WebCore::ApplePayPaymentTiming::Recurring,
    49         WebCore::ApplePayPaymentTiming::Deferred
     56        WebCore::ApplePayPaymentTiming::Immediate
     57#if ENABLE(APPLE_PAY_RECURRING_LINE_ITEM)
     58        , WebCore::ApplePayPaymentTiming::Recurring
     59#endif
     60#if ENABLE(APPLE_PAY_DEFERRED_LINE_ITEM)
     61        , WebCore::ApplePayPaymentTiming::Deferred
     62#endif
     63#if defined(ApplePayPaymentTimingAdditions_EnumTraits)
     64    ApplePayPaymentTimingAdditions_EnumTraits
     65#endif
    5066    >;
    5167};
    5268
    5369} // namespace WTF
    54 
    55 #endif // ENABLE(APPLE_PAY_RECURRING_LINE_ITEM) || ENABLE(APPLE_PAY_DEFERRED_LINE_ITEM)
  • trunk/Source/WebCore/Modules/applepay/ApplePayPaymentTiming.idl

    r278630 r286344  
    2424 */
    2525
    26 [
    27     Conditional=APPLE_PAY_RECURRING_LINE_ITEM|APPLE_PAY_DEFERRED_LINE_ITEM,
    28 ] enum ApplePayPaymentTiming {
    29     "immediate",
    30     "recurring",
    31     "deferred"
     26enum ApplePayPaymentTiming {
     27    "immediate"
     28#if defined(ENABLE_APPLE_PAY_RECURRING_LINE_ITEM) && ENABLE_APPLE_PAY_RECURRING_LINE_ITEM
     29    , "recurring"
     30#endif
     31#if defined(ENABLE_APPLE_PAY_DEFERRED_LINE_ITEM) && ENABLE_APPLE_PAY_DEFERRED_LINE_ITEM
     32    , "deferred"
     33#endif
    3234};
  • trunk/Source/WebCore/Modules/applepay/PaymentSummaryItems.h

    r282464 r286344  
    5050} // namespace WebCore
    5151
     52#if USE(APPLE_INTERNAL_SDK)
     53#include <WebKitAdditions/PaymentSummaryItemsAdditions.h>
     54#endif
     55
    5256#endif // ENABLE(APPLE_PAY)
  • trunk/Source/WebCore/Modules/applepay/cocoa/PaymentSummaryItemsCocoa.mm

    r282464 r286344  
    5050    }
    5151}
     52
     53} // namespace WebCore
     54
     55#if USE(APPLE_INTERNAL_SDK)
     56#include <WebKitAdditions/PaymentSummaryItemsCocoaAdditions.mm>
     57#endif
     58
     59namespace WebCore {
    5260
    5361#if HAVE(PASSKIT_RECURRING_SUMMARY_ITEM) || HAVE(PASSKIT_DEFERRED_SUMMARY_ITEM)
     
    112120PKPaymentSummaryItem *platformSummaryItem(const ApplePayLineItem& lineItem)
    113121{
    114 #if HAVE(PASSKIT_RECURRING_SUMMARY_ITEM) || HAVE(PASSKIT_DEFERRED_SUMMARY_ITEM)
    115122    switch (lineItem.paymentTiming) {
    116123    case ApplePayPaymentTiming::Immediate:
    117124        break;
    118125
     126#if HAVE(PASSKIT_RECURRING_SUMMARY_ITEM)
    119127    case ApplePayPaymentTiming::Recurring:
    120 #if HAVE(PASSKIT_RECURRING_SUMMARY_ITEM)
    121128        return platformRecurringSummaryItem(lineItem);
    122 #else
    123         break;
    124129#endif
    125130
     131#if HAVE(PASSKIT_DEFERRED_SUMMARY_ITEM)
    126132    case ApplePayPaymentTiming::Deferred:
    127 #if HAVE(PASSKIT_DEFERRED_SUMMARY_ITEM)
    128133        return platformDeferredSummaryItem(lineItem);
    129 #else
    130         break;
     134#endif
     135
     136#if defined(PaymentSummaryItemsCocoaAdditions_platformSummaryItem)
     137    PaymentSummaryItemsCocoaAdditions_platformSummaryItem
    131138#endif
    132139    }
    133 #endif
    134140
    135141    return [PAL::getPKPaymentSummaryItemClass() summaryItemWithLabel:lineItem.label amount:toDecimalNumber(lineItem.amount) type:toPKPaymentSummaryItemType(lineItem.type)];
Note: See TracChangeset for help on using the changeset viewer.