Title: [237776] trunk
Revision
237776
Author
[email protected]
Date
2018-11-03 11:45:47 -0700 (Sat, 03 Nov 2018)

Log Message

[Payment Request] PaymentResponse.retry()'s errorFields should be optional
https://bugs.webkit.org/show_bug.cgi?id=191212

Reviewed by Youenn Fablet.

Source/WebCore:

Per WebIDL, the errorFields argument to PaymentResponse.retry() should be optional. See
<https://github.com/w3c/payment-request/issues/804> for details.

Added test case to http/tests/paymentrequest/payment-response-retry-method.https.html.

* Modules/paymentrequest/PaymentResponse.idl:

LayoutTests:

* http/tests/paymentrequest/payment-response-retry-method.https-expected.txt:
* http/tests/paymentrequest/payment-response-retry-method.https.html:

Modified Paths

Diff

Modified: trunk/LayoutTests/ChangeLog (237775 => 237776)


--- trunk/LayoutTests/ChangeLog	2018-11-03 17:57:49 UTC (rev 237775)
+++ trunk/LayoutTests/ChangeLog	2018-11-03 18:45:47 UTC (rev 237776)
@@ -1,3 +1,13 @@
+2018-11-03  Andy Estes  <[email protected]>
+
+        [Payment Request] PaymentResponse.retry()'s errorFields should be optional
+        https://bugs.webkit.org/show_bug.cgi?id=191212
+
+        Reviewed by Youenn Fablet.
+
+        * http/tests/paymentrequest/payment-response-retry-method.https-expected.txt:
+        * http/tests/paymentrequest/payment-response-retry-method.https.html:
+
 2018-11-02  Zalan Bujtas  <[email protected]>
 
         [LFC][BFC] Resolve percentage height values.

Modified: trunk/LayoutTests/http/tests/paymentrequest/payment-response-retry-method.https-expected.txt (237775 => 237776)


--- trunk/LayoutTests/http/tests/paymentrequest/payment-response-retry-method.https-expected.txt	2018-11-03 17:57:49 UTC (rev 237775)
+++ trunk/LayoutTests/http/tests/paymentrequest/payment-response-retry-method.https-expected.txt	2018-11-03 18:45:47 UTC (rev 237776)
@@ -10,4 +10,5 @@
 PASS When retrying, the user is shown error fields to fix. 
 PASS When "abort the update" occurs because of an update error, the `retryPromise` is rejected and response.[[complete]] becomes true. 
 PASS Calling retry() multiple times is always a new object. 
+PASS When retrying without errors, the user is shown an `unknown` error. 
 

Modified: trunk/LayoutTests/http/tests/paymentrequest/payment-response-retry-method.https.html (237775 => 237776)


--- trunk/LayoutTests/http/tests/paymentrequest/payment-response-retry-method.https.html	2018-11-03 17:57:49 UTC (rev 237775)
+++ trunk/LayoutTests/http/tests/paymentrequest/payment-response-retry-method.https.html	2018-11-03 18:45:47 UTC (rev 237776)
@@ -185,4 +185,18 @@
   await retryPromise;
   await response.complete();
 }, "Calling retry() multiple times is always a new object.");
+
+promise_test(async t => {
+  const { response, request } = await getPaymentRequestResponse({ requestShipping: true });
+  const retryPromise = response.retry();
+  const errors = internals.mockPaymentCoordinator.errors;
+  assert_equals(errors.length, 1, "Must have one error");
+  assert_equals(errors[0].code, "unknown", "Must be an 'unknown' error");
+  assert_equals(errors[0].message, "", "Error message must match");
+  assert_equals(errors[0].contactField, undefined, "Contact field must match");
+  internals.mockPaymentCoordinator.acceptPayment();
+  await retryPromise;
+  await response.complete("success");
+}, "When retrying without errors, the user is shown an `unknown` error.");
+
 </script>

Modified: trunk/Source/WebCore/ChangeLog (237775 => 237776)


--- trunk/Source/WebCore/ChangeLog	2018-11-03 17:57:49 UTC (rev 237775)
+++ trunk/Source/WebCore/ChangeLog	2018-11-03 18:45:47 UTC (rev 237776)
@@ -1,3 +1,17 @@
+2018-11-03  Andy Estes  <[email protected]>
+
+        [Payment Request] PaymentResponse.retry()'s errorFields should be optional
+        https://bugs.webkit.org/show_bug.cgi?id=191212
+
+        Reviewed by Youenn Fablet.
+
+        Per WebIDL, the errorFields argument to PaymentResponse.retry() should be optional. See
+        <https://github.com/w3c/payment-request/issues/804> for details.
+
+        Added test case to http/tests/paymentrequest/payment-response-retry-method.https.html.
+
+        * Modules/paymentrequest/PaymentResponse.idl:
+
 2018-11-02  Zalan Bujtas  <[email protected]>
 
         [LFC][BFC] Resolve percentage height values.

Modified: trunk/Source/WebCore/Modules/paymentrequest/PaymentResponse.idl (237775 => 237776)


--- trunk/Source/WebCore/Modules/paymentrequest/PaymentResponse.idl	2018-11-03 17:57:49 UTC (rev 237775)
+++ trunk/Source/WebCore/Modules/paymentrequest/PaymentResponse.idl	2018-11-03 18:45:47 UTC (rev 237776)
@@ -42,7 +42,7 @@
     readonly attribute DOMString? payerPhone;
 
     [NewObject] Promise<void> complete(optional PaymentComplete result = "unknown");
-    [NewObject] Promise<void> retry(PaymentValidationErrors errorFields);
+    [NewObject] Promise<void> retry(optional PaymentValidationErrors errorFields);
 
     attribute EventHandler onpayerdetailchange;
 };
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to