2013/7/31 Jeremie Patonnier <
jeremie....@gmail.com>
> Hi,
>
> If some other browsers implement such API they move to Promise directly
> which break our content any ways so I'm in favor of a hard break.
> However, as David said, it could be possible to make our implementation of
> Promise exposing non-standard properties that match DOMRequest.
>
Just to clarify, I didn't suggest our Promises to expose non-standard
props. Rather, I suggested that the APIs keep returning DOMRequests, but to
change the definition of DOMRequest. Basically, I'm making DOMRequest a
subtype of promise so that promise methods can be used (as .then would
return an actual Promise instance, not a DOMRequest).
I lied when I said it was a non-breaking change. If people have been doing
[[Prototype]]-related tests on DOMRequest objects (probability: 10^-100) or
tests on which properties are available in ways that would break if
inherited from promises ('then' in req) (probability: 10^-10), then their
code could break. But yeah... The likelihood is very small.
> That way, we make the move smoothly and give time to developers to adjust
> their code without that version number things which is pointless in a web
> environment (version number switching is less efficient and reliable than
> feature detection for web developers).
>
Web apps ecosystem are a different beast. Jonas suggested versions in the
manifest. I think that could work, but I'd love if that was avoided.
Actually, for privileged apps, such a break could be handle during the
> review process of the market place. For intallable/web content apps... it
> breaks as soon as the user want to do something cross browsers. So don't
> bother and break.
>
True. That could be a review criteria to enter the Mozilla marketplace.
David