Commit Graph

888 Commits

Author SHA1 Message Date
Boris Zbarsky
62a41b889d Bug 860841. Hook up the proto chain of a WebIDL interface object to the interface object of its nearest ancestor interface that has one, as if these were ES6 classes. r=peterv 2013-05-02 14:38:19 -04:00
Aryeh Gregor
d9a5bc156c Bug 866059 - Don't implicitly convert to already_AddRefed in Codegen.py; r=bz 2013-04-22 14:21:23 +03:00
Ed Morley
a6c109b8f9 Backed out changeset a1e877fa8d67 (bug 866450) 2013-05-02 11:57:07 +01:00
David Zbarsky
dea4b988b4 Bug 866450 Part 4: Fix rooting hazards under content/ and dom/ r=bz 2013-05-02 05:12:46 -04:00
Boris Zbarsky
ada762091c Bug 861022 part 2. Root the global object in WebIDL prototype and interface object setup. r=peterv,terrence 2013-05-01 23:44:12 -04:00
Boris Zbarsky
b6ac7d7a7f Bug 861022 part 1. Root the non-globals in WebIDL prototype and interface object setup. r=peterv,terrence 2013-05-01 23:44:11 -04:00
Kyle Huey
61d19c44a8 Bug 866918: Don't include WorkerPrivate.h in all the binding code. r=bz 2013-05-01 13:24:19 -07:00
Jim Blandy
62fa8b7821 Bug 862531: Replace BaseProxyHandler::obj_toString with className. r=jorendorff 2013-04-30 14:44:50 -07:00
Andrew McCreight
22e84e9e87 Bug 851639 - Allow JS implemented WebIDL to be registered on window.navigator. r=bz 2013-04-30 13:30:25 -07:00
Terrence Cole
9cde48c3ba Bug 860050 - Remove JSMutableHandleObject typedef; r=bz,jonco 2013-04-16 16:20:44 -07:00
Boris Zbarsky
d7adc74c3f Bug 717637. Stop using non-global parent objects for everything that's not an element, since having a mix of parent objects makes us fail shape guards in the JIT. r=peterv 2013-04-29 17:33:41 -04:00
Boris Zbarsky
71da6c6273 Bug 865975. Better rooting for the 'this', 'callable', and 'rval' values in WebIDL callbacks. r=bholley 2013-04-26 13:41:21 -04:00
Boris Zbarsky
eb3504f0a4 Bug 865964. Remove dead WrapCallbackInterface code. r=smaug 2013-04-26 13:41:21 -04:00
Boris Zbarsky
3d83f16a0f Bug 865940. Remove AsMutable now that our binding stack variables aren't const. r=bholley 2013-04-25 22:46:18 -04:00
Boris Zbarsky
cd96f3b909 Bug 766583 part 7. Stop declaring variadic arguments as const on the stack in bindings code. r=smaug 2013-04-25 19:03:07 -04:00
Boris Zbarsky
e4da9b0d28 Bug 766583 part 6. Stop declaring unions as const on the stack in bindings code. r=smaug 2013-04-25 19:03:07 -04:00
Boris Zbarsky
22388d7bb0 Bug 766583 part 5. Stop declaring optional arguments as const on the stack in bindings code. r=smaug 2013-04-25 19:03:06 -04:00
Boris Zbarsky
08300818e4 Bug 766583 part 4. Stop declaring strings as const on the stack in bindings code. r=smaug 2013-04-25 19:03:06 -04:00
Boris Zbarsky
1620e7dc9f Bug 766583 part 3. Stop declaring nullable things as const on the stack in bindings code. r=smaug 2013-04-25 19:03:06 -04:00
Boris Zbarsky
ead9038e9a Bug 766583 part 2. Stop declaring sequences as const on the stack in bindings code. r=smaug 2013-04-25 19:03:06 -04:00
Boris Zbarsky
4c5d3ac764 Bug 766583 part 1. Stop declaring dictionaries as const on the stack in bindings code. r=smaug 2013-04-25 19:03:06 -04:00
Boris Zbarsky
df2006c03b Bug 861493. When passing arguments to an Xray for a WebIDL constructor, make sure to do the argument unwrapping before entering the content compartment. r=bholley,waldo
There are several changes here:

1) Adds some MutableThis methods to Optional, Nullable, and dictionaries to
   effectively allow doing a const_cast without knowing the actual type being
   templated over.  I needed this because I do not in fact know that type in
   the relevant code.  I'm open to suggestions for a better name for this
   method.
2) Adds some operator& to RootedJSValue to make it look more like a JS::Value,
   and in particular so I can JS_WrapValue the thing in it.
3) Adds a Slot() method to NonNullLazyRootedObject, just like NonNull has.
4) Adds an operator& to LazyRootedObject to make it look more like JSObject* so
   I can JS_WrapObject the thing in it.
5) Implements the actual rewrapping of the arguments into the content compartment.
6) Fixes a small preexisting bug in which we didn't look at named constructors
   in getTypesFromDescriptor (this was causing my tests to not compile).
7) Changes Xrays to not enter the content compartment when calling a WebIDL
   constructor.
