Commit Graph

987 Commits

Author SHA1 Message Date
Carsten "Tomcat" Book
f4bc96a601 Backed out changeset e2c75ec7f3d4 (bug 959787) for breaking b2g builds on a CLOSED TREE 2014-01-31 12:11:23 +01:00
Jon Coppeard
ba27569312 Bug 959787 - Handlify JS_GetProperty and related APIs r=terrence r=bz 2014-01-31 09:55:20 +00:00
Boris Zbarsky
b819d8db86 Bug 965477. Enter the compartment of obj in ClearCached*Value in the StoreInSlot case. r=bholley 2014-01-29 22:33:50 -08:00
Boris Zbarsky
9363c07116 Bug 945416 part 6. Fix the resolve/enumerate hooks in WebIDL bindings in the [Global] case to handle standard classes. r=peterv 2014-01-29 22:33:33 -08:00
Boris Zbarsky
754f19089b Bug 945416 part 2. When invoking a DoNewResolve hook on an Xray, make sure to first invoke it on the underlying object. r=bholley,peterv 2014-01-29 22:33:22 -08:00
Andrea Marchesini
8c3ee1c182 Bug 964892 - WebIDL 'assert' method should be implemented as '_assert_'. r=bz 2014-01-29 08:16:57 -05:00
Jon Coppeard
74da1a60c3 Bug 959787 - Handlify JS_Set* APIs r=terrence r=bz 2014-01-25 09:29:12 +00:00
Bobby Holley
048f4eae8c Bug 957688 - Kill off checkAccess. r=mrbkap 2014-01-24 16:08:26 -08:00
Andrea Marchesini
2e079d8e5b Bug 963560 - Fix compilation error on VS2013 for method called 'assert', r=bz 2014-01-24 15:45:24 +00:00
Boris Zbarsky
998668c1ff Bug 958576 part 2. Move FakeDependentString to the binding_detail namespace. r=peterv
I took the opportunity to move away from the NonNull<nsAString> hack
we had for string arguments, since just passing in a
FakeDependentString works fine and callees are now less likely to
declare their arg as being of that type.

In the process of doing that, I ran into what looks like a substantive
bug in the "owning union with string default value" case: We were
doing mValue.mString.Value() without ever having constructed
mValue.mString!
2014-01-22 14:37:10 -05:00
Boris Zbarsky
bd16624e1c Bug 958576 part 1. Create a binding_detail namespace and move AutoSequence to it. r=peterv
Note that we can't name this namespace "detail", because then we'd
have both ::mozilla::detail and ::mozilla::dom::detail namespaces in
the tree and various template name lookups that look for "detail::Foo"
would get confused, and the code would not compile.  C++ strikes
again.
2014-01-22 14:37:10 -05:00
Wes Kocher
75665b3d7f Backed out 2 changesets (bug 958576) for osx 10.8 m-oth bustage on a CLOSED TREE
Backed out changeset 2ec09c9a9df1 (bug 958576)
Backed out changeset 49bec226f30e (bug 958576)
2014-01-22 16:17:25 -08:00
Boris Zbarsky
3146ee0f7a Bug 958576 part 2. Move FakeDependentString to the binding_detail namespace. r=peterv
I took the opportunity to move away from the NonNull<nsAString> hack
we had for string arguments, since just passing in a
FakeDependentString works fine and callees are now less likely to
declare their arg as being of that type.

