Commit Graph

13 Commits

Author SHA1 Message Date
Ben Kelly
76130134f0 Bug 1091091: Support ErrorResult in Promise::MaybeReject(). r=bz 2014-10-30 11:12:09 -04:00
Ehsan Akhgari
1d962eb79e Bug 839838 - Implement DOMRequest.then; r=sicking,bzbarsky
This is implemented by creating a Promise object internally and
forwarding the .then() call to it. Any further callbacks passed to
future .then() calls will be added as callbacks on the same internal
promise object. We also take care of resolving or rejecting the promise
if the success/error event of the DOMRequest object has been fired
before .then() is called.
2014-10-11 09:46:01 -04:00
Kyle Huey
e85fc55550 Bug 1031051: Part 13 - Support ToJSValue()ing CallbackObjects and nsTArrays of raw pointers. r=bz
Without special handling CallbackObject subclasses will fall into the "nsISupports but not nsWrapperCache" case which goes through an XPConnect wrapping path that has no idea how to cope with a CallbackObject.  We need both the CallbackObject overload and the EnableIf bit in the template because the template will bind to the subclass and thus be preferred to the CallbackObject overload which requires an implicit conversion to the base class.

Before this patch nsTArray<T*> will eventually try to ToJSValue a T* which will select the boolean overload.  Thanks C++!  The new template overload that takes a T and attempts to dereference it will be preferred because it can bind to the type directly and does not require the implicit (and terrible!) conversion to bool.  This template is written in terms of T and not T* so we can test to see if T is a pointer type (and not merely something that can be coerced to a T*, such as a T[N]).
2014-06-30 16:02:03 -07:00
Olli Pettay
2672babef6 Bug 1023280 - Rename dictionary.ToObject to ToObjectInternal, r=bz 2014-06-11 22:38:55 +03:00
Michael Shuen
2a4c7b090c Bug 972385 - Make JS::AutoValueVector subscript operator return handles. r=jonco, smaug 2014-04-28 16:53:00 +02:00
Boris Zbarsky
04d5a7c98d Bug 996831. Add a ToJSValue overload for nsresult, to allow rejecting promises from C++ more easily. r=bholley 2014-04-16 15:13:41 -04:00
Boris Zbarsky
5893d08906 Bug 996474. Add a ToJSValue overload that takes a Handle<Value>. r=bholley 2014-04-16 15:13:41 -04:00
Ryan VanderMeulen
1829e78b29 Backed out 3 changesets (bug 996474, bug 996831) for B2G bustage on a CLOSED TREE.
Backed out changeset 8f98a4c2257f (bug 996831)
Backed out changeset 7acce569bd84 (bug 996831)
Backed out changeset 1845b09c7578 (bug 996474)
2014-04-16 19:31:41 -04:00
Boris Zbarsky
e152157843 Bug 996831. Add a ToJSValue overload for nsresult, to allow rejecting promises from C++ more easily. r=bholley 2014-04-16 15:13:41 -04:00
Boris Zbarsky
5da84a89ff Bug 996474. Add a ToJSValue overload that takes a Handle<Value>. r=bholley 2014-04-16 15:13:41 -04:00
Boris Zbarsky
6f5113b6dd Bug 994811 part 1. Add a ToJSValue overload for dictionary types. r=bholley 2014-04-11 22:20:52 -04:00
Boris Zbarsky
72845cb9a4 Bug 994793. Make the array bits of ToJSValue nicer. r=bholley 2014-04-10 14:57:42 -04:00
Boris Zbarsky
e862c92db8 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