From cc17c226beb910131ed193916862d7eb21cb09f0 Mon Sep 17 00:00:00 2001
From: Domenic Denicola
@@ -639,7 +638,7 @@
@@ -667,7 +666,7 @@
From ab71e0db35bc4c2bd07d24d3571b71d7dc94c6fb Mon Sep 17 00:00:00 2001
From: Domenic Denicola
The user accepts the
payment request algorithm runs when the user accepts the
- payment request and confirms that they want to pay. It MUST run the
+ payment request and confirms that they want to pay. It MUST queue
+ a task on the user interaction task source to perform the
following steps:
The user aborts the
payment request algorithm runs when the user aborts the payment
- request through the currently interactive user interface. It MUST run
- the following steps:
+ request through the currently interactive user interface. It MUST
+ queue a task on the user interaction task source to
+ perform the following steps:
+ The user agent as a whole has a single payment request is
+ showing boolean, initially false. This is used to prevent
+ multiple PaymentRequests from being shown, via their
+ show() method, at the same time.
+
The shippingAddress, shippingOption, and
shippingType attributes are populated during processing if the
@@ -602,14 +608,23 @@
- The show() method is called when the page wants to begin user
- interaction for the payment request. The show() method returns
- a Promise that will be resolved when the user accepts the
- payment request. Some kind of user interface will be presented to
- the user to facilitate the payment request after the show()
- method returns.
-
+ The show() method is called when the page wants to begin
+ user interaction for the payment request. The show() method
+ returns a Promise that will be resolved when the user
+ accepts the payment request. Some kind of user interface will
+ be presented to the user to facilitate the payment request after
+ the show() method returns.
+
+ It is not possible to show multiple PaymentRequests at the
+ same time within one user agent. Calling show() if
+ another PaymentRequest is already showing, even due to some
+ other site, will return a promise rejected with an
+ "AbortError" DOMException.
+
The show() method MUST act as follows:
@@ -2601,8 +2602,9 @@
From 99d2f7d2ba620ea57e8c4dbe4aa970770516754f Mon Sep 17 00:00:00 2001
From: Domenic Denicola
further action. The user agent user interface should ensure
that this never occurs.
-
+
page to exchange information with the user agent while the user
is providing input before approving or denying a payment request.
show() method
-
then return a promise rejected with an "InvalidStateError"
DOMException.
advantage of this step.
@@ -2589,6 +2612,9 @@