Commit Graph

141 Commits

Author SHA1 Message Date
Boris Zbarsky
6e918dfbe1 Bug 1084030. Store the promise creation and settlement timestamps and expose that information via PromiseDebugging. r=nsm 2014-10-20 13:02:21 -04: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
cd5a80d49f Bug 1083851 part 3. Capture stacks at promise fulfillment time. r=nsm 2014-10-19 22:27:12 -04:00
Boris Zbarsky
c6cbe02cc9 Bug 1083851 part 2. Capture stacks at promise rejection time. r=nsm 2014-10-19 22:27:12 -04:00
Boris Zbarsky
c130b68647 Bug 1083851 part 1. Capture allocation stacks at promise creation time. r=nsm 2014-10-19 22:27:12 -04:00
Peter Van der Beken
3467274091 Bug 1078744 - Replace SetIsDOMBinding with SetIsNonDOMBinding, remove nsWrapperCache::SetIsDOMBinding. r=bz. 2014-10-07 11:44:49 +02:00
Bobby Holley
3c8538a288 Bug 1070842 - Remove ambiguous globals from xpc::ErrorReporter and make meanings explicit. r=bz 2014-09-29 15:34:20 +02:00
Bobby Holley
f204dd3faa Bug 1065811 - Expose isCallable()/isConstructor() in JS_PUBLIC_API. r=billm 2014-09-25 13:13:28 +02:00
Bobby Holley
8ff0a8449b Bug 1070696 - Rename xpc::GetNativeForGlobal to xpc::NativeGlobal and make it accept non-global JSObjects. r=smaug
The method is infallible, and making the callers invoke
js::GetGlobalForObjectCrossCompartment manually is dumb.
2014-09-21 21:31:53 +02:00
Yuan Xulei
ffc1d71e89 Bug 1035060 - Implement AbortablePromise. r=bz 2014-09-12 10:18:49 +08:00
Bobby Holley
860f513268 Bug 1062077 - Introduce xpc::ErrorReport. r=bz
I've got it! Let's just wrap the JS thing in an XPCOM thing that duplicates
its fields with a different ownership model! We totally need another one of
those, right? And we could even stick it in XPConnect! </sarcasm>

In seriousness - the code to own, format, and display error reports is
currently spread between the JS engine, JSErrorReporters, an async Runnable
abstraction, and elsewhere. We need to condense it somewhere to start chipping
away at this mess.
2014-09-08 16:30:10 -07:00
Ehsan Akhgari
99fed18e00 Bug 1061023 - Fix more bad implicit constructors in DOM; r=baku 2014-09-01 18:26:43 -04:00
Yuan Xulei
942e94e668 Bug 1055925 - Refactor promise to merge main thread and worker thread tasks into a single task. r=nsm 2014-08-19 18:39:56 +08:00
Ehsan Akhgari
6084be21ce Bug 1045436 - Fix more bad implicit constructors in XPCOM; r=froydnj 2014-07-29 20:43:56 -04:00
Boris Zbarsky
04d9e5b654 Bug 966452 part 2. Report all unhandled Promise rejections. r=nsm,bholley 2014-07-04 01:24:59 -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
Benoit Girard
28eb7316ee Bug 1037691 - Fix instances where refcounted classes expose a public destructor. r=ehsan,bent,mayhemer,jrmuizel 2014-07-15 11:37:45 -04:00
Carsten "Tomcat" Book
1e72337cf2 Backed out changeset 42f348168125 (bug 966452) 2014-07-04 08:23:38 +02:00
Boris Zbarsky
51783561b5 Bug 966452 part 2. Report all unhandled Promise rejections. r=nsm 2014-07-04 01:24:59 -04:00
Benoit Jacob
7bbd89e2ca Bug 1028588 - Fix dangerous public destructors in the rest of dom/ - r=ehsan 2014-06-23 15:56:07 -04:00
Ben Kelly
98bdfecd04 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
7e115f0b95 Bug 1025973 - Part 1: Rename GlobalObject::GetContext() to Context(). r=bz 2014-06-16 14:08:00 -04:00
Nikhil Marathe
b26f2346ec 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
b58b6f641e Bug 1016560. Remove the footgun of rejecting promises with arbitrary objects. r=khuey 2014-06-03 11:38:38 -04:00
Nikhil Marathe
c803150b0e Bug 1008467 - Callbacks to then() resolve Promise asynchronously. r=bz 2014-05-20 14:55:36 -07:00
Nikhil Marathe
37d2606802 Bug 1009569 - Promise then() must be called on a clean stack. r=bz 2014-05-20 14:21:13 -07:00
Nick Lebedev
73bcee2ac4 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
7986055502 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
d67f0ed243 Bug 959787 - Handlify remaining JS APIs r=terrence r=bz r=bholley 2014-04-30 10:10:33 +01:00
Andrea Marchesini
f87cd8dd11 Bug 995163 - wrap the Promise value in NativePromiseCallback, r=bz 2014-04-29 22:12:14 +01:00
Birunthan Mohanathas
e2b133b310 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
3af10bff29 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
0ca109ca20 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
b89f8fc1bb 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
7162b65fa4 Backed out changeset 7fa9564a2486 (bug 974893) for build failures 2014-04-09 09:08:39 +01:00
Andrea Marchesini
b27a1641cd 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
3891aa3158 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
9462dfc340 Bug 991742 part 9. Remove the "scope" argument of WrapNewBindingObject. r=bholley 2014-04-08 18:27:19 -04:00
Boris Zbarsky
b95c359828 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
ae0180ee85 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
aaca6e7051 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
97594abedb Bug 934368 - Extend Promise#MaybeResolve to receive boolean value. r=smaug 2014-02-26 16:18:34 +08:00
Nikhil Marathe
fe7ec2e2ac Bug 967005 - Report rejected promises when worker stops running. r=bent 2014-03-12 07:31:03 -07:00
Wes Kocher
b1a06e7bcb Backed out changeset 716ba77a9d0a (bug 967005) for ASAN m-4 failures 2014-03-11 17:23:35 -07:00
Nikhil Marathe
84637aeb6e Bug 967005 - Report rejected promises when worker stops running. r=bent 2014-03-11 16:10:41 -07:00
Bobby Holley
e0f74f6583 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
9c46ca15f6 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
048e228e69 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
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
e95bca13ec Bug 966384 - Promises on workers use correct busy count. r=khuey 2014-02-17 12:24:36 +05:30