Commit Graph

55 Commits

Author SHA1 Message Date
Boris Zbarsky
533b41d94d Bug 1323721 part 12. Create a separate IDLPromiseType; stop treating Promise as an interface altogether. r=qdot 2016-12-19 15:38:44 -08:00
Boris Zbarsky
6731d045b9 Bug 1323721 part 2. Remove the no longer used PromiseInit callback type. r=till 2016-12-19 15:38:42 -08:00
Till Schneidereit
cf48c96ede Bug 1322920 - Remove DOM Promise implementation. r=bz
MozReview-Commit-ID: 1zzd0x2LNNb
2016-12-14 17:11:48 +01:00
Eddy Bruel
903afe78b0 Bug 1229769 - Expose Promise interface to WorkerDebugger #ifdef SPIDERMONKEY_PROMISE;r=bz 2016-03-30 14:11:07 +02:00
Eddy Bruel
e5db48a881 Bug 1229769 - We should be able to use DOM promises in the worker debugger;r=khuey 2016-03-24 16:12:00 +01:00
Boris Zbarsky
f71108b9e6 Bug 1243001 part 8. Tell SpiderMonkey to put its promise jobs into the CycleCollectedJSRuntime job queue. r=peterv
This will run the SpiderMonkey promise jobs more or less the same way that we
run Promise jobs right now, including using a Web IDL callback for the actual
invocation.
2016-02-09 17:40:31 -05:00
Boris Zbarsky
4284de96aa Bug 1243001 part 6. Implement Promise::AppendNativeHandler in the SPIDERMONKEY_PROMISE world. r=peterv
This patch introduces a fake IDL interface just to get the benefits of
cycle collection for the JS-to-C++ link we now need for PromiseNativeHandler
(because the SpiderMonkey Promise somehow needs to point to the
PromiseNativeHandler).  Now in practice a bunch of our PromiseNativeHandlers
are not cycle collected.  That kinda freaks me out, but spot-checking a few
suggests they do not in fact leak (either because they don't form cycles or
because the Promise they're observing always settles and then releases them).
Either way, that's a problem that exists with or without this patch...
2016-02-09 17:40:31 -05:00
Boris Zbarsky
6cffe8ef58 Bug 1243001 part 2. Make Promise an empty [NoInterfaceObject] interface when SPIDERMONKEY_PROMISE is defined. r=peterv
The idea is to not define a "Promise" property on the global and not generate
any of the methods, since SpiderMonkey will implement all of those, but to keep
some of the conversion to/from JS logic and the IDL parser validation bits that
we have right now.  Once we can assume SPIDERMONKEY_PROMISE we can probably
change how the "Promise" identifier is handled by the IDL parser and how the
resulting type is handled by codegen, but for now we're aiming for minimal
changes.
2016-02-09 17:40:30 -05:00
Boris Zbarsky
11d511c281 Bug 1170760 part 13. Add subclassing support to Promise::Then/Catch. r=baku,efaust 2015-11-25 15:48:10 -05:00
Boris Zbarsky
c665232718 Bug 1170760 part 12. Rip out the promise-resolved-with-promise fast path. r=baku 2015-11-25 15:48:09 -05:00
Boris Zbarsky
f934fdaecd Bug 1170760 part 11. Add subclassing support to Promise::Reject. r=baku,efaust 2015-11-25 15:48:09 -05:00
Boris Zbarsky
1892742f92 Bug 1170760 part 10. Add subclassing support to Promise::Resolve. r=baku,efaust 2015-11-25 15:48:09 -05:00
Boris Zbarsky
3ef179d066 Bug 1170760 part 8. Add subclassing support to Promise::All. r=baku,efaust 2015-11-25 15:48:09 -05:00
Boris Zbarsky
a449dc40c8 Bug 1170760 part 7. Add subclassing support to Promise::Race. r=baku,efaust
Note that the web platform tests don't actually have quite the behavior they're
expected to per the spec yet.  They will get adjusted later on as we add
subclassing support to Promise.resolve and Promise.prototype.then.
2015-11-25 15:48:09 -05:00
Phil Ringnalda
b118ae5885 Back out 13 changesets (bug 1170760) for Gu bustage in homescreen/test/unit/apps_test.js
CLOSED TREE

Backed out changeset 5d84599a8846 (bug 1170760)
Backed out changeset 6104fe33d5f5 (bug 1170760)
Backed out changeset 1dfb229da01d (bug 1170760)
Backed out changeset f380faddfdd8 (bug 1170760)
Backed out changeset 541831dc6b57 (bug 1170760)
Backed out changeset 6a5b7dfab882 (bug 1170760)
Backed out changeset ee514a256922 (bug 1170760)
Backed out changeset 3c2c1acc34ee (bug 1170760)
Backed out changeset dc2a7f5dc5d6 (bug 1170760)
Backed out changeset b312a08fbab5 (bug 1170760)
Backed out changeset cb6aba9b8497 (bug 1170760)
Backed out changeset 39e4f5b1ba40 (bug 1170760)
Backed out changeset 7d79cce3630a (bug 1170760)
2015-11-25 21:02:55 -08:00
Boris Zbarsky
fe3478879a Bug 1170760 part 13. Add subclassing support to Promise::Then/Catch. r=baku,efaust 2015-11-25 15:48:10 -05:00
Boris Zbarsky
04ca7d0f9d Bug 1170760 part 12. Rip out the promise-resolved-with-promise fast path. r=baku 2015-11-25 15:48:09 -05:00
Boris Zbarsky
5686ea73b1 Bug 1170760 part 11. Add subclassing support to Promise::Reject. r=baku,efaust 2015-11-25 15:48:09 -05:00
Boris Zbarsky
ca22a3dc8b Bug 1170760 part 10. Add subclassing support to Promise::Resolve. r=baku,efaust 2015-11-25 15:48:09 -05:00
Boris Zbarsky
10f77c8085 Bug 1170760 part 8. Add subclassing support to Promise::All. r=baku,efaust 2015-11-25 15:48:09 -05:00
Boris Zbarsky
6a14e38fa5 Bug 1170760 part 7. Add subclassing support to Promise::Race. r=baku,efaust
Note that the web platform tests don't actually have quite the behavior they're
expected to per the spec yet.  They will get adjusted later on as we add
subclassing support to Promise.resolve and Promise.prototype.then.
2015-11-25 15:48:09 -05:00
Alpha A.
ec4fe11890 Bug 1086627 - Rename Promise constructs to more closely match the specification. r=nsm,jst 2015-08-06 17:18:30 +02:00
Boris Zbarsky
1496ac2389 Bug 1152902 part 2. Add a fast path for the case when a Promise is resolved with another Promise. r=nsm 2015-04-17 22:01:02 -04:00
Phil Ringnalda
dd5a08b2e0 Back out 2 changesets (bug 1152902) for Gu bustage
CLOSED TREE

Backed out changeset 462f2f668259 (bug 1152902)
Backed out changeset 1c5ed66652c3 (bug 1152902)
2015-04-18 15:30:17 -07:00
Boris Zbarsky
2fa11a4cb4 Bug 1152902 part 2. Add a fast path for the case when a Promise is resolved with another Promise. r=nsm 2015-04-17 22:01:02 -04:00
Boris Zbarsky
fd0ea0a838 Bug 1113827 part 2. Remove some now-unnecessary [Throws] annotations in our IDL. r=peterv 2015-01-12 11:52:25 -05:00
Boris Zbarsky
563506eda1 Bug 1083950. Add a way to get the promises that depend on a given promise via PromiseDebugging. r=nsm 2014-10-19 22:27:36 -04:00
Boris Zbarsky
b0a271cb1b Bug 1017988 part 8. Add [Exposed] extended attributes as needed. r=khuey 2014-08-04 22:20:34 -04:00
Boris Zbarsky
117ebe6a51 Bug 1045743. Add support for the Promise<type> syntax to Web IDL bindings. r=khuey 2014-07-31 23:50:30 -04:00
Boris Zbarsky
a14ed73f88 Bug 1040263. Eagerly create and preserve Promise reflectors so we always have them available during unlink. r=nsm,bholley. 2014-07-18 21:31:11 -04:00
Boris Zbarsky
0f3c8a4868 Bug 985536. Go back to allowing optional any with no default value in WebIDL, but treat it as having a default value of undefined. r=khuey 2014-04-03 23:32:11 -04:00
Boris Zbarsky
cffedad1d1 Bug 970764. Remove support for non-optional "any" arguments values, since "any" needs to be able to include undefined anyway. Have "any" arguments and dictionary entries default to undefined unless the IDL explicitly says "= null". r=khuey 2014-02-19 10:13:38 -05:00
Nikhil Marathe
784c3ec66d Bug 966348 - Rename Promise.cast to Promise.resolve. r=bz 2014-02-10 09:27:02 -08:00
Nikhil Marathe
0674220255 Bug 918806 - Add Promise to test_interfaces.html on all builds. r=bz 2014-01-30 13:14:07 -08:00
Nikhil Marathe
fe6cd7fc28 Bug 918806 - Enable DOM Promises. sr=bz 2014-01-30 13:14:00 -08:00
Ryan VanderMeulen
4ffd4d58ec Backed out changesets 6db8b08a3aea and 1d7c2025bb56 (bug 918806) for B2G mochitest failures. 2014-01-30 14:46:36 -05:00
Nikhil Marathe
61dbd07aa3 Bug 918806 - Enable DOM Promises. sr=bz 2014-01-30 09:41:43 -08:00
Nikhil Marathe
9c3cfd1a18 Bug 945766 - DOM Promise should pass Promise/A+ tests. r=bz 2014-01-28 10:14:57 -08:00
Nikhil Marathe
46fc87707d Bug 939332 - Implement Promise.all, Promise.cast, Promise.race. r=bz 2013-11-19 13:53:00 -08:00
Nikhil Marathe
7ed16b392a Bug 939906 - Make Promise.resolve(), Promise.reject(), Promise.prototype.then() and Promise.prototype.catch() spec compliant. r=baku 2013-11-19 13:29:47 -08:00
Nikhil Marathe
d0639e1f14 Bug 939909 - Get rid of Optional<> from internal Promise functions. r=bz 2013-11-19 10:39:51 -08:00
Boris Zbarsky
45b3df4eb0 Bug 882541 part 4. Treat undefined as missing for optional WebIDL arguments. r=khuey,ms2ger 2013-10-11 12:28:24 -04:00
Peter Van der Beken
47437910ca Bug 922159 - Rename Creator WebIDL extended attribute to NewObject. r=bz. 2013-09-30 18:32:22 +02:00
Ed Morley
ce29633280 Backed out changeset 64a19bc0e198 (bug 922159) for compilation failures on a CLOSED TREE 2013-10-23 15:51:48 +01:00
Peter Van der Beken
1e3061c17d Bug 922159 - Rename Creator WebIDL extended attribute to NewObject. r=bz. 2013-09-30 18:32:22 +02:00
Ed Morley
428c6583be Backed out changeset ccf11ae08ba2 (bug 882541) 2013-10-14 17:30:43 +01:00
Boris Zbarsky
f30d83dfb4 Bug 882541 part 4. Treat undefined as missing for optional WebIDL arguments. r=khuey,ms2ger 2013-10-11 12:28:24 -04:00
Andrea Marchesini
a03d55dffb Bug 911213 - Implement new promise constructor, r=bz 2013-09-11 18:03:04 +02:00
Boris Zbarsky
0d9dbfadfe Bug 897913 part 3. Enable Promise in chrome and certified apps, even when preffed off. r=bholley, pending review from baku 2013-08-07 17:40:20 -04:00
Andrea Marchesini
65aba6540c Bug 875289 - Remove .done() and allow undefined to be passed to .then() and .catch(), r=mounir, sr=bz 2013-07-16 15:56:24 +02:00