Commit Graph

3426 Commits

Author SHA1 Message Date
Boris Zbarsky
a2a4df452b Bug 1216751 part 5. Remove the now-unnecessary value iterator infrastructure, since it's entirely handled via the %ArrayPrototype% methods now. r=qdot 2016-02-17 22:58:07 -05:00
Boris Zbarsky
40ad677ae7 Bug 1216751 part 4. Implement forEach for iterable interfaces. r=qdot 2016-02-17 22:58:04 -05:00
Boris Zbarsky
75f36aaf95 Bug 1216751 part 3. For pair iterators, @@iterator should be an alias for "entries". Similarly for maplikes and "entries" and setlikes and "values". r=qdot 2016-02-17 22:58:02 -05:00
Boris Zbarsky
352810bf10 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
af429614fe 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
7571ac8483 Bug 1248233. Make js::ReportOutOfMemory respect the autoJSAPIOwnsErrorReporting() flag on the context options. r=luke 2016-02-17 22:56:42 -05:00
Boris Zbarsky
2ad08651e7 Bug 1248719. Fix things so that taking ownership of error reporting on an AutoJSAPI on a worker is OK even if that AutoJSAPI was initialized without an explicit global. r=bholley 2016-02-17 22:56:36 -05:00
Kyle Huey
e971692182 Bug 1247117: De-namespace much of IndexedDB. r=baku 2016-02-16 13:46:08 -08:00
Boris Zbarsky
1b56232225 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
Deepthi Venkitaramanan
7ccb50bbf7 Bug 1244328 - Merge the functionality of DOMSettableTokenList into DOMTokenList and make everything that used to refer to DOMSettableTokenList refer to DOMTokenList instead. r=bzbarsky 2016-02-11 17:50:42 -05:00
Boris Zbarsky
59ce5da6f2 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
b0a5973acc 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
cf3e729423 Bug 1241349 part 3. Add a binding_detail::UnprivilegedJunkScopeOrWorkerGlobal function which returns a global object that can be used for some bindings things. r=bholley 2016-02-10 23:31:33 -05:00
Boris Zbarsky
72baef73e7 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
Tom Schuster
369af34f4a Bug 1246318 - Make the proxy enumerate trap non-standard. r=efaust 2016-02-10 00:12:24 +01:00
Boris Zbarsky
c1c0bcad04 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
3b6a884636 Bug 1243001 part 6. Implement Promise::AppendNativeHandler in the SPIDERMONKEY_PROMISE world. r=peterv
This patch introduces a fake IDL interface just to get the benefits of
cycle collection for the JS-to-C++ link we now need for PromiseNativeHandler
(because the SpiderMonkey Promise somehow needs to point to the
PromiseNativeHandler).  Now in practice a bunch of our PromiseNativeHandlers
are not cycle collected.  That kinda freaks me out, but spot-checking a few
suggests they do not in fact leak (either because they don't form cycles or
because the Promise they're observing always settles and then releases them).
Either way, that's a problem that exists with or without this patch...
2016-02-09 17:40:31 -05:00
Boris Zbarsky
1f9866a3d6 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
a01b829460 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
Myk Melez
42a2e4cb04 Bug 1238576 - disable mozApps API on desktop/Android; r=ehsan,ochameau,bz,mcmanus,jmaher,marco 2016-02-08 11:24:22 -08:00
Kit Cambridge
541c351495 Bug 1243781 - Push methods called from a worker should reject with a DOMException. r=mt 2016-01-28 08:23:29 -08:00
Ben Kelly
1fb29fb6d4 Bug 1244764 P1 Make Cache .add()/.addAll() fail if a Response.ok() is false. r=ehsan 2016-02-04 07:59:52 -08:00
Daniel Holbert
a75610e9fd Bug 1241021 part 2: Make GenerateCSS2PropertiesWebIDL.py produce capitalized as well as uncapitalized WebkitFoo/webkitFoo DOM style accessors. r=bz 2016-02-03 20:17:45 -08:00
Daniel Holbert
5eabd5950f Bug 1241021 part 1: Refactor GenerateCSS2PropertiesWebIDL.py to invoke a helper function for each line. r=bz 2016-02-03 20:17:44 -08:00
Birunthan Mohanathas
fd7e9c0361 Bug 1235261 - Part 3: Switch remaining uses of AutoFallibleTArray to AutoTArray. r=froydnj
This is effectively a no-op because the affected array operations already use
`mozilla::fallible`.
2016-02-02 17:36:30 +02:00
Birunthan Mohanathas
9bed3781f9 Bug 1235261 - Part 1: Rename nsAutoTArray to AutoTArray. r=froydnj 2016-02-02 17:36:30 +02:00
Jeff Walden
dcf86108f1 Bug 1216150 - Split xpc::InitGlobalObject into an options-setting component and a global-object-modifying component, with the options-setting component being called before global object creation in all callers. r=bz 2016-02-01 12:48:03 -08:00
Carsten "Tomcat" Book
b8b5c55d77 Backed out changeset 6d13649d2f01 (bug 1243781) 2016-02-01 12:40:36 +01:00
Kyle Huey
94f653c385 Bug 1241764: Replace nsPIDOMWindow with nsPIDOMWindowInner/Outer. r=mrbkap,smaug 2016-01-30 09:05:36 -08:00
Kit Cambridge
432ef671ba Bug 1243781 - Push methods called from a worker should reject with a DOMException. r=mt 2016-01-28 08:23:29 -08:00
Boris Zbarsky
988a1a8e8b 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
47802285b0 Bug 1242214 - Rename JSPropertyDescriptor JS::PropertyDescriptor everywhere else. r=smaug 2016-01-28 11:28:04 +01:00
Ehsan Akhgari
e3915fb534 Bug 1242211 - Mark MozMapRooter as final; r=baku 2016-01-25 10:15:45 -05:00
Ehsan Akhgari
3052063aac Bug 1242210 - Mark RootedTypedArray as final; r=baku 2016-01-25 10:15:45 -05:00
Boris Zbarsky
6e798db711 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
21c90276e2 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
Chris Peterson
43cda9d089 Bug 1240592 - Remove unnecessary -Wno-uninitialized from dom/bindings. r=khuey 2016-01-15 23:40:24 -08:00
Ehsan Akhgari
b01875643e Bug 1209081 - Part 1: Implement the "navigate" value for RequestMode; r=bkelly 2016-01-19 17:46:10 -05:00
Carsten "Tomcat" Book
e68be94e48 Merge mozilla-central to mozilla-inbound 2016-01-15 11:48:08 +01:00
Carsten "Tomcat" Book
a1d46b7914 merge mozilla-inbound to mozilla-central a=merge 2016-01-15 11:46:47 +01:00
Gregory Szorc
9154f38899 Bug 1239210 - Don't process WebIDL files when not compiling; r=glandium
The output of WebIDL codegen is a bunch of .h and .cpp files. These
aren't relevant when not compiling.

This change appears to shave ~3-4s off the "export" tier time for
--disable-compile-environment builds on my i7-6700K because WebIDL
codegen is currently a long pole in that tier. After this patch,
artifact clobber builds are ~43.5s.
2016-01-14 23:14:58 -08:00
Ehsan Akhgari
086b12d574 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
Olli Pettay
0c6a8913a6 Bug 1157469 - null check wrapper in case WrapNode fails, r=bholley 2016-01-11 20:32:12 +02:00
Lars T Hansen
0af19a0d3c Bug 1231337 - part 2, conditionally enable shared memory for dedicated workers. r=khuey 2016-01-06 16:31:38 +01:00
Terrence Cole
3e69a03339 Bug 1238786 - Part 2: We no longer need to null check before using trace APIs; r=smaug 2016-01-12 13:07:54 -08:00
Terrence Cole
bfbfe75d44 Bug 1235923 - Part 2: Use new Root tracing APIs in Gecko; r=smaug 2015-12-30 11:31:16 -08:00
Morris Tseng
12fc2c6f9d Bug 917505 - Add WEBGL_compressed_texture_es3 support. r=jgilbert r=smaug 2016-01-08 10:12:22 +08:00
Andrea Marchesini
496a5cfe38 Bug 1237674 - Rename nsFormData to mozilla::dom::FormData, r=smaug 2016-01-07 19:30:36 +00:00
Terrence Cole
d6fd4836f7 Backout 7621c3ea95cb11e1c376a9f705accc0f90057c0a (bug 1235923) for build bustage on a CLOSED TREE. 2016-01-06 12:05:06 -08:00
Terrence Cole
5ca9b2494d Bug 1235923 - Part 2: Use new Root tracing APIs in Gecko; r=smaug 2015-12-30 11:31:16 -08:00