Commit Graph

71 Commits

Author SHA1 Message Date
Ben Kelly
85647df24b Bug 1025973 - Part 2: Do not pass JSContext to static webidl methods in non-worker case. r=bz 2014-06-16 12:52:00 -04:00
Ben Kelly
8bf2933ed2 Bug 1025973 - Part 1: Rename GlobalObject::GetContext() to Context(). r=bz 2014-06-16 14:08:00 -04:00
Nikhil Marathe
ef0746d5f8 Bug 1020226 - Fix unhandled Promise rejection handling in workers. r=khuey
* * *
Bug 1020226 - Test case to crash browser when using Promises on workers. r=khuey
2014-06-05 12:21:56 -07:00
Boris Zbarsky
a0760577c7 Bug 1016560. Remove the footgun of rejecting promises with arbitrary objects. r=khuey 2014-06-03 11:38:38 -04:00
Nikhil Marathe
b1296fcdbf Bug 1008467 - Callbacks to then() resolve Promise asynchronously. r=bz 2014-05-20 14:55:36 -07:00
Nikhil Marathe
9f97d383b6 Bug 1009569 - Promise then() must be called on a clean stack. r=bz 2014-05-20 14:21:13 -07:00
Nick Lebedev
c49e263d0f Bug 998002 - Rename nsContentUtils::Get{Subject,Object}Principal to nsContentUtils::{Subject,Object}Principal. r=bholley 2014-05-13 11:58:00 +02:00
Gene Lian
da0155c439 Bug 949325 - C++ wrapper to support DataStore API on the worker (part 2-1, provide a proxy to resolve/reject Promise on workers). r=baku,nsm,khuey 2014-02-24 21:56:54 +08:00
Jon Coppeard
1216544376 Bug 959787 - Handlify remaining JS APIs r=terrence r=bz r=bholley 2014-04-30 10:10:33 +01:00
Andrea Marchesini
fc5fc8f292 Bug 995163 - wrap the Promise value in NativePromiseCallback, r=bz 2014-04-29 22:12:14 +01:00
Birunthan Mohanathas
7ac92ae5ea Bug 900903 - Part 2: Change uses of numbered macros in nsCycleCollectionParticipant.h to the variadic variants. r=smaug 2014-04-25 12:49:00 -04:00
Jon Coppeard
173bd25321 Bug 993413 - Remove use of JS_Add/Remove*Root in favour of JS::PersistentRooted where possible r=terrence r=bz r=bholley 2014-04-16 09:47:53 +01:00
Boris Zbarsky
4ad64a690c Bug 994453 part 1. Factor out the to-JS conversions from Promise.h into mozilla::dom::ToJSValue methods. r=bholley
Apart from moving the methods, I made the following changes:

1)  Renamed them to ToJSValue.
2)  Inlined the boolean overload.
3)  Added overloads that take integer types.
4)  Changed the order of the aCx and aArgument arguments so aCx comes first.
5)  Renamed "abv" to "obj" in the typed array overload.
2014-04-10 14:57:07 -04:00
Andrea Marchesini
2029b0f60f Bug 974893 - Remove EnterCompartment and keep the global with the value in Promise, r=bz 2014-04-09 09:30:24 +01:00
Ed Morley
937b351273 Backed out changeset 7fa9564a2486 (bug 974893) for build failures 2014-04-09 09:08:39 +01:00
Andrea Marchesini
726b941dd1 Bug 974893 - Remove EnterCompartment and keep the global with the value in Promise, r=bz 2014-04-09 08:32:46 +01:00
Boris Zbarsky
33e4783558 Bug 991742 part 10. Remove the "aScope" argument from the Promise ArgumentToJSValue() methods. r=bholley 2014-04-08 18:27:19 -04:00
Boris Zbarsky
feebd363fb Bug 991742 part 9. Remove the "scope" argument of WrapNewBindingObject. r=bholley 2014-04-08 18:27:19 -04:00
Boris Zbarsky
79dab91ff6 Bug 991742 part 8. Remove the "aScope" argument of WebIDL/nsWrapperCache WrapObject() methods. r=bholley
This patch was mostly generated with the following command:

