Commit Graph

783 Commits

Author SHA1 Message Date
Boris Zbarsky
d99a522f20 Bug 882541 part 3. Rework the overload resolution algorithm to WebIDL spec changes in handling of optional arguments. r=khuey
The major changes are as follows:

1) The new algorithm no longer adjusts "argcount" based on the
   interaction of trailing undefined and [TreatUndefinedAs=Missing]
   arguments.  We never implemented this; just asserted that we didn't
   have to deal with this situation.

2) If the distinguishing argument is undefined and there is an
   overload that has an optional argument at the distinguishing
   argument index, that overload is selected.
2013-10-11 12:28:24 -04:00
Boris Zbarsky
c11c5f6208 Bug 882541 part 2. Fix a bug that crept in with overloading a string and a nullable number and then passing in null, due to the number conversion being conditional on the input type in that case. r=khuey
Also removes a footgun conversion operator on Nullable that was causing it to silently convert to int32_t.
2013-10-11 12:28:23 -04:00
Boris Zbarsky
f131a1f46a Bug 817194 followup to work around emergent namespace+template MSVC bugginess: it was seeing mozilla::dom::detail in TypeTraits.h because it looks at namespaces at template _instantiation_, not declaration. Or something. Leading, of course, to a CLOSED TREE. 2013-10-09 14:12:17 -04:00
Boris Zbarsky
e113ac4720 Bug 817194. Make WebIDL dictionary types sanely initialized by default; add a new Fast subclass to handle cases when we can skip the initialization safely. r=khuey 2013-10-09 12:05:22 -04:00
Ed Morley
3e04bbab8b Backed out changeset 8fa0cbe4a54d (bug 817194) for build failures 2013-10-09 17:48:13 +01:00
Boris Zbarsky
82fdcbb785 Bug 817194. Make WebIDL dictionary types sanely initialized by default; add a new Fast subclass to handle cases when we can skip the initialization safely. r=khuey 2013-10-09 12:05:22 -04:00
Andy Wingo
4d26dec179 Bug 907077: Change for-of to conform to latest ES6 specification. r=jwalden 2013-10-03 13:37:57 +01:00
Boris Zbarsky
1066568a03 Bug 921553. Fix some binding rooting hazards that have popped up. r=peterv 2013-09-30 10:29:10 -04:00
Kyle Huey
6f58e13efe Bug 919457: Allow bindings specific to workers without the old-style worker ownership model. r=bz 2013-09-30 12:15:37 +08:00
Kyle Huey
29d1ee5c1d Back out bug 919457 for build bustage. r=me 2013-09-30 10:41:23 +08:00
Kyle Huey
f594e35044 Bug 919457: Allow bindings specific to workers without the old-style worker ownership model. r=bz 2013-09-30 09:37:26 +08:00
Olli Pettay
fe72068dc2 Bug 637248, Make Event.isTrusted Unforgeable, r=bz 2013-09-28 13:27:29 +03:00
Andy Wingo
f6755e1108 Bug 920433 - Improve API support for self-hosted functions. r=till, r=bz 2013-09-26 10:11:38 -04:00
Boris Zbarsky
7bf9ea08d2 Bug 918011 part 4. Support dictionaries in unions. r=smaug 2013-09-26 00:05:00 -04:00
Boris Zbarsky
4042154796 Bug 918011 part 3. Get rid of isInOwningUnion: it's equivalent to another isMember value. r=smaug 2013-09-26 00:05:00 -04:00
Boris Zbarsky
860a092c36 Bug 919603 part 2. Change this-handling in codegen to only do the special global object stuff on interfaces where it might matter. r=peterv 2013-09-25 14:38:30 -04:00
Boris Zbarsky
4de195b0f0 Bug 905493. Fix setting document.location via an Xray to not enter the content compartment. r=peterv 2013-09-25 14:38:29 -04:00
Ryan VanderMeulen
deedeaeacc Backed out 5 changesets (bug 905493, bug 920125, bug 919603) for mochitest orange on a CLOSED TREE.
Backed out changeset ccef656b2973 (bug 919603)
Backed out changeset 4b29ce0b2fff (bug 919603)
Backed out changeset b0a051ec55b7 (bug 919603)
Backed out changeset baa9a774aad1 (bug 920125)
Backed out changeset e03276bf4eaa (bug 905493)
2013-09-25 18:22:33 -04:00
Boris Zbarsky
212fccfebc Bug 919603 part 2. Change this-handling in codegen to only do the special global object stuff on interfaces where it might matter. r=peterv 2013-09-25 14:38:30 -04:00
Boris Zbarsky
2ad3869d56 Bug 905493. Fix setting document.location via an Xray to not enter the content compartment. r=peterv 2013-09-25 14:38:29 -04:00
Peter Van der Beken
6259e797a4 Bug 920196 - Make QueryInterface opt-in for WebIDL interfaces. r=bz. 2013-09-24 21:37:53 +02:00
Jan Varga
a33ea73835 Bug 919268 - Add codegen for worker-only WebIDL callbacks. r=bz 2013-09-24 21:32:01 +02:00
Boris Zbarsky
04de7be31b Bug 862627 part 2. Rip out some now-dead codegen code. r=smaug 2013-09-23 20:25:17 -04:00
Boris Zbarsky
6ab0de6946 Bug 862627 part 1. Switch EventListener to WebIDL codegen. r=smaug 2013-09-23 20:25:17 -04:00
Boris Zbarsky
b7894a7654 Bug 918450. Back out the fix for bug 911333, since trace hooks are in fact used in workers. r=khuey 2013-09-20 11:15:39 -04:00
Boris Zbarsky
de08b571d6 Bug 917958 part 2. Simplify our various typeNeedsCx stuff, now that it's the same on workers and mainthread. r=smaug 2013-09-20 01:07:10 -04:00
Boris Zbarsky
b9dd434dd6 Bug 917958 part 1. Stop using JSObject* to represent WebIDL callback functions in workers. r=smaug 2013-09-20 01:07:03 -04:00
Boris Zbarsky
f5e690a0d5 Bug 917539. Move the JSCompartment argument to the end of the list for JS-implemented WebIDL, so C++ callers can call into it sanely too. r=peterv 2013-09-20 01:07:03 -04:00
Jon Coppeard
1d126a079a Bug 917295 - GC: Handlify public date APIs r=terrence r=bz 2013-09-19 08:54:01 +01:00
Vendelin Ruzicka
87f29eed37 Bug 917410: Add specializations of Optional for 'any' and 'object' types for callbacks in workers to bindings code. r=bz 2013-09-18 06:47:08 +02:00
Boris Zbarsky
7113aaeec6 Bug 915971. Rename FooReturnValue unions to OwningFoo, because we use them for more than just return values. r=dzbarsky 2013-09-17 11:16:02 -04:00
Randell Jesup
7ca83ce649 Bug 882145: reland changesets bc4ee7cbd7bd and cf373e408a6b r=bz 2013-09-16 02:34:57 -04:00
Ryan VanderMeulen
b7b02c5df1 Backed out changesets bc4ee7cbd7bd and cf373e408a6b (bug 882145) for causing bug 916609. r=jsmith 2013-09-15 18:19:42 -04:00
Jan-Ivar Bruaroey
9d73fee859 Bug 882145: gUM constraints converted to webidl + gUMDevices() takes constraints. r=bz r=jesup 2013-09-14 00:48:39 -04:00
Boris Zbarsky
b9856ff043 Bug 915368. Give dictionaries copy constructors and assignment operators when it's safe. r=khuey 2013-09-13 13:21:59 -04:00
Boris Zbarsky
f8e0fbd4e5 Bug 915419. Add support for "object" types in owning unions (so union return values and unions in dictionaries and sequences. r=dzbarsky, smaug
Adds RootedUnion and NullableRootedUnion structs that are used on the
stack for union return values when the union needs rooting.  It also
adds a TraceUnion method on union return values, which is called by
(Nullable)RootedUnion or by dictionary tracing.  TraceUnion traces
typed array and object members of unions (the only things unions can
contain so far that might need tracing).  Union return values are
changed to store raw JSObject* or typed array structs instead of
Rooted versions of both; the tracing is now handled via TraceUnion.

The wrapping code for dictionary arguments to constructors is fixed to
actually work.  This required adding GetAs* methods to union return
values that return references to the internal data.

The SetToObject method is adjusted to actually work for union return
value structs and not assume it's being generated for a
union-conversion struct, and we now generate SetToObject methods as
needed for union return values.
2013-09-12 22:34:16 -04:00
Boris Zbarsky
09c18e1f44 Bug 915100. Make sure to actually include the headers we need in UnionTypes.h. r=khuey 2013-09-11 23:19:07 -04:00
David Zbarsky
76bef13c16 Bug 856373 - WebIDL-ify Gamepad events r=smaug 2013-09-11 18:35:51 -04:00
Dan Gohman
94cd9b8531 Bug 910823 - Constify static js::Class/JSClass instances. r=waldo 2013-09-11 05:49:05 -07:00
Olli Pettay
3bfb72e331 Bug 900904 - Support webidl-only generated events, r=khuey,gps 2013-09-10 21:27:39 +03:00
Andrew McCreight
19999134d8 Bug 911333 - Remove customTrace from bindings codegen. r=bz 2013-09-10 08:29:44 -07:00
Ms2ger
544510e93b Merge last PGO-green inbound changeset to m-c. 2013-09-10 10:13:12 +02:00
Ms2ger
16b2a22edb Bug 913923 - Part c: Stop including BindingUtils.h in UnionTypes.h; r=dzbarsky 2013-09-10 09:03:38 +02:00
Ms2ger
869341c41c Bug 913923 - Part b: Move OwningNonNull into its own header; r=dzbarsky 2013-09-10 09:03:37 +02:00
Ms2ger
590fb58625 Bug 913923 - Part a: Move UnionMember into its own header; r=dzbarsky 2013-09-10 09:03:37 +02:00
Boris Zbarsky
d4b46684c9 Bug 914334. Change codegen to reflect EventListener as a WebIDL callback on workers. r=khuey 2013-09-09 22:10:45 -04:00
Boris Zbarsky
0d69c103b0 Bug 912948 part 2. Add support for [Clamp] and [EnforceRange] on writable attributes. r=khuey 2013-09-09 22:10:45 -04:00
Boris Zbarsky
ffe92d0827 Bug 912948 part 1. Add support for [Clamp] and [EnforceRange] on dictionary members. r=khuey 2013-09-09 22:10:44 -04:00
Kyle Huey
10d56b428a Bug 911258: Part 5 - Use the unified exception handling mechanism on workers. r=bz 2013-09-08 20:29:21 -07:00
David Zbarsky
5a890e9254 Bug 767926 - Implement unions as member types of sequences or dictionaries for WebIDL r=bz 2013-09-09 14:39:17 -04:00