Ms2ger
6252f14694
Bug 883615 - Only include nsCxPusher.h in codegen when necessary; r=smaug
2013-06-23 09:14:46 +02:00
Jon Coppeard
5f0e17f56a
Bug 885310 - 1 Rename JSHandleFoo in the browser r=bz
2013-06-21 14:12:46 +01:00
Bobby Holley
368784b6b0
Bug 884362 - Play Maybe<> games to root |temp| in the right circumstances. r=bz
2013-06-20 11:05:33 -07:00
Boris Zbarsky
97d600cc7a
Bug 883827. Make Optional<NonNull<T>> and Optional<OwningNonNull<T>> nicer to use by having their const Value() method return a T&. r=peterv
2013-06-19 14:48:43 -04:00
Jon Coppeard
6ac7794926
Bug 884371 - Remove JSMutableHandleXXX from the browser r=bz
2013-06-19 11:32:27 +01:00
Boris Zbarsky
5d3e89a31d
Bug 883358 part 2. Use the new information in bindings error reporting. r=smaug
2013-06-17 16:31:13 -04:00
Ryan VanderMeulen
7ae024c821
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
03f955dcda
Bug 883358 part 2. Use the new information in bindings error reporting. r=smaug
2013-06-17 16:31:13 -04:00
Boris Zbarsky
4a30a47913
Bug 882653 part 5. Improve WebIDL binding error reporting for overload resolution failures, unions, non-finite floats. r=smaug
2013-06-17 13:07:04 -04:00
Boris Zbarsky
2e1724f219
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
4af40fe18c
Bug 882653 part 3. Make the "does not implement interface" error reporting better in WebIDL bindings. r=smaug
2013-06-17 13:07:03 -04:00
Boris Zbarsky
b44721accb
Bug 882653 part 2. Make the "not an object" error reporting better in WebIDL bindings. r=smaug
...
This also adds infrastructure to generally indicate to the
js-to-native conversion exactly what is being converted.
2013-06-17 13:07:03 -04:00
Boris Zbarsky
7ee4b52645
Bug 882653 part 1. Improve error reporting for bogus this objects in WebIDL bindings. r=smaug
2013-06-17 13:07:03 -04:00
Boris Zbarsky
4b1a60b75c
Bug 882547. Treat undefined values in WebIDL dictionaries as missing. r=smaug
2013-06-17 13:07:03 -04:00
James Kitchener
c5afdeb69f
Bug 796850 - Implement Code Generation for Bytestring in WebIDL bindings r=bz
2013-06-13 01:18:35 -04:00
Boris Zbarsky
9f0fc4f039
Bug 880367 part 3. Add support for [ChromeOnly] on interface objects. r=smaug
2013-06-13 01:12:37 -04:00
Boris Zbarsky
965229b2c0
Bug 880367 part 1. Change the "enabled" callback for WebIDL constructors to take a JSContext* and the object the constructor will be defined on. r=smaug,bholley
2013-06-13 01:12:26 -04:00
Ms2ger
b0702e892f
Bug 860731 - Part a: Add 'extern' to the definition of EnumEntry tables; r=bz
2013-06-12 08:55:26 +02:00
Boris Zbarsky
99b6e95a8a
Bug 872669. Slightly speed up our named proxy gets by making use of the inline chars/length getters we can have when our id is an atom. r=waldo,peterv
2013-06-07 22:45:46 -04:00
Boris Zbarsky
26667dc16a
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
Boris Zbarsky
00780cbc17
Bug 877281 part 4. Eliminate uses of ${valHandle} in binding conversions and make ${val} be a handle. r=peterv
2013-06-07 22:45:45 -04:00
Boris Zbarsky
70fc02767f
Bug 877281 part 3. Rename valMutableHandle to mutableVal. r=peterv
2013-06-07 22:45:45 -04:00
Boris Zbarsky
aa8594bb6a
Bug 877281 part 2. Eliminate uses of ${valPtr} in bindings conversions. r=peterv
2013-06-07 22:45:45 -04:00
Boris Zbarsky
f605d53cf5
Bug 877281 part 1. Convert WebIDL bindings to using something CallArgs-like. r=peterv,jandem
2013-06-07 22:45:44 -04:00
Boris Zbarsky
67d8dd39ad
Bug 829248. Implement basic support for [TreatUndefinedAs=Missing] in WebIDL. r=khuey
...
This does not add support for [TreatUndefinedAs=Missing] in overloaded
methods, since it's not clear what that should really look like.
This also does not require that [TreatUndefinedAs=Missing] on an
argument force it on all later arguments, since it's not clear that we
want that long-term.
2013-06-05 20:51:21 -04:00
Bobby Holley
705706836d
Bug 877261 - Stop taking a cx in XPCWrappedJS::GetNewOrUsed. r=Ms2ger
...
Some of these callers seem to be passing a ccx when they don't need to, but
let's just remove the param all together for consistency.
2013-06-04 21:11:19 -07:00
Ehsan Akhgari
a25bd2b096
Bug 861371 - Allow Web IDL enums to have names starting with a digit; r=bzbarsky
2013-06-03 17:54:46 -04:00
Ms2ger
23fadd5172
Bug 876602 - Move JS-implemented webidl construction code into C++; r=bz
2013-06-01 08:56:23 +02:00
Ms2ger
24985e9d94
Bug 876605 - Simplify the Init function of WebIDL dictionaries; r=smaug
2013-06-01 08:53:40 +02:00
Peter Van der Beken
daa0c6e02c
Bug 876080. Don't use 'nativeOwnership':'owned' for MediaList. r=bzbarsky
2013-05-31 11:27:05 -04:00
Boris Zbarsky
76423b5afb
Bug 877216. Add CallArgs-like structs for use in DOM specialized getters/setters/methods. r=waldo
2013-05-30 17:47:00 -04:00
Reuben Morais
b3d0cc3e18
Bug 877501 - Generate pref check code for interfaces with [NoInterfaceObject, NavigatorProperty]. r=bz
2013-05-30 08:21:52 -07:00
Peter Van der Beken
2487190814
Bug 874321 - Fix setting of expandos on Xrays for DOM bindings with named properties. r=bz.
2013-05-29 11:38:57 +02:00
Kyle Huey
6a54f16f78
Bug 876555: Avoid including xpcprivate.h in most generated dom binding code. r=bz
2013-05-30 11:15:31 +08:00
Boris Zbarsky
b81ccaeaf1
Bug 876805. Fix unsafe reference gc hazards in dom/ code. r=smaug
2013-05-29 16:16:04 -04:00
Boris Zbarsky
c7f67cdda6
Bug 875628. NewProxyObject should take a handle for the private value. r=till
2013-05-24 13:03:13 -04:00
Boris Zbarsky
ed870380a7
Bug 875622 part 2. Use handles in ConvertJSValueToString. r=smaug
2013-05-24 09:16:00 -04:00
Boris Zbarsky
96958287ad
Bug 875622 part 1. Pass through mutable handles to all the various places where we have to work with JS::Value in codegen. r=smaug
2013-05-24 09:15:55 -04:00
Bobby Holley
c9c266aea9
Bug 868130 - Remove the lion's share of JSAutoRequests in gecko. r=gabor
...
There are still a handful that either are used with other runtimes, or that
happen very early/late in cx the lifetime of various things where it doesn't
necessarily make sense to have a cx on the stack. This should definitely ensure
that we're not doing double-duty with the nsCxPusher change, though.
2013-05-22 10:05:28 -06:00
Bobby Holley
c3247a55cf
Bug 868130 - Include nsCxPusher.h everywhere we need it, and stop including it from nsContentUtils.h. r=gabor
2013-05-22 10:05:26 -06:00
Boris Zbarsky
5061ad7709
Bug 874154. Make sure we don't end up with uninitialized JSObject* or JS::Value in dictionaries. r=ms2ger
2013-05-21 14:15:30 -04:00
Boris Zbarsky
cf4a835d8f
Bug 861587. Rejigger the WebIDL binding build system to do all binding codegen in a single python process while still using our dependency tracking for bindings to minimize the number of bindings we try to regenerate. r=khuey
2013-05-09 13:05:33 -04:00
Boris Zbarsky
67fe346401
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
d0259d836d
Bug 873735 part 2. Change nsIXPConnectJSObjectHolder::GetJSObject to return a JSObject*. r=bholley
2013-05-20 08:44:18 -04:00
Ms2ger
e4c2423bba
Bug 873417 - Part b: Use CGClass for CGDictionary; r=bz
2013-05-20 09:10:59 +02:00
Ms2ger
f33b4721a1
Bug 873417 - Part a: Cleanup and fix some bugs in CGClass; r=bz
2013-05-20 09:10:58 +02:00
Reuben Morais
fdae001146
Bug 873684 - Improve error reporting when a value can't be converted to the expected type. r=bz
2013-05-17 21:14:18 -07:00
Boris Zbarsky
843379bd34
Bug 868312 finale: finish rooting dom/ code. r=smaug
2013-05-17 21:48:25 -04:00
Boris Zbarsky
9c20120dc1
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
Reuben Morais
9e1d7b51da
Bug 873647 - Teach codegen how to wrap Dates in constructors. r=bz
2013-05-17 13:52:32 -07:00