diff --git a/index.html b/index.html index cd956de2..3ba2069b 100644 --- a/index.html +++ b/index.html @@ -1631,8 +1631,12 @@
PaymentRequestUpdateEvent
event's target
+ attribute.
+ PaymentRequest
+ object, then throw a TypeError.
d
to indicate that the payment request is
- valid again.
+ promise d to indicate that the payment request is valid
+ again.
The user agent SHOULD disable any part of the user interface that could cause another update event to be fired. Only one update may be processed at a time.
d
settles.
- d
never settles then the payment request is
- blocked. Users should always be able to cancel a payment
- request. Implementations may choose to implement a timeout for
- pending updates if d
doesn't settle in a
+ + Return from the method and perform the remaining steps in + parallel. +
+
+ The remaining steps are conditional on the promise d
+ settling. If d never settles then the payment
+ request is blocked. Users should always be able to cancel a
+ payment request. Implementations may choose to implement a
+ timeout for pending updates if d doesn't settle in a
reasonable amount of time. If an implementation chooses to
- implement a timeout, d
should be rejected when the
- timeout expires. Such a timeout is a fatal error for the
- payment request.
-
d
is rejected, then:
+ d
is rejected then this is a fatal
+ If the promise d is rejected then this is a fatal
error for the payment request. This would potentially leave the
payment request in an inconsistent state since the web page
hasn't successfully handled the change event. Consequently, if
- d
is rejected then the payment request is aborted.
+ d is rejected then the payment request is aborted.
User agents might show an error message to the user when this occurs.
d
is resolved with details
and
- details
is a PaymentDetails dictionary, then:
+ details
contains a total
value
- and total.amount.value
is a valid decimal
- monetary value and the first character of
- total.amount.value
is NOT U+002D HYPHEN-MINUS,
- then copy total
value to the total
- field of target.[[\details]]
- (total
MUST be a non-negative amount).
+ details
contains a
- displayItems
value and every PaymentItem in
- the displayItems
has an amount.value
- containing a valid decimal monetary value, then copy
- details.displayItems
to the
- displayItems
field of
- target.[[\details]].
- details
contains a modifiers
- value, then:
+ details.modifiers
.
+ total
field is
- supplied and is not a valid decimal monetary value,
- then set modifiers to an empty sequence.
+ additionalDisplayItems
sequence contains any
- PaymentItem objects with an amount
that
- is not a valid decimal monetary value, then set
- modifiers to an empty sequence.
- modifiers
+ details
contains a
- shippingOptions
sequence, then:
+ details.shippingOptions
.
+ id
, then set shippingOptions
- to the empty sequence.
+ amount.value
that is not a valid decimal
- monetary value, then set shippingOptions to
- the empty sequence.
+ shippingOptions
field of
- target.[[\details]].
+ shippingOptions
sequence and if any
- PaymentShippingOption in the sequence has the
- selected
field set to true, then set
- newOption to the id
of the last
- PaymentShippingOption in the sequence with
- selected
set to true.
+ details
contains an error
- value, then the user agent should update the user
- interface to display the error message contained in
- error
.
+ The term extended attribute is defined by [[!WEBIDL-2]].
++ The algorithm for converting an ECMAScript value to a + dictionary is defined by [[!WEBIDL-2]]. +