Commit Graph

68 Commits

Author SHA1 Message Date
William Chen
c349db0a4d Bug 820544 - Prefix WebIDL dictionary native member names to avoid C++ keywords. r=bz 2012-12-17 13:44:04 -08:00
Boris Zbarsky
2ee8d7b8b0 Bug 821438. Allow inheritance from interfaces with Unforgeable attributes. r=peterv 2012-12-14 14:10:50 -05:00
Ed Morley
fea5ff8037 Backout 67d84be0cc83 (bug 820544) for bustage 2012-12-14 16:58:51 +00:00
William Chen
98dfaef8d1 Bug 820544 - Prefix webidl dictionary native members names to avoid C++ keywords. r=bz 2012-12-11 16:05:46 -08:00
Boris Zbarsky
64890dd7af Bug 815502. Implement support for variadic arguments in WebIDL. r=peterv 2012-12-11 17:50:56 -05:00
Boris Zbarsky
9902632717 Bug 767933 part 2. Implement codegen for 'unrestricted float' and 'unrestricted double', as aliases for float and double for now. r=khuey 2012-11-27 15:32:05 -05:00
Boris Zbarsky
e2971e3210 Bug 812742. Fix sequence codegen to not do AppendElement multiple times by accident. r=peterv 2012-11-27 15:20:40 -05:00
Boris Zbarsky
722d581206 Bug 809260. Example codegen should include ErrorResult.h in the header. r=mccr8 2012-11-09 08:24:32 -08:00
Boris Zbarsky
6d7bbe9aed Bug 779048 part 10. Start using the new callback codegen in argument and return value conversion. r=peterv,smaug 2012-11-09 07:43:58 -08:00
Boris Zbarsky
d745a9276e Bug 779048 part 8. Handling of arguments for callbacks. r=peterv
Note that we're now using the array object as the "obj" when wrapping
sequence members, because we don't have an 'obj' around in our
code... and every single existing sequence-of-interfaces consumer
relied on there being an 'obj' floating about.

Also note that I needed to rearrange the various wrapping helpers so
that we can wrap things that are hanging out in const smartpointers or
in const OwningNonNull or in plain object references.
2012-11-09 07:43:58 -08:00
Boris Zbarsky
7e2dca188e Bug 779048 part 6. Handling of return values for callbacks. r=peterv 2012-11-09 07:43:58 -08:00
Boris Zbarsky
8b9e634fac Bug 804738 part 2. Fix codegen for indexed operations to be consistent about the naming of the index argument. r=peterv 2012-11-06 08:01:49 -08:00
Boris Zbarsky
dd4d31b923 Bug 804738 part 1. Fix codegen for named operations to be consistent about the naming of the string argument. r=peterv 2012-11-06 08:00:57 -08:00
Boris Zbarsky
0b3703ffee Bug 806033. Finish getting rid of stray [Infallible] annotation bits. r=khuey 2012-11-05 14:40:33 -05:00
Boris Zbarsky
bb15ddc515 Bug 804319. Implement parsing of the "stringifier;" shorthand. r=khuey 2012-11-05 14:40:32 -05:00
Boris Zbarsky
3138ceecd8 Bug 803519. Require indexed/named getters if we have creators/deleters/setters. r=peterv 2012-11-05 11:58:03 -05:00
Boris Zbarsky
dbf8898dc9 Bug 788225. Implement WebIDL deleters. r=peterv 2012-11-05 11:58:02 -05:00
Vendelin Ruzicka
a41524cf2a Bug 806184 - Can't use 'delete' method in WebIDL. r=bz 2012-10-31 13:36:20 +01:00
Peter Van der Beken
020e296215 Fix for bug 763643 (Implement static operations and attributes for WebIDL). r=bz.
--HG--
extra : rebase_source : d9dd5450af5d2b1f3e7e3a738ec2efdc7f7053da
2012-10-19 09:34:28 +02:00
Peter Van der Beken
3c03fcb747 Fix for bug 785277 (Implement PutForwards in the new DOM bindings). r=bz.
--HG--
extra : rebase_source : 5153ebab17a9637946d0f0c322997c0c3d118190
2012-08-13 14:20:49 +02:00
Boris Zbarsky
18610055c4 Bug 804725. Use the right type name for interface arguments for binding example codegen. r=jst 2012-10-24 16:10:49 -04:00
Boris Zbarsky
2b5f806cc9 Bug 793267. Add support for [Unforgeable] in WebIDL. r=peterv
Unforgeable attributes are defined directly on the object, not on the
prototype.  So we keep them in a separate spec array and define them
during object creation as needed.

