Title: [214428] trunk/Source/WebKit2
Revision
214428
Author
ander...@apple.com
Date
2017-03-27 13:55:45 -0700 (Mon, 27 Mar 2017)

Log Message

Fix uses of deprecated API
https://bugs.webkit.org/show_bug.cgi?id=170138
rdar://problem/28882449

Reviewed by Tim Horton.

* UIProcess/ApplePay/cocoa/WebPaymentCoordinatorProxyCocoa.mm:
(WebKit::toPKContactFields):
(WebKit::toPKAddressField):
(WebKit::toPKPaymentRequest):
Don't use deprecated APIs.

(WebKit::toNSError):
Don't try to insert nil in a dictionary.

Modified Paths

Diff

Modified: trunk/Source/WebKit2/ChangeLog (214427 => 214428)


--- trunk/Source/WebKit2/ChangeLog	2017-03-27 19:57:22 UTC (rev 214427)
+++ trunk/Source/WebKit2/ChangeLog	2017-03-27 20:55:45 UTC (rev 214428)
@@ -1,3 +1,20 @@
+2017-03-27  Anders Carlsson  <ander...@apple.com>
+
+        Fix uses of deprecated API
+        https://bugs.webkit.org/show_bug.cgi?id=170138
+        rdar://problem/28882449
+
+        Reviewed by Tim Horton.
+
+        * UIProcess/ApplePay/cocoa/WebPaymentCoordinatorProxyCocoa.mm:
+        (WebKit::toPKContactFields):
+        (WebKit::toPKAddressField):
+        (WebKit::toPKPaymentRequest):
+        Don't use deprecated APIs.
+
+        (WebKit::toNSError):
+        Don't try to insert nil in a dictionary.
+
 2017-03-27  Alex Christensen  <achristen...@webkit.org>
 
         Make WebSockets work in network process

Modified: trunk/Source/WebKit2/UIProcess/ApplePay/cocoa/WebPaymentCoordinatorProxyCocoa.mm (214427 => 214428)


--- trunk/Source/WebKit2/UIProcess/ApplePay/cocoa/WebPaymentCoordinatorProxyCocoa.mm	2017-03-27 19:57:22 UTC (rev 214427)
+++ trunk/Source/WebKit2/UIProcess/ApplePay/cocoa/WebPaymentCoordinatorProxyCocoa.mm	2017-03-27 20:55:45 UTC (rev 214428)
@@ -308,12 +308,27 @@
     }];
 }
 
+#if (PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 101300) || (PLATFORM(IOS) && __IPHONE_OS_VERSION_MIN_REQUIRED >= 110000)
+static RetainPtr<NSSet> toPKContactFields(const WebCore::PaymentRequest::ContactFields& contactFields)
+{
+    Vector<NSString *> result;
+
+    if (contactFields.postalAddress)
+        result.append(getPKContactFieldPostalAddress());
+    if (contactFields.phone)
+        result.append(getPKContactFieldPhoneNumber());
+    if (contactFields.email)
+        result.append(getPKContactFieldEmailAddress());
+    if (contactFields.name)
+        result.append(getPKContactFieldName());
+
+    return adoptNS([[NSSet alloc] initWithObjects:result.data() count:result.size()]);
+}
+#else
 static PKAddressField toPKAddressField(const WebCore::PaymentRequest::ContactFields& contactFields)
 {
     PKAddressField result = 0;
 
-#pragma clang diagnostic push
-#pragma clang diagnostic ignored "-Wdeprecated-declarations"
     if (contactFields.postalAddress)
         result |= PKAddressFieldPostalAddress;
     if (contactFields.phone)
@@ -322,10 +337,10 @@
         result |= PKAddressFieldEmail;
     if (contactFields.name)
         result |= PKAddressFieldName;
-#pragma clang diagnostic pop
 
     return result;
 }
+#endif
 
 static PKPaymentSummaryItemType toPKPaymentSummaryItemType(WebCore::PaymentRequest::LineItem::Type type)
 {
@@ -488,11 +503,13 @@
     [result setCurrencyCode:paymentRequest.currencyCode()];
     [result setBillingContact:paymentRequest.billingContact().pkContact()];
     [result setShippingContact:paymentRequest.shippingContact().pkContact()];
-#pragma clang diagnostic push
-#pragma clang diagnostic ignored "-Wdeprecated-declarations"
+#if (PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 101300) || (PLATFORM(IOS) && __IPHONE_OS_VERSION_MIN_REQUIRED >= 110000)
+    [result setRequiredBillingContactFields:toPKContactFields(paymentRequest.requiredBillingContactFields()).get()];
+    [result setRequiredShippingContactFields:toPKContactFields(paymentRequest.requiredShippingContactFields()).get()];
+#else
     [result setRequiredBillingAddressFields:toPKAddressField(paymentRequest.requiredBillingContactFields())];
     [result setRequiredShippingAddressFields:toPKAddressField(paymentRequest.requiredShippingContactFields())];
-#pragma clang diagnostic pop
+#endif
 
     [result setSupportedNetworks:toSupportedNetworks(paymentRequest.supportedNetworks()).get()];
     [result setMerchantCapabilities:toPKMerchantCapabilities(paymentRequest.merchantCapabilities())];
@@ -603,7 +620,8 @@
         }
 
         [userInfo setObject:pkContactField forKey:getPKPaymentErrorContactFieldUserInfoKey()];
-        [userInfo setObject:postalAddressKey forKey:getPKPaymentErrorPostalAddressUserInfoKey()];
+        if (postalAddressKey)
+            [userInfo setObject:postalAddressKey forKey:getPKPaymentErrorPostalAddressUserInfoKey()];
     }
 
     return adoptNS([[NSError alloc] initWithDomain:getPKPaymentErrorDomain() code:toPKPaymentErrorCode(error.code) userInfo:userInfo.get()]);
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to