diff options
author | wolfbeast <mcwerewolf@wolfbeast.com> | 2019-12-19 01:35:24 +0100 |
---|---|---|
committer | wolfbeast <mcwerewolf@wolfbeast.com> | 2019-12-19 01:35:24 +0100 |
commit | fb96b43b5f6188233710c5f8c9c9e46baa9cb369 (patch) | |
tree | 54124a46275f833ecd9f6e63246e092a93843fb0 /dom/webidl/Promise.webidl | |
parent | 8220776c9b2e8291f0414f98ac20fbda30e00d2e (diff) | |
download | UXP-fb96b43b5f6188233710c5f8c9c9e46baa9cb369.tar UXP-fb96b43b5f6188233710c5f8c9c9e46baa9cb369.tar.gz UXP-fb96b43b5f6188233710c5f8c9c9e46baa9cb369.tar.lz UXP-fb96b43b5f6188233710c5f8c9c9e46baa9cb369.tar.xz UXP-fb96b43b5f6188233710c5f8c9c9e46baa9cb369.zip |
Issue #1322 - Part 1: Remove the DOM Promise guts.
This removes all the parts guarded by SPIDERMONKEY_PROMISE
Diffstat (limited to 'dom/webidl/Promise.webidl')
-rw-r--r-- | dom/webidl/Promise.webidl | 48 |
1 files changed, 2 insertions, 46 deletions
diff --git a/dom/webidl/Promise.webidl b/dom/webidl/Promise.webidl index 4dcb7d43e..65b406b6f 100644 --- a/dom/webidl/Promise.webidl +++ b/dom/webidl/Promise.webidl @@ -17,51 +17,8 @@ callback PromiseJobCallback = void(); [TreatNonCallableAsNull] callback AnyCallback = any (any value); -// When using SpiderMonkey promises, we don't want to define all this stuff; -// just define a tiny interface to make codegen of Promise arguments and return -// values work. -#ifndef SPIDERMONKEY_PROMISE -[Constructor(PromiseInit init), - Exposed=(Window,Worker,WorkerDebugger,System)] -// Need to escape "Promise" so it's treated as an identifier. -interface _Promise { - // Have to use "any" (or "object", but "any" is simpler) as the type to - // support the subclassing behavior, since nothing actually requires the - // return value of PromiseSubclass.resolve/reject to be a Promise object. - [NewObject, Throws] - static any resolve(optional any value); - [NewObject, Throws] - static any reject(optional any value); - - // The [TreatNonCallableAsNull] annotation is required since then() should do - // nothing instead of throwing errors when non-callable arguments are passed. - // Have to use "any" (or "object", but "any" is simpler) as the type to - // support the subclassing behavior, since nothing actually requires the - // return value of PromiseSubclass.then/catch to be a Promise object. - [NewObject, Throws] - any then([TreatNonCallableAsNull] optional AnyCallback? fulfillCallback = null, - [TreatNonCallableAsNull] optional AnyCallback? rejectCallback = null); - - [NewObject, Throws] - any catch([TreatNonCallableAsNull] optional AnyCallback? rejectCallback = null); - - // Have to use "any" (or "object", but "any" is simpler) as the type to - // support the subclassing behavior, since nothing actually requires the - // return value of PromiseSubclass.all to be a Promise object. As a result, - // we also have to do our argument conversion manually, because we want to - // convert its exceptions into rejections. - [NewObject, Throws] - static any all(optional any iterable); - - // Have to use "any" (or "object", but "any" is simpler) as the type to - // support the subclassing behavior, since nothing actually requires the - // return value of PromiseSubclass.race to be a Promise object. As a result, - // we also have to do our argument conversion manually, because we want to - // convert its exceptions into rejections. - [NewObject, Throws] - static any race(optional any iterable); -}; -#else // SPIDERMONKEY_PROMISE +// Promises are implemented in SpiderMonkey; just define a tiny interface to make +// codegen of Promise arguments and return values work. [NoInterfaceObject, Exposed=(Window,Worker,WorkerDebugger,System)] // Need to escape "Promise" so it's treated as an identifier. @@ -74,4 +31,3 @@ interface _Promise { Exposed=(Window,Worker,System)] interface PromiseNativeHandler { }; -#endif // SPIDERMONKEY_PROMISE |