Nicholas Nethercote
8575db2cf1
Bug 887558 (part 2) - Move various functions into ProxyObject and FunctionProxyObject. r=jorendorff.
...
--HG--
extra : rebase_source : 14402b9ab7eda3389eb1b812ee961e46067b5b1d
2013-06-20 22:39:22 -07:00
Nicholas Nethercote
40833186f3
Bug 887558 (part 1) - Introduce ProxyObject and some sub-classes. r=jorendorff.
...
--HG--
extra : rebase_source : 33ed2aff35acbe4de8891a9fb34c60e7a314d9c8
2013-06-20 21:27:28 -07:00
Boris Zbarsky
f4b3a94323
Bug 891585. Don't JS_WrapValue same-compartment typed array return values in bindings code (e.g. ImageData.data). r=peterv
2013-07-11 11:58:29 -04:00
Kyle Huey
49b422d01c
Bug 885866: Separate deferred finalization from XPConnect so we can use it off the main thread. r=mccr8, peterv, bsmedberg, jorendorff
2013-07-09 07:28:15 -07:00
Ehsan Akhgari
8b46075683
Bug 889016 - Part 1: Add an API to report a not-enough-arguments error in Web IDL bindings; r=bzbarsky
2013-07-04 09:24:49 -04:00
Jon Coppeard
4b40ce1453
Bug 885310 - 1 Rename JSHandleFoo in the browser r=bz
2013-06-21 14:12:46 +01:00
Andrea Marchesini
db524818c8
Bug 841442 - Move HTMLFormElement to WebIDL, r=bz
2013-06-19 10:24:37 -04:00
Jon Coppeard
c56ed4c7b6
Bug 884371 - Remove JSMutableHandleXXX from the browser r=bz
2013-06-19 11:32:27 +01:00
Boris Zbarsky
8a5f1751d4
Bug 883358 part 2. Use the new information in bindings error reporting. r=smaug
2013-06-17 16:31:13 -04:00
Ryan VanderMeulen
abc39cc023
Backed out 3 changesets (bug 883358) for Android mochitest-3 failures on a CLOSED TREE.
...
Backed out changeset 84b35dd1879d (bug 883358)
Backed out changeset b5e6522257cb (bug 883358)
Backed out changeset 757a3f2e5de6 (bug 883358)
2013-06-17 19:51:12 -04:00
Boris Zbarsky
2e6611eca0
Bug 883358 part 2. Use the new information in bindings error reporting. r=smaug
2013-06-17 16:31:13 -04:00
Boris Zbarsky
8c0782e121
Bug 882653 part 4. Improve the WebIDL binding error reporting for the not-sequence, not-callable, not-dictionary, not-date, and invalid-enum-value cases. r=smaug
2013-06-17 13:07:03 -04:00
Boris Zbarsky
c6981c480d
Bug 882653 part 1. Improve error reporting for bogus this objects in WebIDL bindings. r=smaug
2013-06-17 13:07:03 -04:00
Peter Van der Beken
88cdaa8f8b
Bug 851465 - Remove slim wrappers - remove various slim wrapper code and checks. r=bholley.
2013-04-19 21:57:18 +02:00
James Kitchener
411a37e6e9
Bug 796850 - Implement Code Generation for Bytestring in WebIDL bindings r=bz
2013-06-13 01:18:35 -04:00
Boris Zbarsky
6a7b47964f
Bug 877281 part 6. Replace ${jsvalPtr} with a MutableHandle ${jsvalHandle}. r=peterv
...
It's a little unfortunate that we need both ${jsvalHandle} and
${jsvalRef}, but the only other option is to consistently have a
MutableHandle in this code. If the thing we have to work with is a
Rooted, that means doing JS::MutableHandle<JS::Value>(&myRooted) as
the thing to substitute for ${jsvalHandle}. Just using "&myRooted"
doesn't work, because things like "&myRooted.set()" or
"&myRooted.address()" fail, even if parenthesized as
"(&myRooted).set()", because &myRooted is actually a Rooted*, not a
MutableHandle.
We could go the JS::MutableHandle<JS::Value>(&myRooted) route if
desired; it would primarily uglify dictionary and sequence to-js
conversions. With the setup in this patch, ideally it looks pretty
idiomatic except for the use of .set() instead of operator= on Rooted.
2013-06-07 22:45:46 -04:00
Ms2ger
1e339d398b
Bug 876602 - Move JS-implemented webidl construction code into C++; r=bz
2013-06-01 08:56:23 +02:00
Ms2ger
c1c1a92c3b
Bug 876604 - Outparamdel UnwrapDOMObjectToISupports; r=bz
2013-06-01 08:56:02 +02:00
Peter Van der Beken
44c790a6fb
Bug 874321 - Fix setting of expandos on Xrays for DOM bindings with named properties. r=bz.
...
--HG--
extra : rebase_source : 697545417d27696de05c0f22987e4cb187d226cd
2013-05-29 11:38:57 +02:00
Kyle Huey
3cc4ccd2f5
Bug 876555: Avoid including xpcprivate.h in most generated dom binding code. r=bz
2013-05-30 11:15:31 +08:00
Boris Zbarsky
5033ec2b7b
Bug 875622 part 2. Use handles in ConvertJSValueToString. r=smaug
2013-05-24 09:16:00 -04:00
Boris Zbarsky
0307d91885
Bug 865951. If the return value of a JS-implemented method or attribute is a JS-implemented interface and the returned object is not a DOM object, automatically wrap it up in an instance of that interface. r=mccr8
...
This does not invoke __init on the chrome object, since there are no
arguments to do it with anyway. It also doesn't invoke init(), so
don't do this in cases in which the chrome-side object will need to
know its window.
2013-05-20 13:47:08 -04:00
Boris Zbarsky
fd290b314c
Bug 868312 finale: finish rooting dom/ code. r=smaug
2013-05-17 21:48:25 -04:00
Boris Zbarsky
8fc54ee80a
Bug 873337. Change the order of the decl and holder in js-to-native conversions to clean up the code some. Now the holder always comes after the decl. r=smaug
2013-05-17 21:48:25 -04:00
Nathan Froyd
256a7169e6
Bug 873479 - fix BindingUtils.h to compile with GCC 4.4 in non-C++0x mode; r=bz
2013-05-17 10:44:19 -04:00
Boris Zbarsky
71fd53bf82
Bug 868715 part 8. Add tracing to WebIDL sequence return values. r=peterv
2013-05-16 12:36:56 -04:00
Boris Zbarsky
ac41ff38fd
Bug 868715 part 7. Add tracing to dictionaries. r=peterv
2013-05-16 12:36:55 -04:00
Boris Zbarsky
070682bbbc
Bug 868715 part 6. Add the ability to trace sequence arguments. r=peterv
2013-05-16 12:36:55 -04:00
Boris Zbarsky
fa5496e7a4
Bug 868715 part 4. Use on-stack Rooted<JSObject*> for 'object' arguments in WebIDL bindings. r=peterv
2013-05-16 12:36:55 -04:00
Boris Zbarsky
acfc919f60
Bug 871177. Fix rooting hazard in IsNotDateOrRegexp. r=smaug
2013-05-15 21:46:44 -04:00
Terrence Cole
cd1aec056b
Bug 777548 - Make non-cc-participant tracing indirect; r=smaug,billm,jst
2013-03-28 13:37:22 -07:00
Boris Zbarsky
299d72713e
Bug 867863. Be a little more careful in GlobalObject initialization. r=peterv
2013-05-08 15:50:58 -04:00
Boris Zbarsky
4f17ea0254
Bug 869311. More rooting in dom/bindings and content/base. r=smaug
2013-05-07 22:34:56 -04:00
Boris Zbarsky
34bb423d34
Bug 865969 part 9. Remaining miscellaneous rooting fixes in WebIDL bindings. r=ms2ger
2013-05-03 19:29:09 -04:00
Boris Zbarsky
fba1502aa7
Bug 865969 part 6. Fix rooting hazards in BindingUtils.cpp. r=smaug
2013-05-03 19:29:08 -04:00
Boris Zbarsky
4d5cf6450f
Bug 865969 part 1. Better rooting in bindings for 'object' arguments, as well as for worker interface arguments passed as JSObject*. r=smaug
2013-05-03 19:29:07 -04:00
David Zbarsky
33b84ccd33
Bug 866450 Part 1: Fix rooting hazards under content/ and dom/ r=bz
2013-05-02 05:12:45 -04:00
Boris Zbarsky
d0cb8316ab
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
Ed Morley
38f36edd9e
Backed out changeset ad10907da2d4 (bug 866450) for B2G build failures
2013-05-02 11:58:05 +01:00
David Zbarsky
62df33d2a0
Bug 866450 Part 1: Fix rooting hazards under content/ and dom/ r=bz
2013-05-02 05:12:45 -04:00
Boris Zbarsky
583e53379d
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
e418358f16
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
Boris Zbarsky
15316b1400
Bug 865961. Root the scope argument of wrap-the-xpconnect-object helpers in WebIDL bindings. r=ms2ger
2013-04-29 17:33:42 -04:00
Boris Zbarsky
8003a22424
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
e9fca1d653
Bug 865964. Remove dead WrapCallbackInterface code. r=smaug
2013-04-26 13:41:21 -04:00
Boris Zbarsky
9ba2beac5c
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
7a5392b28d
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
Boris Zbarsky
9c1973b5d2
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
0b6ba06beb
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
498c958a33
Bug 864590. Assert that the object is not null when wrapping WebIDL objects. r=peterv
2013-04-24 14:59:15 -04:00