find . -name "*.h" -o -name "*.cpp" | xargs sed -e '/WrapObject(JSContext/ {; N; s/\(WrapObject(JSContext *\* *a\{0,1\}[Cc]x\),\n\{0,1\} *JS::Handle<JSObject\*> a\{0,1\}[sS]cope/\1/ ; }' -i ""

and then reverting the changes that made to
dom/bindings/BindingUtils.h, since those WrapObject methods are not
the ones we're trying to change here, plus a bunch of manual fixups
for cases that this command did not catch (including all the callsites
of WrapObject()).
2014-04-08 18:27:18 -04:00
Boris Zbarsky
d4bd64ee2c Bug 991742 part 6. Remove the "aScope" argument of binding Wrap() methods. r=bholley
This patch was mostly generated with this command:

find . -name "*.h" -o -name "*.cpp" | xargs sed -e 's/Binding::Wrap(aCx, aScope, this/Binding::Wrap(aCx, this/' -e 's/Binding_workers::Wrap(aCx, aScope, this/Binding_workers::Wrap(aCx, this/' -e 's/Binding::Wrap(cx, scope, this/Binding::Wrap(cx, this/' -i ""

plus a few manual fixes to dom/bindings/Codegen.py, js/xpconnect/src/event_impl_gen.py, and a few C++ files that were not caught in the search-and-replace above.
2014-04-08 18:27:17 -04:00
Boris Zbarsky
0dc016d79f Bug 991753. Make sure we're in the right compartment before we try wrapping our Promise in Promise::GetOrCreateWrapper. r=bholley 2014-04-03 23:32:11 -04:00
Yuan Xulei
d9264c3059 Bug 934368 - Extend Promise#MaybeResolve to receive boolean value. r=smaug 2014-02-26 16:18:34 +08:00
Nikhil Marathe
1b94bf3a95 Bug 967005 - Report rejected promises when worker stops running. r=bent
--HG--
extra : rebase_source : 3f569387061151b1afb5f09a8d1ca04e85e376e1
2014-03-12 07:31:03 -07:00
Wes Kocher
7bce447ef8 Backed out changeset 716ba77a9d0a (bug 967005) for ASAN m-4 failures 2014-03-11 17:23:35 -07:00
Nikhil Marathe
d2b78e0431 Bug 967005 - Report rejected promises when worker stops running. r=bent 2014-03-11 16:10:41 -07:00
Bobby Holley
d67119e27c Bug 977340 - Clean up cx usage in Promises. r=bz
None of these are hazards, because we already make sure to push the JSContext
in the cases where we do anything meaningful in JSAPI. But the current setup
trips the new assertions, and is ugly to boot. Let's fix it.
2014-03-04 10:05:08 -08:00
Kyle Huey
006d532a8a Bug 974120: Add helpers for using Promse::MaybeResolve/MaybeReject from C++. r=bz
Using JSAPI is tedious and error-prone.  It's much better to handle that once in the Promise code and allow callers to pass C++ objects.
2014-02-25 13:34:55 -08:00
William Chen
6062bcb8be Bug 973988 - DOM Promise constructor should call the executor with "undefined" as thisArg. r=bz 2014-02-19 10:59:23 -08:00
Boris Zbarsky
7ee245a69d 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
7d5050a3db Bug 966384 - Promises on workers use correct busy count. r=khuey 2014-02-17 12:24:36 +05:30
Nikhil Marathe
6f465934ec Backout 3011b2b7f82f (bug 966384) for unused variable failures. r=backout
CLOSED TREE

