Commit 12451de2 authored by Jinho Bang's avatar Jinho Bang Committed by Commit Bot

PaymentRequest: retry()'s errorFields should be optional per WebIDL

Related spec change:
  https://github.com/w3c/payment-request/pull/805

Bug: 861704
Change-Id: Ic15a8cd0b66c52277abecbd6b976c5e4af2f9022
Reviewed-on: https://chromium-review.googlesource.com/c/1312144
Commit-Queue: Jinho Bang <jinho.bang@samsung.com>
Reviewed-by: default avatarRouslan Solomakhin <rouslan@chromium.org>
Cr-Commit-Position: refs/heads/master@{#605173}
parent b31a306d
......@@ -153,7 +153,7 @@ interface PaymentResponse : EventTarget {
[NewObject]
Promise<void> complete(optional PaymentComplete result = "unknown");
[NewObject]
Promise<void> retry(PaymentValidationErrors errorFields);
Promise<void> retry(optional PaymentValidationErrors errorFields);
attribute EventHandler onpayerdetailchange;
};
......
......@@ -28,7 +28,7 @@ function checkCompletedCantRetry(button) {
return promise_rejects(
t,
"InvalidStateError",
response.retry({}),
response.retry(),
"response.[[complete]] is true, so rejects with InvalidStateError."
);
}, button.textContent.trim());
......@@ -38,11 +38,11 @@ function repeatedCallsToRetry(button) {
button.disabled = true;
promise_test(async t => {
const { response } = await getPaymentRequestResponse();
const retryPromise = response.retry({});
const retryPromise = response.retry();
await promise_rejects(
t,
"InvalidStateError",
response.retry({}),
response.retry(),
"Calling retry() again rejects with an InvalidStateError"
);
await retryPromise;
......@@ -54,7 +54,7 @@ function callCompleteWhileRetrying(button) {
button.disabled = true;
promise_test(async t => {
const { response } = await getPaymentRequestResponse();
const retryPromise = response.retry({});
const retryPromise = response.retry();
await promise_rejects(
t,
"InvalidStateError",
......@@ -70,7 +70,7 @@ function callingRequestAbortMustNotAbort(button) {
button.disabled = true;
promise_test(async t => {
const { response, request } = await getPaymentRequestResponse();
const retryPromise = response.retry({});
const retryPromise = response.retry();
await promise_rejects(
t,
"InvalidStateError",
......@@ -87,12 +87,12 @@ function canRetryMultipleTimes(button) {
promise_test(async t => {
const { response } = await getPaymentRequestResponse();
assert_equals(
await response.retry({}),
await response.retry(),
undefined,
"Expected undefined as the resolve value"
);
assert_equals(
await response.retry({}),
await response.retry(),
undefined,
"Expected undefined as the resolve value"
);
......@@ -100,7 +100,7 @@ function canRetryMultipleTimes(button) {
await promise_rejects(
t,
"InvalidStateError",
response.retry({}),
response.retry(),
"Calling retry() after complete() rejects with a InvalidStateError"
);
}, button.textContent.trim());
......@@ -113,13 +113,13 @@ function userCanAbortARetry(button) {
await promise_rejects(
t,
"AbortError",
response.retry({}),
response.retry(),
"The user aborting a retry rejects with a AbortError"
);
await promise_rejects(
t,
"InvalidStateError",
response.retry({}),
response.retry(),
"After the user aborts, response [[complete]] is true so retry() must reject with InvalidStateError"
);
await promise_rejects(
......@@ -154,7 +154,7 @@ function abortTheUpdate(button) {
resolve();
};
});
const retryPromise = response.retry({});
const retryPromise = response.retry();
await shippingChangedPromise;
await promise_rejects(
t,
......@@ -175,11 +175,11 @@ function callingRetryReturnsUniquePromise(button){
button.disabled = true;
promise_test(async t => {
const { response } = await getPaymentRequestResponse();
const retryPromise = response.retry({});
const retryPromise = response.retry();
const promises = new Set([
retryPromise,
response.retry({}),
response.retry({}),
response.retry(),
response.retry(),
]);
assert_equals(promises.size, 3, "Must have three unique objects");
await retryPromise;
......
......@@ -30,7 +30,7 @@ enum PaymentComplete {
readonly attribute DOMString? payerPhone;
[CallWith=ScriptState, NewObject] Promise<void> complete(optional PaymentComplete paymentResult = "unknown");
[CallWith=ScriptState, NewObject, RuntimeEnabled=PaymentRetry] Promise<void> retry(PaymentValidationErrors errorFields);
[CallWith=ScriptState, NewObject, RuntimeEnabled=PaymentRetry] Promise<void> retry(optional PaymentValidationErrors errorFields);
[RuntimeEnabled=PaymentRetry] attribute EventHandler onpayerdetailchange;
};
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment