Skip to content

Commit b417638

Browse files
retry() interacting with abort the update (#723)
1 parent f15ef69 commit b417638

File tree

1 file changed

+43
-14
lines changed

1 file changed

+43
-14
lines changed

index.html

Lines changed: 43 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -3239,10 +3239,10 @@ <h2>
32393239
</li>
32403240
<li>Return <var>retryPromise</var>.
32413241
<p class="note">
3242-
The <var>retryPromise</var> will later be resolved or rejected by
3243-
either the <a>user accepts the payment request algorithm</a> or
3244-
the <a>user aborts the payment request algorithm</a>, which are
3245-
triggered through interaction with the user interface.
3242+
The <var>retryPromise</var> will later be resolved by the <a>user
3243+
accepts the payment request algorithm</a>, or rejected by either
3244+
the <a>user aborts the payment request algorithm</a> or <a>abort
3245+
the update</a>.
32463246
</p>
32473247
</li>
32483248
</ol>
@@ -3546,7 +3546,8 @@ <h2>
35463546
</td>
35473547
<td data-link-for="PaymentResponse">
35483548
Is true if the request for payment has completed (i.e.,
3549-
<a>complete()</a> was called), or false otherwise.
3549+
<a>complete()</a> was called, or there was a fatal error that
3550+
made the response not longer usable), or false otherwise.
35503551
</td>
35513552
</tr>
35523553
<tr>
@@ -4218,10 +4219,15 @@ <h2>
42184219
<li>Let <var>response</var> be
42194220
<var>request</var>.<a>[[\response]]</a>.
42204221
</li>
4221-
<li>If <var>response</var> not null:
4222+
<li>If <var>response</var> is not null:
42224223
<ol>
4224+
<li>Set <var>response</var>.<a>[[\complete]]</a> to true.
4225+
</li>
4226+
<li>Assert: <var>response</var>.<a>[[\retryPromise]]</a> is not
4227+
null.
4228+
</li>
42234229
<li>Reject <var>response</var>.<a>[[\retryPromise]]</a> with
4224-
<var>error</var>
4230+
<var>error</var>.
42254231
</li>
42264232
</ol>
42274233
</li>
@@ -4546,7 +4552,22 @@ <h2>
45464552
<li>Set <var>request</var>.<a>[[\state]]</a> to
45474553
"<a>closed</a>".
45484554
</li>
4549-
<li>Reject the promise
4555+
<li>Let <var>response</var> be
4556+
<var>request</var>.<a>[[\response]]</a>.
4557+
</li>
4558+
<li>If <var>response</var> is not null, then:
4559+
<ol>
4560+
<li>Set <var>response</var>.<a>[[\complete]]</a> to true.
4561+
</li>
4562+
<li>Assert: <var>response</var>.<a>[[\retryPromise]]</a> is
4563+
not null.
4564+
</li>
4565+
<li>Reject <var>response</var>.<a>[[\retryPromise]]</a>
4566+
with <var>exception</var>.
4567+
</li>
4568+
</ol>
4569+
</li>
4570+
<li>Otherwise, reject
45504571
<var>request</var>.<a>[[\acceptPromise]]</a> with
45514572
<var>exception</var>.
45524573
</li>
@@ -4560,17 +4581,25 @@ <h2>
45604581
</section>
45614582
<div class="note">
45624583
<p>
4563-
<a data-lt="abort the update">Aborting the update</a> is performed
4564-
when there is a fatal error updating the payment request, such as
4565-
the supplied <var>detailsPromise</var> rejecting, or its
4566-
fulfillment value containing invalid data. This would potentially
4567-
leave the payment request in an inconsistent state since the
4568-
developer hasn't successfully handled the change event.
4584+
<a>Abort the update</a> runs when there is a fatal error updating
4585+
the payment request, such as the supplied <var>detailsPromise</var>
4586+
rejecting, or its fulfillment value containing invalid data. This
4587+
would potentially leave the payment request in an inconsistent
4588+
state since the developer hasn't successfully handled the change
4589+
event.
4590+
</p>
4591+
<p>
45694592
Consequently, the <a>PaymentRequest</a> moves to a "<a>closed</a>"
45704593
state. The error is signaled to the developer through the rejection
45714594
of the <a>[[\acceptPromise]]</a>, i.e., the promise returned by
45724595
<a data-lt="PaymentRequest.show">show()</a>.
45734596
</p>
4597+
<p data-link-for="PaymentResponse">
4598+
Similarly, <a>abort the update</a> occurring during <a>retry()</a>
4599+
causes the <a>[[\retryPromise]]</a> to reject, and the
4600+
corresponding <a>PaymentRequest</a>'s <a>[[\complete]]</a> internal
4601+
slot will be set to true (i.e., it can no longer be used).
4602+
</p>
45744603
</div>
45754604
</section>
45764605
</section>

0 commit comments

Comments
 (0)