[w3c/browser-payment-api] Remove delegated state and make abort() return a promise (#190)

The current spec defines a `delegated` state but there is no way to observe a transition into this state. The state concept is used to help describe algorithms in the spec in a succinct way and isn't exposed to web pages.

This change removes the `delegated` state from the spec. Previously the only impact of delegated was to prevent `abort()` from being called. Determining whether abort is possible might require asynchronous processing. For example, some implementations may support abort even if they have delegated to a payment app but may not be able to tell synchronously if this is possible.

With this change, the `abort()` method attempts to abort the request and returns a promise while it tries. If it is not possible to abort then the promise is rejected (instead of throwing). If abort completes successfully then the promise is resolved.

Fixes #7.

You can read this change in place [here](https://rawgit.com/adrianba/browser-payment-api/2fb350922d10a7bf46ea0b1695c38e61ee71d97d/specs/paymentrequest.html#abort).

You can view, comment on, or merge this pull request online at:

  https://github.com/w3c/browser-payment-api/pull/190

-- Commit Summary --

  * Remove delegated state and make abort() return a promise

-- File Changes --

    M specs/paymentrequest.html (114)
    M specs/state-transitions.svg (77)

-- Patch Links --

https://github.com/w3c/browser-payment-api/pull/190.patch
https://github.com/w3c/browser-payment-api/pull/190.diff

---
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/w3c/browser-payment-api/pull/190

Received on Wednesday, 11 May 2016 18:19:27 UTC