This means that we have to pass that separate spec array to the Xray
helpers, unfortunately, which somewhat complicates those.
2012-10-24 16:10:49 -04:00
Boris Zbarsky
5480ae711c Bug 798187 part 1. Add support for dictionary return values. r=peterv 2012-10-22 13:08:52 -04:00
Boris Zbarsky
46e3240468 Bug 802636. Add a test that makes sure that codegen and example generation agree with each other. r=jst 2012-10-17 21:17:16 -04:00
Boris Zbarsky
4e2b097bf2 Bug 792890. Fix JS-wrapping of callback interfaces to just return the underlying JS object. r=peterv
There are several changes here:

1) When wrapping a callback interface object for JS, just extract the
   underlying JSObject from inside it and hand that object out.

2) Flag callback interface descriptors as "not concrete" (only matters
   for cases when they have constants on the interface object) and not
   wrappercached (will catch bugs if someone tries to treat them as a
   Gecko object).

3) Fix a preexisting bug in sequence wrapping where we'd try to
   JS_DefineElement twice if we were wrapping a null value for a
   sequence of nullable interface objects.
2012-10-10 15:57:57 -04:00
Boris Zbarsky
9dc86ac76f Bug 792137. [TreatNonCallableAsNull] lives on the callback type now. r=peterv 2012-10-10 15:53:02 -04:00
Kyle Huey
f29709dd83 Bug 793025: Convert FileReaderSync to WebIDL bindings. r=bz 2012-09-20 19:47:47 -07:00
Boris Zbarsky
76cb861fd1 Bug 790975. Support sequences as dictionary members in WebIDL. r=peterv 2012-09-18 23:24:27 -04:00
Peter Van der Beken
c707cfbc30 Fix for bug 768684 (Fix sequence<any> return type in WebIDL). r=bz.
--HG--
extra : rebase_source : acbd2ce77f62146e9bd7fc285a8042073ed95722
2012-06-13 17:15:05 +02:00
Boris Zbarsky
7fcdacaf95 Bug 790273. Add support for [LenientThis] in WebIDL. r=peterv 2012-09-12 17:24:58 +01:00
Boris Zbarsky
82186c4dca Bug 742144. Implement support for typedefs in WebIDL. r=khuey 2012-09-06 10:23:51 -04:00
Ms2ger
c84831a407 Bug 763367 - Add support for [EnforceRange] and [Clamp]; r=bz 2012-09-06 09:25:03 +02:00
Boris Zbarsky
2ec1495f64 Bug 778150 part 2. Default methods to infallible. Allow annotation of fallible methods in WebIDL using [Throws]. r=peterv
[Throws] can either take no value, or can take MainThread or Workers if the
throwing behavior is only happening on main thread or in workers.
2012-09-05 09:21:33 -04:00
Boris Zbarsky
f37002f468 Bug 778150 part 1. Remove the vestigial ability to specify infallibility stuff in the conf file. r=peterv 2012-09-05 09:21:33 -04:00
Boris Zbarsky
50289e9c67 Bug 767930. Add support for typed array return values (as just JSObject*) in WebIDL bindings. r=peterv 2012-08-28 13:10:09 -04:00
Peter Van der Beken
854457d901 Fix for bug 768692 (Move DOM list binding generation to the new DOM binding codegen). r=bzbarsky.
--HG--
extra : rebase_source : 651a0fac4c9a87ef1c0a9cd91588c6421fd050c4
2012-05-22 15:46:20 +02:00
William Chen
aab114efc1 Bug 779573 - Fix generated code for empty string as default dictionary member in WebIDL. r=khuey 2012-08-01 14:34:36 -04:00
Boris Zbarsky
43cfe7de05 Bug 771636 part 3. Implement default values for WebIDL strings. r=peterv 2012-07-31 00:22:23 -04:00
Boris Zbarsky
d7233f1cb3 Bug 771636 part 2. Implement default values for WebIDL enums. r=peterv 2012-07-31 00:22:23 -04:00
Boris Zbarsky
32ecc36c05 Bug 771636 part 1. Rearrange default-value handling so we actually set C++ values directly instead of round-tripping through jsval. r=peterv 2012-07-31 00:22:22 -04:00
Boris Zbarsky
343f5559ae Bug 777438. Make sure our C++ declarations are in the right order when a dictionary has a dictionary member. r=khuey 2012-07-27 00:09:10 -04:00
Boris Zbarsky
c2d945d04f Bug 775844. Make sure to examine constructor signatures when looking for union types. r=peterv 2012-07-27 00:09:10 -04:00
Boris Zbarsky
b7908cda19 Bug 764456 part 5. Actually look at hasConcreteDescendant in hasInterfacePrototypeObject() so that we can avoid codegen for [NoInterfaceObject] interfaces hat are only implemented via "implements". r=peterv 2012-07-19 14:48:58 -04:00
Boris Zbarsky
29608f78af Bug 764456 part 4. Make sure consequential interface used as arguments are non-castable. r=peterv 2012-07-19 14:48:58 -04:00
Boris Zbarsky
0cde27d7b6 Bug 764456 part 2. Add some tests for callback interfaces. r=peterv 2012-07-19 14:48:58 -04:00
Boris Zbarsky
bd44efd679 Bug 768537 part 2. Allow dictionaries to be initialized with null or undefined, and treat them as dictionaries in which everything has its default value. r=peterv 2012-07-17 12:18:53 -04:00
Boris Zbarsky
0a1d212672 Bug 768537 part 1. Update parser support for dictionaries to spec changes. r=jlebar
There are several parts here:

1)  Enforce the requirement that dictionary arguments not followed by a required argument are optional.
2)  Make dictionaries no longer be distinguishable from nullable types.
3)  Disallow dictionaries or unions containing dictionaries inside a nullable type.
4)  Force optional dictionaries to have a default value of null so that codegen doesn't have to worry about dealing with
    optional arguments that have no default value in the IDL but need to be treated as if they were null.
2012-07-17 12:18:53 -04:00
Ed Morley
57e533a7ae Backout 9deb8edb5070 (bug 773519), ea5a243a60f1 & 0cad1e553bea (bug 768537) for compilation failures 2012-07-17 17:48:11 +01:00
Boris Zbarsky
b6c4ae2de8 Bug 768537 part 2. Allow dictionaries to be initialized with null or undefined, and treat them as dictionaries in which everything has its default value. r=peterv 2012-07-17 12:18:53 -04:00
Boris Zbarsky
a550b8943d Bug 768537 part 1. Update parser support for dictionaries to spec changes. r=jlebar
There are several parts here:

1)  Enforce the requirement that dictionary arguments not followed by a required argument are optional.
2)  Make dictionaries no longer be distinguishable from nullable types.
3)  Disallow dictionaries or unions containing dictionaries inside a nullable type.
4)  Force optional dictionaries to have a default value of null so that codegen doesn't have to worry about dealing with
    optional arguments that have no default value in the IDL but need to be treated as if they were null.
2012-07-17 12:18:53 -04:00