In the process of doing that, I ran into what looks like a substantive
bug in the "owning union with string default value" case: We were
doing mValue.mString.Value() without ever having constructed
mValue.mString!
2014-01-22 14:37:10 -05:00
Boris Zbarsky
5052fd5d63 Bug 958576 part 1. Create a binding_detail namespace and move AutoSequence to it. r=peterv
Note that we can't name this namespace "detail", because then we'd
have both ::mozilla::detail and ::mozilla::dom::detail namespaces in
the tree and various template name lookups that look for "detail::Foo"
would get confused, and the code would not compile.  C++ strikes
again.
2014-01-22 14:37:10 -05:00
Boris Zbarsky
787877e0b4 Bug 961208 part 2. Change the WebIDL DoNewResolve hook signature to take a JSPropertyDescriptor. r=bholley 2014-01-21 22:08:51 -05:00
Boris Zbarsky
96d02efb92 Bug 961208 part 1. When doing a DoNewResolve for Xrays, pass the Xray, not the underlying object, to DoNewResolve, in case people want to do permissions checks on the object. r=bholley 2014-01-21 22:08:49 -05:00
Terrence Cole
d902eeddc8 Bug 959787 - Handlify several JSAPI interfaces that can GC, Part 4; r=sfink,r=bz
--HG--
extra : rebase_source : 8e1ff566f47795cd82e3f4c0a6fa37b88e7847b4
2014-01-17 10:08:51 -08:00
Nathan Froyd
a04f403342 Bug 960109 - convert JSJitInfo fields to bitfields; r=bz,efaust 2014-01-16 16:30:35 -05:00
Nathan Froyd
5bb37307a5 Bug 960653 - part 1 - assert that we don't overflow JSJitInfo fields in bindings codegen; r=bz 2014-01-16 11:20:51 -05:00
Nathan Froyd
ceefc28116 Bug 952777 - part 5 - move JSJitInfo::argTypes to a separate JSTypedMethodJitInfo subclass; r=efaust,bz 2014-01-07 16:52:40 -05:00
Nathan Froyd
5800422e32 Bug 952777 - part 4 - move JSParallelNative into the union; r=efaust,bz 2014-01-07 14:54:07 -05:00
Nathan Froyd
8c0119e34b Bug 952777 - part 3 - use bitfields for integer fields in JSJitInfo; r=efaust,bz 2014-01-07 13:55:06 -05:00
Nathan Froyd
bb1da45740 Bug 952777 - part 1 - reorder JSJitInfo slots to pack better; r=efaust,bz 2013-12-21 15:33:12 -05:00
Terrence Cole
6beccf2363 Bug 959787 - Handlify several JSAPI interfaces that can GC, Part 3; r=sfink
--HG--
extra : rebase_source : ace7b0fa6ba93acbf0ec8ecaeb68ffa287a33665
2014-01-16 09:48:58 -08:00
Nathan Froyd
021c7795c1 Backout 524be0420e79 and 4c39a7047e96:b3d04b01c319 (bug 952777) for build bustage that led to this CLOSED TREE 2014-01-15 19:51:28 -05:00
Nathan Froyd
0747cf92d2 Bug 952777 - part 5 - move JSJitInfo::argTypes to a separate JSTypedMethodJitInfo subclass; r=efaust,bz 2014-01-07 16:52:40 -05:00
Nathan Froyd
ada036e541 Bug 952777 - part 4 - move JSParallelNative into the union; r=efaust,bz 2014-01-07 14:54:07 -05:00
Nathan Froyd
0ce6927f43 Bug 952777 - part 3 - use bitfields for integer fields in JSJitInfo; r=efaust,bz 2014-01-07 13:55:06 -05:00
Nathan Froyd
952a5175bf Bug 952777 - part 1 - reorder JSJitInfo slots to pack better; r=efaust,bz 2013-12-21 15:33:12 -05:00
Rick Eyre
194c47dcd0 Bug 882299 - Implement VTTCue::Line r=smaug,rillian,bz 2014-01-15 08:04:00 -08:00
Boris Zbarsky
9562a762e6 Bug 851891. Make stringifier attributes fail to codegen. r=khuey 2014-01-14 21:46:44 -05:00
Boris Zbarsky
ebedf6c389 Bug 959677. Fail codegen if a writable attribute is flagged PutForwards or Replaceable. r=smaug 2014-01-14 21:46:43 -05:00
Nathan Froyd
e51cd360e9 Bug 957730 - set JS values more directly in bindings code; r=bz 2014-01-08 14:35:39 -05:00
Nathan Froyd
6087eb63f6 Bug 958262 - reduce space required by JSPropertySpec; r=till,bz,Waldo 2014-01-10 12:11:31 -05:00
Boris Zbarsky
c99d5b8e9e Bug 957929. Pass undefined, not null, as the this value to callbacks if no other value is provided. r=peterv 2014-01-13 15:08:57 -05:00
Boris Zbarsky
0bc28e81b8 Bug 952365. Add a TreatNonObjectAsNull annotation for WebIDL callback functions and use it for event handlers, since web sites depend on assigning non-callable objects to them in some cases. r=peterv 2014-01-13 15:08:56 -05:00
Nikhil Marathe
34af09eb87 Bug 957950 - Refactor tempRoot scope in WebIDL codegen. r=bz 2014-01-09 08:58:21 -08:00
Nikhil Marathe
fdba61883d Bug 957429 - Method parameters that are callbacks obey [TreatNonCallableAsNull] semantics. r=bz 2014-01-08 22:12:27 -08:00
Ryan VanderMeulen
79c6767d01 Backed out changesets d8a6bde76293 and 0b28eaf5bde9 (bug 956806) for suspicion of making OSX 10.6 debug mochitest-bc even more orange prone than usual. 2014-01-08 15:34:24 -05:00
Boris Zbarsky
0b927c76d8 Bug 956806 part 2. Share generic getters/setters/methods across all bindings. r=peterv 2014-01-08 10:29:15 -05:00
Boris Zbarsky
aa6686aaf9 Bug 956806 part 1. Output a list of interface names in PrototypeList.cpp. r=peterv 2014-01-08 10:29:15 -05:00
Boris Zbarsky
b1083f6892 Bug 939581 part 3. Mark DOM calls as movable as needed and allow them to be CSE'd. r=efaust 2014-01-03 16:44:45 -05:00
Ehsan Akhgari
22ef961b40 Bug 927728 - Part 2: Stop using PRUnichar in our code generators; r=roc,bzbarsky 2014-01-04 10:02:43 -05:00
Masatoshi Kimura
40c3a61d7b Bug 876238 - Convert DeviceAcceleration and DeviceRotationRate to WebIDL bindings. r=smaug 2014-01-02 07:52:47 +09:00
Boris Zbarsky
4a425922ba Bug 952062. Fix union codegen to properly destroy the union members if conversion to them fails. r=dzbarsky 2013-12-20 15:33:57 -05:00
Wes Kocher
900bc805d5 Backed out changeset 6532bf066bb4 (bug 882299) 2013-12-20 18:33:04 -08:00
Wes Kocher
29b8341103 Backed out changeset f84ac36ce832 (bug 952062) for osx debug m1 orange 2013-12-20 14:22:55 -08:00
Boris Zbarsky
7f2351d69a Bug 952062. Fix union codegen to properly destroy the union members if conversion to them fails. r=dzbarsky 2013-12-20 15:33:57 -05:00
Boris Zbarsky
8ddd74e1a2 Bug 952375. Include headers for external interfaces in UnionConversions.h. r=dzbarsky 2013-12-20 14:28:18 -05:00
Rick Eyre
6688119fea Bug 882299 - Implement VTTCue::Line. r=smaug, r=rillian 2013-12-16 14:35:01 -05:00
David Zbarsky
af0149116d Bug 928953 - WebIDL headers should include the file for enums. r=bz 2013-12-20 11:37:48 -05:00
Boris Zbarsky
3fa148f89a 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
1348f22698 Bug 951875. Actually apply binarynames to JS-implemented codegen. r=mccr8
Actually, this applies them to all callbacks, but most callback interfaces don't have entries in Bindings.conf.

