Title: [213385] trunk
Revision
213385
Author
wei...@apple.com
Date
2017-03-03 14:19:06 -0800 (Fri, 03 Mar 2017)

Log Message

REGRESSION (r209760): Apple Pay doesn't work on casper.com, shopspring.com, maybe other sites
<rdar://problem/30313445>
https://bugs.webkit.org/show_bug.cgi?id=169149

Reviewed by Simon Fraser.

Source/WebCore:

Relax restriction that the ApplePayShippingMethod sequence must not be empty. This
was incorrect.

* Modules/applepay/ApplePaySession.cpp:
(WebCore::convertAndValidate):

LayoutTests:

* http/tests/ssl/applepay/ApplePaySession-expected.txt:
* http/tests/ssl/applepay/ApplePaySession.html:
Update test for relaxed ApplePayShippingMethod sequence requirements.

Modified Paths

Diff

Modified: trunk/LayoutTests/ChangeLog (213384 => 213385)


--- trunk/LayoutTests/ChangeLog	2017-03-03 21:50:07 UTC (rev 213384)
+++ trunk/LayoutTests/ChangeLog	2017-03-03 22:19:06 UTC (rev 213385)
@@ -1,3 +1,15 @@
+2017-03-03  Sam Weinig  <s...@webkit.org>
+
+        REGRESSION (r209760): Apple Pay doesn't work on casper.com, shopspring.com, maybe other sites
+        <rdar://problem/30313445>
+        https://bugs.webkit.org/show_bug.cgi?id=169149
+
+        Reviewed by Simon Fraser.
+
+        * http/tests/ssl/applepay/ApplePaySession-expected.txt:
+        * http/tests/ssl/applepay/ApplePaySession.html:
+        Update test for relaxed ApplePayShippingMethod sequence requirements.
+
 2017-03-03  Alex Christensen  <achristen...@webkit.org>
 
         [URLParser] Fix file: as a relative file URL

Modified: trunk/LayoutTests/http/tests/ssl/applepay/ApplePaySession-expected.txt (213384 => 213385)


--- trunk/LayoutTests/http/tests/ssl/applepay/ApplePaySession-expected.txt	2017-03-03 21:50:07 UTC (rev 213384)
+++ trunk/LayoutTests/http/tests/ssl/applepay/ApplePaySession-expected.txt	2017-03-03 22:19:06 UTC (rev 213385)
@@ -349,6 +349,9 @@
 SETUP: request = validRequest(); request.shippingMethods = undefined;
 PASS new ApplePaySession(2, request) did not throw exception.
 
+SETUP: request = validRequest(); request.shippingMethods = [];
+PASS new ApplePaySession(2, request) did not throw exception.
+
 SETUP: request = validRequest(); request.shippingMethods = '';
 PASS new ApplePaySession(2, request) threw exception TypeError: Value is not a sequence.
 
@@ -364,9 +367,6 @@
 SETUP: request = validRequest(); request.shippingMethods = { };
 PASS new ApplePaySession(2, request) threw exception TypeError: Type error.
 
-SETUP: request = validRequest(); request.shippingMethods = [];
-PASS new ApplePaySession(2, request) threw exception TypeError: At least one shipping method must be provided..
-
 SETUP: request = validRequest(); request.shippingMethods = [{ }];
 PASS new ApplePaySession(2, request) threw exception TypeError: Member ApplePayShippingMethod.amount is required and must be an instance of DOMString.
 

Modified: trunk/LayoutTests/http/tests/ssl/applepay/ApplePaySession.html (213384 => 213385)


--- trunk/LayoutTests/http/tests/ssl/applepay/ApplePaySession.html	2017-03-03 21:50:07 UTC (rev 213384)
+++ trunk/LayoutTests/http/tests/ssl/applepay/ApplePaySession.html	2017-03-03 22:19:06 UTC (rev 213385)
@@ -188,12 +188,12 @@
     debug("Testing PaymentRequest.shippingMethods")
     debug("");
     logAndShouldNotThrow("request = validRequest(); request.shippingMethods = undefined;", "new ApplePaySession(2, request)")
+    logAndShouldNotThrow("request = validRequest(); request.shippingMethods = [];", "new ApplePaySession(2, request)")
     logAndShouldThrow("request = validRequest(); request.shippingMethods = '';", "new ApplePaySession(2, request)")
     logAndShouldThrow("request = validRequest(); request.shippingMethods = 'invalid';", "new ApplePaySession(2, request)")
     logAndShouldThrow("request = validRequest(); request.shippingMethods = null;", "new ApplePaySession(2, request)")
     logAndShouldThrow("request = validRequest(); request.shippingMethods = 7;", "new ApplePaySession(2, request)")
     logAndShouldThrow("request = validRequest(); request.shippingMethods = { };", "new ApplePaySession(2, request)")
-    logAndShouldThrow("request = validRequest(); request.shippingMethods = [];", "new ApplePaySession(2, request)")
     logAndShouldThrow("request = validRequest(); request.shippingMethods = [{ }];", "new ApplePaySession(2, request)")
     logAndShouldThrow("request = validRequest(); request.shippingMethods = [{ amount: '', }];", "new ApplePaySession(2, request)")
     logAndShouldThrow("request = validRequest(); request.shippingMethods = [{ amount: '', detail: '' }];", "new ApplePaySession(2, request)")

Modified: trunk/Source/WebCore/ChangeLog (213384 => 213385)


--- trunk/Source/WebCore/ChangeLog	2017-03-03 21:50:07 UTC (rev 213384)
+++ trunk/Source/WebCore/ChangeLog	2017-03-03 22:19:06 UTC (rev 213385)
@@ -1,3 +1,17 @@
+2017-03-03  Sam Weinig  <s...@webkit.org>
+
+        REGRESSION (r209760): Apple Pay doesn't work on casper.com, shopspring.com, maybe other sites
+        <rdar://problem/30313445>
+        https://bugs.webkit.org/show_bug.cgi?id=169149
+
+        Reviewed by Simon Fraser.
+
+        Relax restriction that the ApplePayShippingMethod sequence must not be empty. This
+        was incorrect.
+
+        * Modules/applepay/ApplePaySession.cpp:
+        (WebCore::convertAndValidate):
+
 2017-03-03  Alex Christensen  <achristen...@webkit.org>
 
         [URLParser] Fix file: as a relative file URL

Modified: trunk/Source/WebCore/Modules/applepay/ApplePaySession.cpp (213384 => 213385)


--- trunk/Source/WebCore/Modules/applepay/ApplePaySession.cpp	2017-03-03 21:50:07 UTC (rev 213384)
+++ trunk/Source/WebCore/Modules/applepay/ApplePaySession.cpp	2017-03-03 22:19:06 UTC (rev 213385)
@@ -297,9 +297,6 @@
 
 static ExceptionOr<Vector<PaymentRequest::ShippingMethod>> convertAndValidate(Vector<ApplePayShippingMethod>&& shippingMethods)
 {
-    if (shippingMethods.isEmpty())
-        return Exception { TypeError, "At least one shipping method must be provided." };
-
     Vector<PaymentRequest::ShippingMethod> result;
     result.reserveInitialCapacity(shippingMethods.size());
     
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to