Commit Graph

159 Commits

Author SHA1 Message Date
Boris Zbarsky
2166b04394 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
Boris Zbarsky
e698cf1909 Bug 965927. [StoreInSlot] and [Cached] getters should use the reflector as the scope obj when wrapping the return value. r=peterv 2014-02-06 21:08:29 -05:00
Boris Zbarsky
e7b1ebd5b3 Bug 958667 part 5. Hook up AvailableIn for interface members. r=peterv 2014-02-05 13:38:17 -05:00
Boris Zbarsky
d3c7b3b9dd Bug 958667 part 4. Hook up an AvailableIn extended attribute for interfaces. r=peterv 2014-02-05 13:38:17 -05:00
Boris Zbarsky
4d16883304 Bug 963388. Add support for nullable dictionary return values in callbacks and js-implemented bindings. r=peterv 2014-02-05 13:38:16 -05:00
Boris Zbarsky
da001d4b79 Bug 963321 part 2. Add codegen support for [Cached] dictionary attributes. r=khuey 2014-02-05 13:38:16 -05:00
Boris Zbarsky
0daf8f86ed Bug 952073. Fix codegen to actually work correctly for the case of a nullable union dictionary member with no default value. r=dzbarsky
This fix just makes us take the normal Optional codepath for this case, since there is no weirdness here.
2013-12-19 23:30:38 -05:00
Boris Zbarsky
3b13ccd431 Bug 949501. Make nullable unions that are isMember stop claiming to have a holder. r=dzbarsky 2013-12-18 11:20:43 -05:00
Boris Zbarsky
45faf1e000 Bug 949682 part 1. Add a [Frozen] annotation on WebIDL attributes that have sequence types. r=peterv 2013-12-16 13:06:35 -05:00
Boris Zbarsky
9ac1e9476a Bug 947351. [Constant] things don't need a way to clear a cached value, since they're not supposed to change. r=peterv 2013-12-06 13:49:44 -05:00
Boris Zbarsky
f59e02d893 Bug 946909. For a [Cached] or [StoreInSlot] attribute with a setter, clear the cache on set. r=peterv 2013-12-05 16:31:04 -05:00
Boris Zbarsky
dd8cca5c17 Bug 946898. Make sure to not accidentally store COWs in the slot for [Cached] properties. r=peterv 2013-12-05 16:07:33 -05:00
Boris Zbarsky
0397ee7f4f Bug 949271. Fix callback and JS-implemented codegen for sequence-of-union and variadic-union arguments. r=smaug 2013-12-12 16:11:56 -05:00
Boris Zbarsky
b291d17548 Bug 945788. Add support for dictionary return values to example codegen and js-implemented codegen. r=smaug 2013-12-05 11:39:50 -05:00
Boris Zbarsky
bc7799238c Bug 942631 part 5. Add C++ API for clearing the cached value of a [Cached] property or regetting a [StoreInSlot] property. r=peterv 2013-12-04 08:02:18 -05:00
Boris Zbarsky
83ab298b53 Bug 942631 part 4. Allow WebIDL attributes to return a sequence if it's cached. r=peterv 2013-12-04 08:02:18 -05:00
Boris Zbarsky
52853729f6 Bug 942631 part 1. Add support for a [Cached] WebIDL annotation. r=peterv 2013-12-04 08:02:17 -05:00
Boris Zbarsky
4eb56cc9c3 Bug 882541 part 4. Treat undefined as missing for optional WebIDL arguments. r=khuey,ms2ger 2013-10-11 12:28:24 -04:00
Boris Zbarsky
156b3eac57 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
25cf962b2d 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
2eadd266c9 Bug 929512. Fix null default values for non-nullable unions containing a nullable type. r=dzbarsky, r=smaug pending 2013-10-28 00:33:15 -04:00
Peter Van der Beken
b50d1036df Bug 922159 - Rename Creator WebIDL extended attribute to NewObject. r=bz.
--HG--
extra : rebase_source : 80791f28acbf8e2cc21946b0d62bb8555b53fc99
2013-09-30 18:32:22 +02:00
Ed Morley
bf1cce39c0 Backed out changeset 64a19bc0e198 (bug 922159) for compilation failures on a CLOSED TREE 2013-10-23 15:51:48 +01:00
Peter Van der Beken
2833cfc42b Bug 922159 - Rename Creator WebIDL extended attribute to NewObject. r=bz.
--HG--
extra : rebase_source : 2c09c54f42a111d27b0d57346ca7d80f440eca09
2013-09-30 18:32:22 +02:00
Ed Morley
c7cd6440df Backed out changeset d8636e485e85 (bug 882541) 2013-10-14 17:30:49 +01:00
Ed Morley
a2b751decd Backed out changeset 61092280cb2a (bug 882541) 2013-10-14 17:30:46 +01:00
Ed Morley
566ebb2848 Backed out changeset ccf11ae08ba2 (bug 882541) 2013-10-14 17:30:43 +01:00
Boris Zbarsky
cf941f0cb7 Bug 882541 part 4. Treat undefined as missing for optional WebIDL arguments. r=khuey,ms2ger 2013-10-11 12:28:24 -04:00
Boris Zbarsky
52f5e9cc62 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
72d31f23db 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
c159cdefab Bug 918011 part 4. Support dictionaries in unions. r=smaug 2013-09-26 00:05:00 -04:00
Boris Zbarsky
13a0246db7 Bug 918011 part 2. Preprocess some of our test WebIDL files so we can have debug-only tests. r=khuey 2013-09-26 00:05:00 -04:00
Boris Zbarsky
81ea40a161 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
ee67f31014 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
ea5f461f1b Bug 912948 part 1. Add support for [Clamp] and [EnforceRange] on dictionary members. r=khuey 2013-09-09 22:10:44 -04:00
David Zbarsky
495585d260 Bug 767926 - Implement unions as member types of sequences or dictionaries for WebIDL r=bz 2013-09-09 14:39:17 -04:00
David Zbarsky
df9126512e Bug 903277. Support default values other than null for WebIDL unions. r=bzbarsky 2013-08-29 23:29:38 -04:00
Boris Zbarsky
4b85e5c1ce Bug 868799 part 3. Use RootedTypedArray in codegen. r=smaug 2013-08-29 00:30:05 -04:00
Boris Zbarsky
659c773366 Bug 900898 part 4. Support typed arrays inside sequences and variadics. r=smaug 2013-08-05 13:40:02 -04:00
Boris Zbarsky
2145e0bf95 Bug 900898 part 3. Support typed arrays inside dictionaries. r=smaug 2013-08-05 13:40:01 -04:00
Ryan VanderMeulen
1c2e96e8f9 Merge m-c to inbound. 2013-07-30 15:41:57 -04:00
Mina Almasry
a20effda55 Bug 897185 - toJSON only deals with attributes whose types are serializable. r=bz
Now jsonifiers only include serializable attributes in their returned object, as
per spec.
2013-07-30 10:04:04 -04:00
Boris Zbarsky
052e0c5524 Bug 895728 part 4. Fix unions to work with the new boolean/numeric/string setup. r=khuey 2013-07-30 10:39:35 -07:00
Boris Zbarsky
e66bdfb7fb Bug 895728 part 3. Fix overload resolution to work with the new boolean/numeric/string setup. r=khuey 2013-07-30 10:39:34 -07:00
David Zbarsky
7837d54bf0 Bug 865998: Implement WebIDL union return values r=bz 2013-07-26 11:25:54 -07:00
Mina Almasry
d23615e4a1 Bug 760851 - Add jsonifier WebIDL declaration and add toJSON to performance.timing. r=bz
This patch adds a jsonifier declaration to WebIDL's. The declaration adds an autogenerated method toJSON() on the given webidl. This patch also adds jsonifier and toJSON() to PerformanceTiming.webidl, and performance.timing, respectively.
2013-07-26 12:00:49 -04:00
Boris Zbarsky
c3d0e79b5c Bug 895009. Don't pass in NonNull/OwningNonNull arguments to WebIDL binding consumers. r=peterv 2013-07-22 08:15:43 -04:00
Ryan VanderMeulen
cc66360dac Backed out changesets 0a196c0e9f96 (bug 895974) and 0d8aa14f5ed3 (bug 895009) for causing intermittent Linux32 mochitest-1 asserts on a CLOSED TREE. 2013-07-22 18:18:17 -04:00
Boris Zbarsky
12fbb7f6ba Bug 895009. Don't pass in NonNull/OwningNonNull arguments to WebIDL binding consumers. r=peterv 2013-07-22 08:15:43 -04:00
Boris Zbarsky
70279e1221 Bug 884373. Align WebIDL handling of default parameters with ES6. r=khuey 2013-06-26 10:59:46 -04:00