Boris Zbarsky
dcb6669fbd
Bug 1216751 part 2. For value iterators, "entries", "keys", and "values" must just come from Array.prototype. r=qdot
2016-02-17 22:58:00 -05:00
Boris Zbarsky
a7cbbd23ab
Bug 1216751 part 1. Restrict value iterators to interfaces that have indexed properties and pair iterators to interfaces that do not have indexed properties. r=qdot
2016-02-17 22:57:57 -05:00
Boris Zbarsky
7f1e8d6111
Bug 1247346. Slot indices on IDL interface members that get a slot should be per-interface, not a single per-member number. r=peterv
...
This matters when a [Cached] attribute appears on an interface, call it C,
which is a consequential interface for both A and B. There is no a priori
reason that A and B would have identical numbers of their own [Cached]
attributes, which will come before the members of consequential interfaces in
the member array, so in general the attribute may have different slot indices in A
and B.
The approach taken here is to keep things simple and make the slot index of an
interface member either None or a dict mapping interface name to the slot
index. In the common case of only one interface being involved this is a
little wasteful, but it keeps things simple for consumers, and one extra dict
per [Cached] attribute is not a big deal in the grand scheme of the data
structures the Web IDL parser produces. Another option would be to store None,
a number (if there is only one interface involved), or a dict (if there are
several interfaces involved). If we did that, we'd probably want to add some
method to get the slot index for a given interface, because the logic for doing
that would get a bit more complicated.
2016-02-12 21:29:49 -05:00
Boris Zbarsky
98fb58a90f
Bug 1241349 part 5. Start using binding_detail::UnprivilegedJunkScopeOrWorkerGlobal in dictionary ToJSON conversions. r=bholley
2016-02-10 23:31:33 -05:00
Boris Zbarsky
e25e4580b2
Bug 1241349 part 4. Start using binding_detail::UnprivilegedJunkScopeOrWorkerGlobal in maplike/setlike code. r=bholley
2016-02-10 23:31:33 -05:00
Boris Zbarsky
9f63f6adc2
Bug 1241349 part 2. Restrict generation of ToJSON methods on dictionaries to only dictionaries we can safely stringify with JS::ToJSONMaybeSafely. r=bholley
2016-02-10 23:31:33 -05:00
Boris Zbarsky
24566ec012
Bug 1243001 part 7. Stop wrappercaching dom::Promise when SPIDERMONKEY_PROMISE is defined. r=peterv
...
nsWrapperCache expects the object it stores to have an ObjectMoved op that will
notify the wrapper cache when the object is moved. SpiderMonkey promises don't
have a way to do this.
The XPCConvert changes are needed to allow code that passes around Promise
objects as nsISupports to continue working instead of ending up with
double-wrapped nsISupports (XPCWrappedNative for an nsISupports XPCWrappedJS)
around the SpiderMonkey Promise.
2016-02-09 17:40:31 -05:00
Boris Zbarsky
3366af6c39
Bug 1243001 part 5. Get rid of most of the dom::Promise methods when SPIDERMONKEY_PROMISE is defined, and reimplement the rest in terms of SpiderMonkey Promise. r=peterv
...
This is the bulk of the new dom::Promise implementation. It's using the APIs
that bug 911216 part 1 adds.
2016-02-09 17:40:31 -05:00
Boris Zbarsky
7fd3989391
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
Birunthan Mohanathas
d7371d07d0
Bug 1235261 - Part 1: Rename nsAutoTArray to AutoTArray. r=froydnj
2016-02-02 17:36:30 +02:00
Phil Ringnalda
d381b4bca6
Back out 7 changesets (bug 1235261) for cpptest failures in TestTArray
...
CLOSED TREE
Backed out changeset d66c3f19a210 (bug 1235261)
Backed out changeset 467d945426bb (bug 1235261)
Backed out changeset 32b61df13142 (bug 1235261)
Backed out changeset c50bb8ed4196 (bug 1235261)
Backed out changeset 0ff0fa6fe81f (bug 1235261)
Backed out changeset df70e89669da (bug 1235261)
Backed out changeset 064969357fc9 (bug 1235261)
2016-01-31 10:10:57 -08:00
Birunthan Mohanathas
373593275e
Bug 1235261 - Part 1: Rename nsAutoTArray to AutoTArray. r=froydnj
2016-01-31 17:12:12 +02:00
Boris Zbarsky
c7fe6eed14
Bug 1243438. Don't try to include the filename '<unknown>' when including headers for unions that have a built-in typedef they're referenced by. r=peterv
2016-01-29 16:56:04 -05:00
Tom Schuster
4d6aaf2f25
Bug 1242214 - Rename JSPropertyDescriptor JS::PropertyDescriptor everywhere else. r=smaug
2016-01-28 11:28:04 +01:00
Boris Zbarsky
d4db9bedd0
Bug 1242054. Get rid of AbortablePromise, so we can move Promise into SpiderMonkey more easily. r=khuey
2016-01-23 00:37:44 -05:00
Jakob Stoklund Olesen
da78ae7e9b
Bug 1238679 - Put JSJitInfo::depth in anonymous union. r=nbp
...
Add a JSJitInfo::nativeOp field which will be used to identify SIMD operations.
2016-01-20 12:50:06 -08:00
Ehsan Akhgari
a35b970c9e
Bug 1239788 - Don't include non-main-thread assertions in the constructor enabled check for [Exposed=System] WebIDL interfaces; r=bzbarsky
2016-01-14 16:55:50 -05:00
Terrence Cole
fd0fcea703
Bug 1235923 - Part 2: Use new Root tracing APIs in Gecko; r=smaug
2015-12-30 11:31:16 -08:00
Terrence Cole
97c4c6520f
Backout 7621c3ea95cb11e1c376a9f705accc0f90057c0a (bug 1235923) for build bustage on a CLOSED TREE.
...
--HG--
extra : rebase_source : 6c54aa7e1af75c270ab2b6833b56c780c537e297
2016-01-06 12:05:06 -08:00
Terrence Cole
d38e840e6f
Bug 1235923 - Part 2: Use new Root tracing APIs in Gecko; r=smaug
2015-12-30 11:31:16 -08:00
Tooru Fujisawa
88d3b3ecc6
Bug 1180290 - Part 5: Remove getter/setter variant for ThrowInvalidThis message. r=bz
2016-01-06 17:54:00 +09:00
Olli Pettay
5ca565690e
Bug 1120016 - Allocate short lived JS wrappers in the Nursery, r=mccr8,terrence
2015-12-31 15:21:49 +02:00
Wes Kocher
792ca14825
Backed out changeset 0d55a6e4e98e (bug 1120016) for 980 b2g hazards
...
--HG--
extra : commitid : 27OIHVsa17S
2015-12-30 16:34:18 -08:00
Olli Pettay
2066f6d7b3
Bug 1120016 - Allocate short lived JS wrappers in the Nursery, r=mccr8,terrence
...
--HG--
extra : rebase_source : 3d51b7fc9962a93eb6071328db84b5b327225246
2015-12-30 19:16:13 +02:00
Jan de Mooij
1762bca503
Bug 1225396 part 4 - Remove @@iterator workaround in Codegen.py. r=bz
2015-12-09 22:56:17 -05:00
Boris Zbarsky
affdb545dd
Bug 1230291. Correctly include nsContentUtils when generating a manual hasInstance with nsIDOM* stuff or when we have a JS-implemented interface with clearable cached attrs
2015-12-04 09:51:04 -05:00
Peter Van der Beken
426b1b699a
Bug 1227987: Simplify CGDOMJSClass::define. r=bz.
...
--HG--
extra : rebase_source : aaf309c651b97ec750c56c2fbdf635529718fa14
2015-11-25 16:31:42 +01:00
Boris Zbarsky
09e35c652a
Bug 1048695 part 1. Pass the set of globals where a member should NOT be exposed to MemberCondition. r=peterv
2015-12-01 12:02:33 -05:00
Nathan Froyd
df330eaf5c
Bug 1229176 - make check for ChromeOnly interfaces for header inclusion more complete; r=bz
...
If an interface has a {Chrome,}Constructor(), it doesn't show up as a
normal member. If the interface has a ChromeConstructor, we need to
include nsContentUtils.h in the generated file for a
ThreadsafeIsCallerChrome check. There is an existing check for a
descriptor's ChromeOnly-ness in CGBindingRoot; this check is used to
determine whether nsContentUtils.h is included in the generated file.
But the check in descriptorHasChromeOnly doesn't detect this
(ChromeOnly) constructor, and so nsContentUtils.h won't be included if
there are no other ChromeOnly members, or if the interface itself is not
ChromeOnly.
Therefore, we need to take the constructor of the interface (if any)
into account when checking for ChromeOnly-ness.
2015-11-30 20:57:57 -05:00
Boris Zbarsky
8ed93afa4c
Bug 1229031. Make sure to not init binding pref var caches on worker threads. r=smaug
2015-11-30 22:04:20 -05:00
Boris Zbarsky
73208ce2f3
Bug 1228707. Add a away to call Web IDL callbacks while ignoring any errors from them, and use it in a few places. r=smaug
2015-11-30 22:04:09 -05:00
Boris Zbarsky
4cb14db1a1
Bug 1170760 part 13. Add subclassing support to Promise::Then/Catch. r=baku,efaust
2015-11-25 15:48:10 -05:00
Boris Zbarsky
bc6a0c8f1c
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
0baeed7ed3
Bug 1170760 part 10. Add subclassing support to Promise::Resolve. r=baku,efaust
2015-11-25 15:48:09 -05:00
Boris Zbarsky
c9985b9298
Bug 1170760 part 4. Change Promise::Constructor to run in the Xray compartment when new Promise happens over Xrays. r=peterv
2015-11-25 15:48:08 -05:00
Boris Zbarsky
7229385d25
Bug 1170760 part 3. Add an @@species getter on Promise. r=peterv
2015-11-25 15:48:08 -05:00
Boris Zbarsky
64186b5b76
Bug 1170760 part 2. Pass in the 'this' value to Promise static methods. r=peterv
2015-11-25 15:48:08 -05:00
Phil Ringnalda
53745073f0
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
d71fb767c8
Bug 1170760 part 13. Add subclassing support to Promise::Then/Catch. r=baku,efaust
2015-11-25 15:48:10 -05:00
Boris Zbarsky
f1d0f460ff
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
93faa5b1b0
Bug 1170760 part 10. Add subclassing support to Promise::Resolve. r=baku,efaust
2015-11-25 15:48:09 -05:00
Boris Zbarsky
56a0511eb4
Bug 1170760 part 4. Change Promise::Constructor to run in the Xray compartment when new Promise happens over Xrays. r=peterv
2015-11-25 15:48:08 -05:00
Boris Zbarsky
c1ba24a868
Bug 1170760 part 3. Add an @@species getter on Promise. r=peterv
2015-11-25 15:48:08 -05:00
Boris Zbarsky
b4cbee7794
Bug 1170760 part 2. Pass in the 'this' value to Promise static methods. r=peterv
2015-11-25 15:48:08 -05:00
Sunny Sidhu
268b906ced
Bug 1225782 - Removes GlobalPropertiesAreOwn(). r=bz
2015-11-20 10:00:00 +01:00
Boris Zbarsky
35f1292e72
Bug 1225603. Codegen ToJSValue overloads for Web IDL enums. r=smaug,jib
2015-11-21 12:15:11 -05:00
Boris Zbarsky
72f8befdf5
Bug 979591. Disallow calling WebIDL constructors as functions even for system callers in release builds. r=peterv
2015-11-20 16:29:41 -05:00
Boris Zbarsky
fb747879e0
Bug 1224007 part 3. Push down WouldReportJSException into MaybeSetPendingException, since anyone calling the latter will propagate the JS exception as needed. r=peterv
2015-11-20 16:29:41 -05:00
Boris Zbarsky
c19412a7ac
Bug 1224007 part 1. Rename ThrowMethodFailed to MaybeSetPendingException and make it an ErrorResult instance method. r=peterv
2015-11-20 16:29:40 -05:00
Boris Zbarsky
9533b5464f
Bug 1226448. Fix Optional::Construct to do perfect forwarding, and fix the dictionary assignment operator code for members that can have missing values to not try constructing and already constructed member. r=jib
2015-11-20 13:36:45 -05:00