This removes the extra entry for TestJSImplInterface in Bindings.conf that was covering up this bug.
2013-12-19 00:45:13 -05:00
Boris Zbarsky
83bca7fa22 Bug 949501. Make nullable unions that are isMember stop claiming to have a holder. r=dzbarsky 2013-12-18 11:20:43 -05:00
Andrew McCreight
3f5f23664f Bug 937818, part 0 - Root newly created objects in Bind across ADDREF. r=bz 2013-12-17 19:29:56 -08:00
Boris Zbarsky
41d378f132 Bug 950991. Root on-stack JSObject* and JS::Value return values. r=smaug 2013-12-17 17:09:16 -05:00
Boris Zbarsky
b1af932dc3 Bug 949940. Only enter the uncheckedObj compartment in a crossOriginGetter/Setter/Method around the UnwrapArg call that needs us to be in that compartment. r=peterv 2013-12-17 17:09:05 -05:00
Wes Kocher
51be634cd2 Backed out changeset ef0eeaec74a8 (bug 949183) on the theory that it somehow broke every single b2g test on a CLOSED TREE 2013-12-16 18:27:43 -08:00
Sean Stangl
59305924cb Bug 949183 - Fix jsid static constructor explosion. r=Waldo 2013-12-16 14:40:05 -08:00
Boris Zbarsky
29ab0029d4 Bug 950728. Nicer error reporting when a callback argument is not wrappercached. r=smaug 2013-12-16 13:06:36 -05:00
Boris Zbarsky
957cfde95a Bug 950657. Give WebIDL callbacks an operator== that does the right thing. r=smaug 2013-12-16 13:06:35 -05:00
Boris Zbarsky
ea8d385a26 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
f687511020 Bug 949078. Provide information about which return value we're talking about when throwing a conversion failure exception for the return value of a call into a WebIDL callback. r=peterv 2013-12-16 13:06:35 -05:00
Boris Zbarsky
3073fb27e4 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
d6a7344f02 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
919ba9e509 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
Gregory Szorc
b47eeb6ab3 Bug 928195 - Part 4: Rewrite WebIDL build system integration; r=bz, r=glandium
WebIDL build system integration has been rewritten from the ground up.
Changes:

* GlobalGen.py, BindingGen.py, and ExampleGen.py have been removed in
  favor of mozwebidl.py.

* Static .webidl files are now processed directly in their original location
  and aren't copied to the object directory.

* Generated events <stem>.cpp files are now compiled into the unified
  sources. Previously, only the <stem>Binding.cpp files were compiled
  into unified sources.

* Exported .h files are now generated directly into their final location.
  Previously, they were generated into the local directory then
  installed in their final location.

* The list of globalgen-generated files now lives in Python and isn't
  duplicated in 3 places.

* The make dependencies are much simpler as a result of using a single
  command to perform all code generation. The auto-generated .pp file from
  code generation sets up all dependencies necessary to reinvoke code
  generation and Python takes care of dependency management.