8) Adds some friend API to report things as not being functions.
2013-04-25 19:03:05 -04:00
Andrew McCreight
1273f4cdb6 Bug 865544 - Add support for nsIDOMGlobalPropertyInitializer to JS-implemented WebIDL. r=bz 2013-04-25 14:31:42 -07:00
Boris Zbarsky
f4f8bc3bc1 Bug 863898. Add support for dictionary arguments in JS-implemented WebIDL bindings. r=mccr8 2013-04-25 12:29:55 -04:00
Boris Zbarsky
257ae984ff Bug 864727 part 7. Make the WebIDL binding Wrap methods take a handle for the scope object and use a Rooted for the parent. r=ms2ger 2013-04-25 12:29:55 -04:00
Boris Zbarsky
ebafdd1727 Bug 864727 part 5. Make all the WrapObject methods take a handle for the scope object. r=ms2ger 2013-04-25 12:29:54 -04:00
Boris Zbarsky
d6d6ee4d61 Bug 864727 part 4. Pass a handle for the scope object to all the various Wrap*Object stuff in BindingUtils. r=ms2ger
Note: The JS::Rooted in CGWrapWithCacheMethod is just there until we start passing a handle to Wrap().
2013-04-25 12:29:53 -04:00
Boris Zbarsky
0b018f03cc Bug 864727 part 3. Pass a handle for the parent object to WebIDL dictionary ToObject. r=ms2ger 2013-04-25 12:29:53 -04:00
Boris Zbarsky
19fcc4b17f Bug 864727 part 2. Pass a handle for the scope object to union conversions. r=ms2ger,terrence 2013-04-25 12:29:52 -04:00
Andrew McCreight
948d463a55 Bug 863880 - Take a less ad hoc approach to forward declarations in bindings generation. r=bz 2013-04-25 08:42:43 -07:00
Andrew McCreight
45731deaf2 Bug 863964 - clean up forward class declarations in codegen. r=bz 2013-04-25 08:42:43 -07:00
Boris Zbarsky
01338905b0 Bug 731746 part 4. When wrapping a JS-implemented webidl object, define the new object as a property on the implementing object. r=mccr8 2013-04-24 22:44:28 -04:00
Boris Zbarsky
a4948c6ab5 Bug 731746 part 3. Change JS-implemented webidl codegen to always invoke the parent constructor if there is a parent interface. r=mccr8 2013-04-24 22:44:28 -04:00
Boris Zbarsky
7f48d16af9 Bug 731746 part 2. Change JS-implemented webidl codegen to pass an nsPIDOMWindow, not an nsISupports, to the object constructor. r=mccr8 2013-04-24 22:44:27 -04:00
Boris Zbarsky
947477feb5 Bug 862629 part 2. Remove the now-unused scope object bit in js-to-native conversions. r=peterv 2013-04-24 14:59:15 -04:00
Boris Zbarsky
e3eb6ca241 Bug 862629 part 1. Stop playing compartment games with WebIDL callbacks and just use the given object as-is. r=peterv 2013-04-24 14:59:15 -04:00
Boris Zbarsky
3869846e71 Bug 843264. Allow returning sequences of non-primitive types from callback methods. r=mccr8 2013-04-24 14:59:14 -04:00
Boris Zbarsky
f2e9ead7d3 Bug 864535. Drop some comments from WebIDL proxy [[Delete]] implementations, since the spec has changed. r=waldo 2013-04-24 14:59:14 -04:00
Olli Pettay
b9685be325 Bug 856338 - Using sequence<foo>? as an argument type crashes when passing non-null value, p=Ms2ger+smaug,r=bz 2013-04-23 02:49:49 +03:00
Peter Van der Beken
8c720a7347 Bug 852094 - Support Unforgeable on proxy-based DOM bindings. r=bz. 2012-12-20 10:56:11 +01:00
Boris Zbarsky
acdaeaa737 Bug 863386. Add support for nullable enum arguments and return values. r=mccr8
This incidentally fixes bug 843355
2013-04-19 23:04:19 -04:00
David Zbarsky
71b9cc184c Bug 857439 Part 3: Make sure to delete owned interfaces if wrapping fails r=bz 2013-04-19 04:49:21 -04:00
David Zbarsky
4a8d566e9c Bug 857439 Part 2: Cleanup example codegen a bit r=bz 2013-04-19 04:49:21 -04:00
David Zbarsky
a4da7b5f38 Bug 857439 Part 1: Disallow owned interfaces from having parents or children r=bz 2013-04-19 04:49:21 -04:00
David Zbarsky
d68565cc9e Bug 857439 Part 0: Allow creators to return raw pointers for owned objects r=bz 2013-04-19 04:49:20 -04:00
Olli Pettay
4a7d22c15e Bug 863094 - Infinity/-Infinity/NaN defaults for unrestricted types, r=bz 2013-04-18 19:58:01 +03:00
Boris Zbarsky
9efe18946c Bug 862610. When we have named constructors, make sure we managed to set up an interface object before looking for them. r=peterv 2013-04-18 01:21:46 -04:00
Olli Pettay
52e22905f1 Bug 862991 - If dictionary member needs cx, so should dictionary itself, r=bz 2013-04-17 23:40:54 +03:00
Jeff Walden
356abe8832 Bug 858677 - Fix up code not built by SpiderMonkey to use the newly-changed deletion signatures. r=bholley, r=billm 2013-04-05 21:22:55 -07:00
Boris Zbarsky
0a24cac600 Bug 861064. Root WebIDL dictionary Init. r=smaug,terrence 2013-04-12 23:34:22 -04:00