--HG--
extra : amend_source : dfb81e133bca73ba3c5ad959593c5d3d444f8506
2014-02-17 11:06:03 +05:30
Nikhil Marathe
1998801252 Bug 966384 - Promises on workers use correct busy count. r=khuey
--HG--
extra : rebase_source : 23ad7b8682a8ed6d0062dd9234ee28a18a92a54b
2014-02-17 10:19:15 +05:30
Jon Coppeard
d0e56d0b88 Bug 969812 - Convert JS_NewArrayObject to use HandleValueArray r=terrence r=bz 2014-02-12 10:50:46 +00:00
Nikhil Marathe
a1c134c1cb Bug 966348 - Rename Promise.cast to Promise.resolve. r=bz 2014-02-10 09:27:02 -08:00
Nikhil Marathe
16a3c5ed8b Bug 918806 - Enable DOM Promises. sr=bz
--HG--
extra : rebase_source : dbc7ef836fe7c2a71f38fedda004d7f988361a85
2014-01-30 13:14:00 -08:00
Ryan VanderMeulen
aa8ede1cff Backed out changesets 6db8b08a3aea and 1d7c2025bb56 (bug 918806) for B2G mochitest failures. 2014-01-30 14:46:36 -05:00
Nikhil Marathe
bbd4ae9d07 Bug 918806 - Enable DOM Promises. sr=bz 2014-01-30 09:41:43 -08:00
Bobby Holley
7166faea0a Bug 872273 - Remove non-cx variant of ErrorFromException, and make it take a HandleObject. r=Waldo
We're going to need to start doing more work in js_ErrorFromException, which
will require a |cx| and may GC.
2014-01-30 09:30:29 -08:00
Nikhil Marathe
2c39f323ee Bug 945766 - DOM Promise should pass Promise/A+ tests. r=bz
--HG--
extra : rebase_source : efd56968e490fcde3ede6535002864104511a1d1
2014-01-28 10:14:57 -08:00
Nikhil Marathe
d5f6f72d7b Bug 939332 - Implement Promise.all, Promise.cast, Promise.race. r=bz
--HG--
extra : rebase_source : 72c1a87a6352005765442ea8903cfa16da8608fd
extra : amend_source : 71b6af7c8446cd501bc337d50a345f24814f20db
2013-11-19 13:53:00 -08:00
Nikhil Marathe
af8e8bebc9 Bug 879245 - Implement thenables for Promises. r=bz
--HG--
extra : rebase_source : cde27792ae58b13c88367df7a99fc8981097eedd
2014-01-23 10:47:29 -08:00
Nikhil Marathe
e345f14d73 Bug 959375 - Add Promise Resolve/Reject overloads accepting a window. r=baku 2014-01-13 14:36:03 -08:00
Nikhil Marathe
97292b87fc Bug 958684 - Fix AsyncErrorReporter leak in Promises. r=mccr8 2014-01-10 14:07:46 -08:00
Ben Turner
357b12898a Bug 914762 - Switch Workers to use a normal nsThread event loop, r=mrbkap.
--HG--
extra : transplant_source : /%93%60%CC%3A%16%B16%A1%5Bmx%9F%FA%7B%10JD%F0%E7
2013-10-23 06:16:49 -07:00
Nikhil Marathe
e8f2e2d695 Bug 936700 - Worker Preferences cache. r=bent 2013-11-24 11:27:15 -08:00
Nikhil Marathe
c78157de46 Bug 915233 - DOM Promises on Workers. r=baku,bent,smaug,bz sr=sicking 2013-11-24 11:26:07 -08:00
Nikhil Marathe
cf0247434a Bug 942255 - UsesSystemPrincipal() in Promise::EnabledForScope() on Workers. r=bz
--HG--
extra : rebase_source : 3a1351a488ed2f90c6e998cf396639d0bb0d267c
2013-11-22 14:13:26 -08:00
Boris Zbarsky
299e9bc2b3 Bug 941437 part 2. Remove the unused cx argument from UNWRAP_OBJECT and UNWRAP_WORKER_OBJECT. r=smaug 2013-11-21 07:51:16 -05:00
Nikhil Marathe
8213b73fa7 Bug 939906 - Make Promise.resolve(), Promise.reject(), Promise.prototype.then() and Promise.prototype.catch() spec compliant. r=baku
--HG--
extra : rebase_source : 7f32dd1222e4ab04f3f0cb4f450b734a4014c805
2013-11-19 13:29:47 -08:00
Nikhil Marathe
7bb87239ad Bug 882076 - C++ callbacks to DOM Promises. r=baku,mccr8 2013-11-19 10:43:51 -08:00