--HG--
extra : rebase_source : e4918878274b22a412329c7cb18cc7138daf5dc6
2013-12-12 16:26:38 +09:00
Boris Zbarsky
f5f63077e2 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
ac153799bd Bug 949264 part 3. Use aRetVal for the outparam return value for CGNativeMember. r=smaug 2013-12-12 16:11:55 -05:00
Boris Zbarsky
6f31ec040a Bug 949264 part 2. Support union members in generated events. r=smaug 2013-12-12 16:11:55 -05:00
Boris Zbarsky
3e0c5f04f2 Bug 949264 part 1. Share more codegen between events and CGNativeMember. r=smaug 2013-12-12 16:11:55 -05:00
Steve Fink
80aa980365 Bug 937317 - Root around GC call GetIncumbentGlobal. r=bz 2013-12-11 17:51:58 -08:00
Bobby Holley
5bd2767e3a Bug 937317 - When invoking a callback object, restore the incumbent script settings object from when the callback was created. r=bz
See the 'incumbent script' stuff in the WebIDL spec.
2013-12-11 17:51:58 -08:00
Bobby Holley
3b27d85d5f Bug 937317 - Pass the entire CallbackObject to CallSetup. r=bz
We need this so that we can grab the incumbent global that we stashed on the
CallbackObject.
2013-12-11 17:51:57 -08:00
Boris Zbarsky
7dd61e1f0b Bug 697343 - Add slice hook to DOM bindings like NodeList. r=peterv,bhackett 2013-12-02 11:32:22 -05:00
Tom Schuster
11675716d5 Bug 697343 - Remove getElementIfPresent. r=Waldo 2013-12-05 20:07:24 +01:00
Boris Zbarsky
f9ef5c917a Bug 946067 part 3. Adjust codegen to allow cross-origin this values based on WebIDL annotations. r=peterv 2013-12-09 10:34:04 -05:00
Boris Zbarsky
abefb320a5 Bug 946067 part 2. Generate Window's access checks in XPConnect based on WebIDL access annotations. r=bholley,peterv 2013-12-09 10:34:03 -05:00
Phil Ringnalda
cacf62c269 Back out 35371620801a:bf2019278b77 (bug 937317) for gaia-ui-test bustage and frequent timeouts in its own test 2013-12-07 11:08:56 -08:00
Bobby Holley
78f90c96fa Bug 937317 - When invoking a callback object, restore the incumbent script settings object from when the callback was created. r=bz
See the 'incumbent script' stuff in the WebIDL spec.
2013-12-06 12:01:42 -08:00
Bobby Holley
d29d61de41 Bug 937317 - Pass the entire CallbackObject to CallSetup. r=bz
We need this so that we can grab the incumbent global that we stashed on the
CallbackObject.
2013-12-06 12:01:42 -08:00
Carsten "Tomcat" Book
25d7777933 Backed out changeset 1156b23f333f (bug 937317) WinXP Build Bustage on a CLOSED TREE 2013-12-06 08:42:07 +01:00
Carsten "Tomcat" Book
928b1a0621 Backed out changeset 767065f0560b (bug 937317) WinXP Build Bustage on a CLOSED TREE 2013-12-06 08:41:59 +01:00
Bobby Holley
cff106e954 Bug 937317 - When invoking a callback object, restore the incumbent script settings object from when the callback was created. r=bz
See the 'incumbent script' stuff in the WebIDL spec.
2013-12-05 21:34:17 -08:00
Bobby Holley
e23b983161 Bug 937317 - Pass the entire CallbackObject to CallSetup. r=bz
We need this so that we can grab the incumbent global that we stashed on the
CallbackObject.
2013-12-05 21:34:17 -08:00
Ryan VanderMeulen
5c07e15985 Backed out changesets 22770b30545b, 0809370fabdb, 4ef4764c1b55, and bfe768b87464 (bug 697343) due to Gaia UI test bustage.
CLOSED TREE
2013-12-05 16:19:47 -05:00
Boris Zbarsky
574377e72d Bug 697343 - Add slice hook to DOM bindings like NodeList. r=peterv,bhackett 2013-12-02 11:32:22 -05:00
Tom Schuster
922370489e Bug 697343 - Remove getElementIfPresent. r=Waldo 2013-12-05 20:07:24 +01:00
Boris Zbarsky
21df6dd5cf 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
34c58c980f Bug 942631 part 7. Move INSTANCE_RESERVED_SLOTS into the C++, so it's closer to the things it depends on. r=peterv 2013-12-04 08:02:19 -05:00
Boris Zbarsky
1b79433e39 Bug 942631 part 6. Fix performance regression in the imagedata getter due to using MaybeWrapValue on a non-DOM object. r=peterv 2013-12-04 08:02:18 -05:00
Boris Zbarsky
7cea1234f6 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
a55415242a Bug 942631 part 3. Preserve the wrapper when caching things in its slots if we're an nsWrapperCache. r=peterv 2013-12-04 08:02:18 -05:00
Boris Zbarsky
3c9332eaf8 Bug 942631 part 2. Make getters for cached properties check and set the reserved slot as needed. r=peterv 2013-12-04 08:02:17 -05:00
Boris Zbarsky
4ffa18ba5a Bug 938355 part 2. Relax the restriction on [Pure] not mixing with [Throws] and annotate some more things as [Pure]. r=peterv 2013-12-02 09:50:34 -05:00
Boris Zbarsky
69a8f7bb18 Bug 938355 part 1. Refactor jitinfo to separate out the concepts of side-effects and movability. r=efaust 2013-12-02 09:50:34 -05:00
Ms2ger
a4f80d66d9 Bug 935362 - Part b: Remove customTrace support; r=khuey 2013-11-28 15:03:15 +01:00
Ms2ger
5c3ce5df59 Bug 935362 - Part a: Remove nativeOwnership = 'worker' support; r=khuey 2013-11-28 15:03:15 +01:00
Andrew McCreight
ebd19c8e62 Bug 878447 - Don't include nsIDOMGlobalPropertyInitializer.h in generated DOM bindings. r=bz 2013-11-26 14:29:39 -05:00
Boris Zbarsky
3df9d7aaed Bug 938294 part 2. Store information about argument types in jitinfo. r=peterv,efaust 2013-11-25 20:59:39 -05:00
Boris Zbarsky
5ff8a34707 Bug 935855 part 6. Add friend API exposing the max number of fixed slots, and some static asserts that we're not going past it. r=jorendorff 2013-11-25 20:59:38 -05:00
Boris Zbarsky
7618cffabd Bug 935855 part 4. Codegen a function that updates all the members-in-reserved-slots values for an interface and call it when we finish wrapping an object. r=peterv 2013-11-25 20:59:38 -05:00
Boris Zbarsky
ddb0fa4d92 Bug 935855 part 3. Compute the right slot indices to use for members we want to store in slots and save then in the data model the WebIDL parser outputs. r=peterv 2013-11-25 20:59:38 -05:00
Boris Zbarsky
740b35f91a Bug 935855 part 2. Store isSlot information in jitinfo. r=peterv,efaust 2013-11-25 20:59:37 -05:00
Boris Zbarsky
60a3c87fe7 Bug 935855 part 1. Add a [StoreInSlot] WebIDL annotation to bindings. r=peterv 2013-11-25 20:59:34 -05:00
Boris Zbarsky
cc88075602 Bug 941776. Fix up our includes a bit when a dictionary contains a dictionary from another .webidl file. r=smaug 2013-11-25 20:57:25 -05:00
Jan-Ivar Bruaroey
5e7893b429 Bug 933447 - Use new weakRef to JSImpl feature. r=smaug, r=mccr8, r=abr 2013-11-08 19:45:59 -05:00
Boris Zbarsky
ae8b4cf576 Bug 941437 part 1. Remove the unused cx argument from dom::UnwrapObject. r=smaug 2013-11-21 07:51:15 -05:00
Olli Pettay
0432fe5230 Bug 928535, Support WeakRef's from c++ to JSImplemented webidl objects, r=mccr8
--HG--
extra : rebase_source : 05736af7ab2d11b10e7e6e917b8647a58e2c2108
2013-11-20 23:42:16 +02:00
Peter Van der Beken
794b2d6bd9 Bug 938544 - Add support for a Chrome-only constructor in WebIDL. r=bz.
--HG--
extra : rebase_source : e36fef0090d57947ceae6c2fc11bea8b115423e4
2013-08-12 16:45:33 +02:00
Nathan Froyd
7b9a9d912c Bug 940573 - make the global's ProtoAndIfaceArray an actual object; r=bz 2013-11-19 14:28:09 -05:00
Gregory Szorc
d39381a161 Backed out 4 changesets (c0e8f2c0465f::608c663f691f) (bug 928195) for landing prematurely
--HG--
extra : rebase_source : fa42534ef50a0373738349f17b2ca57510bdd6ac
2013-11-19 10:16:51 -08:00
Gregory Szorc
90980a53e9 Bug 928195 - Part 6: Rewrite WebIDL build system integration
WebIDL build system integration has been rewritten from the ground up.
Changes:

* GlobalGen.py, BindingGen.py, and ExampleGen.py have been removed in
  favor of mozwebidl.py.

* Static .webidl files are now processed directly in their original location
  and aren't copied to the object directory.

* Generated events <stem>.cpp files are now compiled into the unified
  sources. Previously, only the <stem>Binding.cpp files were compiled
  into unified sources.

* Exported .h files are now generated directly into their final location.
  Previously, they were generated into the local directory then
  installed in their final location.

* The list of globalgen-generated files now lives in Python and isn't
  duplicated in 3 places.

* The make dependencies are much simpler as a result of using a single
  command to perform all code generation. The auto-generated .pp file from
  code generation sets up all dependencies necessary to reinvoke code
  generation and Python takes care of dependency management.

--HG--
extra : rebase_source : bde37d7aab3bd224ca8611f3ba4aaf6311e2faab
2013-11-14 09:52:49 -08:00
Gregory Szorc
604163999d Bug 928195 - Part 1: Remove trailing whitespace from Codegen.py; r=bz
--HG--
extra : rebase_source : 09a7ed7933ef3c6efac617d3300b709ac2b3f26e
2013-11-14 14:31:58 -08:00
Kyle Huey
facf7517b4 Bug 940071: Free the proto and iface cache for generated globals. r=bz 2013-11-19 14:05:42 +08:00
Boris Zbarsky
8b79e34549 Bug 938246. Don't try to tell the JIT that our booleans are 32-bit integers, when they're actually booleans. r=efaust 2013-11-17 00:10:19 -05:00
Boris Zbarsky
44a1bbf863 Bug 936634. Drop support for [TreatUndefinedAs] in WebIDL. r=peterv 2013-11-17 00:10:18 -05:00
Ms2ger
0fdc697b63 No bug - Fix some style issues in DOM code. 2013-11-11 09:04:41 +01:00
Kyle Huey
020d8b6c36 Bug 928312: Convert the worker global object and all remaining EventTargets to new DOM bindings. r=bent,peterv,smaug 2013-11-05 22:16:26 +08:00
Kyle Huey
e034802efa Bug 919885: Move Worker to WebIDL and thread-agnostic event dispatch. r=bent,bz 2013-11-05 22:16:24 +08:00
Andrew McCreight
b8de97a9a9 Bug 933966 - Fix reindentation in CGWrapper. r=bz 2013-11-01 16:48:35 -07:00
Reuben Morais
741f1170ee Bug 929491 - Include dictionary and object types in union construction error messages. r=bz 2013-11-02 16:18:35 -02:00
Peter Van der Beken
0fb4099fa8 Bug 932320 - Use JS_DefineProperty for replaceable properties. r=bz.
--HG--
extra : rebase_source : 89afe3e605ca66914912e1718e1558c8e266be32
2013-10-08 17:51:03 +02:00
Peter Van der Beken
a4fe40c32e Bug 932315 - Throw a different error when this-unwrapping fails for security reasons. r=bz.
--HG--
extra : rebase_source : a92639be64d8d591ea4c97955bc04e6047e0d027
2013-10-16 18:11:25 +02:00
Boris Zbarsky
7763b195d4 Bug 933087. Make sure we don't violate stack discipline for Rooted, even when playing Maybe<Rooted> games. r=khuey 2013-10-31 22:07:11 -04:00
Boris Zbarsky
45644e6916 Bug 932998. Don't try to codegen code that keeps alive objects with 'owned' nativeOwnership, since we have no way to do that. r=smaug 2013-10-31 22:07:11 -04:00
Boris Zbarsky
120ff6b66e Bug 925737. Allow copy-constructing owning unions with safe enough members. r=peterv 2013-10-31 22:07:10 -04:00
Boris Zbarsky
20b04d6057 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
98d74fb3cb 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
9253bde16b 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
38d1832bb2 Bug 924402. When an object that can only be returned from [NewObject] methods is used in a dictionary, just skip generating a ToObject for that dictionary. r=peterv 2013-10-28 19:34:08 -04:00
Boris Zbarsky
97c2bf7f74 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
dfc2297bd8 Bug 918345 - Turn on WebIDL binding generation for Window and hook it up to quickstubs. r=bz.
--HG--
extra : rebase_source : 7bde7ddfe297e189ffa678ca1d9c34000bc904ec
2013-10-08 17:51:42 +02:00
Tom Schuster
127ebf3721 Bug 930782 - Handlify JS_WrapValue. r=terrence 2013-10-26 18:19:05 +02:00
Ms2ger
7cd50d2f15 Backout changeset 2e466ccc7bd0 for devtools test failures. 2013-10-26 17:02:20 +02:00
Peter Van der Beken
e01445a2df Bug 918345 - Turn on WebIDL binding generation for Window and hook it up to quickstubs. r=bz.
--HG--
extra : rebase_source : 673c08ef093339e6bfb1418366af5cc5fabe7c4d
2013-10-08 17:51:42 +02:00
Peter Van der Beken
24546ae68c Bug 918351 - Support Replaceable WebIDL properties. r=bz.
--HG--
extra : rebase_source : 1b3ca397aa15641c1ee4c49912148d0a3bb5a640
2013-09-15 23:04:08 +02:00
Peter Van der Beken
70d1256549 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
ef2d7c5fe8 Backed out changeset 64a19bc0e198 (bug 922159) for compilation failures on a CLOSED TREE 2013-10-23 15:51:48 +01:00
Ed Morley
6f61723ac5 Backed out changeset 7ba9be5d51df (bug 918351) 2013-10-23 15:51:24 +01:00
Peter Van der Beken
11a4bbcd00 Bug 918351 - Support Replaceable WebIDL properties. r=bz.
--HG--
extra : rebase_source : 8c87e06ddb168d76e300d71b4784d1fb508e398a
2013-09-15 23:04:08 +02:00
Peter Van der Beken
538eed5d23 Bug 922159 - Rename Creator WebIDL extended attribute to NewObject. r=bz.
--HG--
extra : rebase_source : 2c09c54f42a111d27b0d57346ca7d80f440eca09
2013-09-30 18:32:22 +02:00
Steve Fink
a484573cac Bug 925916 - Add some handles to dom/bindings, r=bz
--HG--
extra : rebase_source : 2443d2b988dea432c4961e8b042b0288e1dc7016
2013-10-11 22:02:39 -07:00
Andy Wingo
42d8ea0ae4 Bug 919948 - Convert Array.prototype.@@iterator to use new iteration protocol. r=jorendorff
--HG--
extra : rebase_source : d67252851178e66e8d7ef82ef83edddf79535a4e
2013-10-17 12:10:02 +02:00
Tom Schuster
1faae39271 Bug 8844105 - Handlify JS_WrapObject. r=terrence 2013-10-15 20:02:23 -04:00
Ryan VanderMeulen
9abde8f9b2 Backed out 2 changesets (bug 915757, bug 919885) for frequent Android Armv6 mochitest-8 crashes.
Backed out changeset 04610078280c (bug 915757)
Backed out changeset db9190b3ce60 (bug 919885)
2013-10-14 14:38:54 -04:00
Ed Morley
c850e0a16b Merge latest green inbound changeset and mozilla-central 2013-10-14 17:39:02 +01:00
Ed Morley
b0477b5369 Backed out changeset d8636e485e85 (bug 882541) 2013-10-14 17:30:49 +01:00
Ed Morley
3a77b8b1b1 Backed out changeset 61092280cb2a (bug 882541) 2013-10-14 17:30:46 +01:00
Ed Morley
0f6d579260 Backed out changeset ccf11ae08ba2 (bug 882541) 2013-10-14 17:30:43 +01:00
Kyle Huey
30ab732153 Bug 919885: Move Worker to WebIDL and thread-agnostic event dispatch. r=bent,bz 2013-10-14 19:58:05 +08:00
Phil Ringnalda
5c6d197b06 Backed out 2 changesets (bug 915757, bug 919885) for xpcshell bustage
Backed out changeset 5d17d90b838d (bug 915757)
Backed out changeset 91495d3a91c8 (bug 919885)
2013-10-13 21:59:58 -07:00
Kyle Huey
93bec3955c Bug 919885: Move Worker to WebIDL and thread-agnostic event dispatch. r=bent,bz 2013-10-14 11:10:43 +08:00
Boris Zbarsky
ce891d2c00 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
99d48a5894 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
57053bb972 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
0630264884 Bug 817194 followup to work around emergent namespace+template MSVC bugginess: it was seeing mozilla::dom::detail in TypeTraits.h because it looks at namespaces at template _instantiation_, not declaration. Or something. Leading, of course, to a CLOSED TREE. 2013-10-09 14:12:17 -04:00
Boris Zbarsky
e9898392f2 Bug 817194. Make WebIDL dictionary types sanely initialized by default; add a new Fast subclass to handle cases when we can skip the initialization safely. r=khuey 2013-10-09 12:05:22 -04:00
Ed Morley
a4e9089af7 Backed out changeset 8fa0cbe4a54d (bug 817194) for build failures 2013-10-09 17:48:13 +01:00
Boris Zbarsky
dab154c98a Bug 817194. Make WebIDL dictionary types sanely initialized by default; add a new Fast subclass to handle cases when we can skip the initialization safely. r=khuey 2013-10-09 12:05:22 -04:00
Andy Wingo
53ce73ba77 Bug 907077: Change for-of to conform to latest ES6 specification. r=jwalden 2013-10-03 13:37:57 +01:00
Boris Zbarsky
1838da77e2 Bug 921553. Fix some binding rooting hazards that have popped up. r=peterv 2013-09-30 10:29:10 -04:00
Kyle Huey
cb84165118 Bug 919457: Allow bindings specific to workers without the old-style worker ownership model. r=bz 2013-09-30 12:15:37 +08:00
Kyle Huey
12f83a26b2 Back out bug 919457 for build bustage. r=me 2013-09-30 10:41:23 +08:00
Kyle Huey
42dfe0a70f Bug 919457: Allow bindings specific to workers without the old-style worker ownership model. r=bz 2013-09-30 09:37:26 +08:00
Olli Pettay
3b5f032268 Bug 637248, Make Event.isTrusted Unforgeable, r=bz
--HG--
extra : rebase_source : 3edd919c6dac839d6082c1c73de88f9ba2d22146
2013-09-28 13:27:29 +03:00
Andy Wingo
c535958dc3 Bug 920433 - Improve API support for self-hosted functions. r=till, r=bz 2013-09-26 10:11:38 -04:00
Boris Zbarsky
eff308009e Bug 918011 part 4. Support dictionaries in unions. r=smaug 2013-09-26 00:05:00 -04:00
Boris Zbarsky
27c2ab7119 Bug 918011 part 3. Get rid of isInOwningUnion: it's equivalent to another isMember value. r=smaug 2013-09-26 00:05:00 -04:00
Boris Zbarsky
db4d6d4736 Bug 919603 part 2. Change this-handling in codegen to only do the special global object stuff on interfaces where it might matter. r=peterv 2013-09-25 14:38:30 -04:00
Boris Zbarsky
016b4b01e2 Bug 905493. Fix setting document.location via an Xray to not enter the content compartment. r=peterv 2013-09-25 14:38:29 -04:00
Ryan VanderMeulen
b2c316d8b2 Backed out 5 changesets (bug 905493, bug 920125, bug 919603) for mochitest orange on a CLOSED TREE.
Backed out changeset ccef656b2973 (bug 919603)
Backed out changeset 4b29ce0b2fff (bug 919603)
Backed out changeset b0a051ec55b7 (bug 919603)
Backed out changeset baa9a774aad1 (bug 920125)
Backed out changeset e03276bf4eaa (bug 905493)
2013-09-25 18:22:33 -04:00
Boris Zbarsky
d7f8928b36 Bug 919603 part 2. Change this-handling in codegen to only do the special global object stuff on interfaces where it might matter. r=peterv 2013-09-25 14:38:30 -04:00
Boris Zbarsky
59c5157dca Bug 905493. Fix setting document.location via an Xray to not enter the content compartment. r=peterv 2013-09-25 14:38:29 -04:00
Peter Van der Beken
d0b24c7ccf Bug 920196 - Make QueryInterface opt-in for WebIDL interfaces. r=bz.
--HG--
extra : rebase_source : 4cf7f9dc90f234dd663da05f27c0dc9484c7c0e1
2013-09-24 21:37:53 +02:00
Jan Varga
43d3cafd1b Bug 919268 - Add codegen for worker-only WebIDL callbacks. r=bz 2013-09-24 21:32:01 +02:00
Boris Zbarsky
2e9b983c1d Bug 862627 part 2. Rip out some now-dead codegen code. r=smaug 2013-09-23 20:25:17 -04:00
Boris Zbarsky
48946a9621 Bug 862627 part 1. Switch EventListener to WebIDL codegen. r=smaug 2013-09-23 20:25:17 -04:00
Boris Zbarsky
1397956620 Bug 918450. Back out the fix for bug 911333, since trace hooks are in fact used in workers. r=khuey 2013-09-20 11:15:39 -04:00
Boris Zbarsky
7132b087bf Bug 917958 part 2. Simplify our various typeNeedsCx stuff, now that it's the same on workers and mainthread. r=smaug 2013-09-20 01:07:10 -04:00
Boris Zbarsky
af9b6c1e3a Bug 917958 part 1. Stop using JSObject* to represent WebIDL callback functions in workers. r=smaug 2013-09-20 01:07:03 -04:00
Boris Zbarsky
b81107f18b Bug 917539. Move the JSCompartment argument to the end of the list for JS-implemented WebIDL, so C++ callers can call into it sanely too. r=peterv 2013-09-20 01:07:03 -04:00
Jon Coppeard
607c80c4e2 Bug 917295 - GC: Handlify public date APIs r=terrence r=bz 2013-09-19 08:54:01 +01:00
Vendelin Ruzicka
1a5e17abdb Bug 917410: Add specializations of Optional for 'any' and 'object' types for callbacks in workers to bindings code. r=bz 2013-09-18 06:47:08 +02:00
Boris Zbarsky
7f755053b4 Bug 915971. Rename FooReturnValue unions to OwningFoo, because we use them for more than just return values. r=dzbarsky 2013-09-17 11:16:02 -04:00
Randell Jesup
edd0e485ab Bug 882145: reland changesets bc4ee7cbd7bd and cf373e408a6b r=bz 2013-09-16 02:34:57 -04:00
Ryan VanderMeulen
45c4ca50e7 Backed out changesets bc4ee7cbd7bd and cf373e408a6b (bug 882145) for causing bug 916609. r=jsmith 2013-09-15 18:19:42 -04:00
Jan-Ivar Bruaroey
3ab140206b Bug 882145: gUM constraints converted to webidl + gUMDevices() takes constraints. r=bz r=jesup 2013-09-14 00:48:39 -04:00
Boris Zbarsky
2319781bd9 Bug 915368. Give dictionaries copy constructors and assignment operators when it's safe. r=khuey 2013-09-13 13:21:59 -04:00
Boris Zbarsky
7f0a897989 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
3cf69f3a05 Bug 915100. Make sure to actually include the headers we need in UnionTypes.h. r=khuey 2013-09-11 23:19:07 -04:00
David Zbarsky
5e12eb5de7 Bug 856373 - WebIDL-ify Gamepad events r=smaug 2013-09-11 18:35:51 -04:00
Dan Gohman
a50084b38d Bug 910823 - Constify static js::Class/JSClass instances. r=waldo 2013-09-11 05:49:05 -07:00
Olli Pettay
8b192e2bbe Bug 900904 - Support webidl-only generated events, r=khuey,gps
--HG--
extra : rebase_source : cda37d1ae2ff9b969d081fe0ec103d4f07098a3b
2013-09-10 21:27:39 +03:00
Andrew McCreight
ed2bc0d289 Bug 911333 - Remove customTrace from bindings codegen. r=bz 2013-09-10 08:29:44 -07:00
Ms2ger
d9d7605e4f Merge last PGO-green inbound changeset to m-c.
--HG--
rename : dom/bindings/BindingUtils.h => dom/bindings/OwningNonNull.h
2013-09-10 10:13:12 +02:00
Ms2ger
d743825ce5 Bug 913923 - Part c: Stop including BindingUtils.h in UnionTypes.h; r=dzbarsky 2013-09-10 09:03:38 +02:00
Ms2ger
fd34744914 Bug 913923 - Part b: Move OwningNonNull into its own header; r=dzbarsky
--HG--
rename : dom/bindings/BindingUtils.h => dom/bindings/OwningNonNull.h
2013-09-10 09:03:37 +02:00
Ms2ger
31f1d9f15c Bug 913923 - Part a: Move UnionMember into its own header; r=dzbarsky 2013-09-10 09:03:37 +02:00
Boris Zbarsky
9197a62b7c Bug 914334. Change codegen to reflect EventListener as a WebIDL callback on workers. r=khuey 2013-09-09 22:10:45 -04:00