Граф коммитов

404 Коммитов

Автор SHA1 Сообщение Дата
Boris Zbarsky 4d733dc0e1 Bug 820665 part 3. WebIDL spec updates to changes in how callback interfaces work. r=khuey
Specifically, any object that's not a Date or RegExp can implement a callback interface.
2013-01-03 14:03:11 -05:00
Boris Zbarsky 248f730e6a Bug 820665 part 2. WebIDL spec updates to changes in how callback functions work. r=khuey
Specifically, all callables can be converted to a callback, including
in overload resolution and union conversions.  We already did this for
normal callback arguments, but not the overload/union case.
2013-01-03 14:03:06 -05:00
Boris Zbarsky 20d4a061d6 Bug 820665 part 1. More WebIDL spec updates to changes in how dictionaries work. r=khuey
Specifically, the following changes:

1) A union that includes a dictionary and is the last non-optional
   argument must actually be marked optional, just like a dictionary
   argument.
2) Disallow a union from containing both a nullable type and a dictionary.
3) Now all non-Date and non-RegExp objects can be used as dictionaries,
   including from overload resolution and union conversion.

We don't support dictionaries inside unions yet, or unions as
distinguishing args, so the spec changes to do with converting null to
dictionaries inside a union or picking the union overload if there is
a union containing a dictionary and null is the distinguishing arg
value are not relevant to us so far.
2013-01-03 14:03:00 -05:00
Boris Zbarsky 1c97d54111 Bug 818050. Teach the JIT about DOM method and getter return types so that it doesn't have to type-guard when unboxing the boxed value in many cases. r=jandem,peterv 2013-01-03 14:02:52 -05:00
Boris Zbarsky 7edf1854ef Bug 821177. [TreatNonCallableAsNull] should only affect attribute setters. r=khuey 2013-01-02 22:03:25 -05:00
Boris Zbarsky eabd327329 Bug 819845. Update WebIDL bindings to spec change: sequences/arrays are no longer distinguishable from dictionaries, and conversion to a sequence works on arbitrary objects. r=khuey 2013-01-02 22:03:25 -05:00
Masatoshi Kimura b27f3c82dc Bug 824247 - Part 2: Fix common source of warning span (dom/bindings). r=khuey 2013-01-03 00:55:55 +09:00
Boris Zbarsky 4bebfa7b67 Bug 824824. Add support for passing multiple touches as arguments to createTouchList. r=mbrubeck,peterv 2012-12-31 10:37:22 -08:00
Boris Zbarsky 6378ed05fd Bug 825025. MaybeWrapValue should work with all gcthings. r=peterv 2012-12-29 22:13:26 -08:00
Jeff Walden c4fadd1981 Bug 823283 - Remove all remaining uses of JSRESOLVE_QUALIFIED, and the few remaining tests (which were pretty much purely diagnostic). r=luke
--HG--
extra : rebase_source : 51e2ac7ccc76be84d12600baeb6d458c2927bea7
2012-09-15 11:19:55 -07:00
Boris Zbarsky a3b4bd9774 Bug 816421. Make Document.visibilityState a WebIDL enum. r=peterv
A lot of the changes here are just so I can actually build after including DocumentBinding.h in nsIDocument.h
2012-12-25 14:00:15 -08:00
Ms2ger 8dd150af35 Merge PGO-green changeset from inbound to m-c. 2012-12-22 12:06:37 +01:00
Ms2ger 1e109fdaab Bug 823088 - Add a static assertion that bindings with descriptor.nativeOwnership == 'nsisupports' inherit from nsISupports; r=bz 2012-12-22 09:18:11 +01:00
Ms2ger f11ed9361b Bug 793151 - Change the length property of a WebIDL method to the mimimum number of arguments, instead of the maximum; r=bz 2012-12-22 09:04:17 +01:00
Peter Van der Beken 893e85fa56 Fix for bug 820577 (Support reparenting for new DOM binding objects). r=bholley/bz.
--HG--
extra : rebase_source : 66dad56b8f543790ffa7e595ccd684c4673403df
2012-09-26 16:17:46 +02:00
Jeff Walden fd8f198826 Bug 822350 - Make generated bindings include mozilla/FloatingPoint.h directly if they use it. r=bz
--HG--
extra : rebase_source : 7271aea09f40dee8d418ddd17c8f43559262a0d2
2012-12-17 17:21:26 -05:00
William Chen a5b66f6cc6 Bug 820957 - Support object members in WebIDL dictionary. r=bz 2012-12-17 13:44:13 -08:00
William Chen c3b4bdb077 Bug 820544 - Prefix WebIDL dictionary native member names to avoid C++ keywords. r=bz 2012-12-17 13:44:04 -08:00
Peter Van der Beken 6f6a341ee2 Fix for bug 815149 (Add support for SOWs and XBL bindings in new DOM bindings). r=bz.
--HG--
extra : rebase_source : c24544fd3d1c99651e279e687a07a02c5b994323
2012-09-12 22:29:30 +02:00
Boris Zbarsky 0c1ffdfca7 Bug 821760. Properly handle compartments in WebIDL static operation bindings. r=peterv 2012-12-14 14:11:23 -05:00
Boris Zbarsky 916ce462a6 Bug 819904. Throw from WebIDL setters called with no arguments, per spec change. r=peterv 2012-12-14 14:10:49 -05:00
Boris Zbarsky a1a7cade04 Bug 816375. Switch NodeFilter to WebIDL bindings. r=peterv 2012-12-14 14:10:49 -05:00
Ed Morley fbf6fab8e8 Backout 67d84be0cc83 (bug 820544) for bustage 2012-12-14 16:58:51 +00:00
William Chen 45b4ea581a Bug 820544 - Prefix webidl dictionary native members names to avoid C++ keywords. r=bz 2012-12-11 16:05:46 -08:00
Boris Zbarsky aad442ab75 Bug 820862. JSJitInfo should say what sort of function it is. r=jandem 2012-12-13 17:08:43 -05:00
Nathan Froyd 548f77a633 Bug 821317 - reduce the size of DOMClass.mInterfaceChain to something reasonable; r=bz 2012-12-13 11:01:00 -05:00
Nathan Froyd a25af0c2e0 Bug 821324 - actually return a success value from replaceFileIfChanged; r=bz 2012-12-13 11:26:33 -05:00
Boris Zbarsky d4de9b2c67 Bug 815502. Implement support for variadic arguments in WebIDL. r=peterv 2012-12-11 17:50:56 -05:00
Peter Van der Beken ea0c0a9788 Fix for bug 818219 (Replace HTMLElement quickstubs with new binding methods). r=bz.
--HG--
rename : layout/reftests/backgrounds/background-referrer-ref.html => image/test/reftest/generic/accept-image-catchall-ref.html
rename : layout/reftests/backgrounds/background-referrer.html => image/test/reftest/generic/accept-image-catchall.html
rename : layout/reftests/backgrounds/background-referrer.sjs => image/test/reftest/generic/check-header.sjs
rename : layout/reftests/backgrounds/background-referrer-image.png => image/test/reftest/generic/green.png
rename : toolkit/components/places/tests/browser/browser_favicon_setAndFetchFaviconForPage.js => toolkit/components/places/tests/favicons/test_setAndFetchFaviconForPage.js
extra : rebase_source : 45715d6abe3155a6bcd1d21e5cc3f7b048180eb6
2012-11-26 15:19:02 +01:00
Boris Zbarsky f490c53f7d Bug 815803. Now that JSSLOT_PROXY_PRIVATE == 0, simplify binding code that had to deal with different slot indices on proxy and non-proxy objects. r=peterv 2012-12-06 15:21:19 -05:00
Boris Zbarsky 90caf3e264 Bug 816376. Create vanilla objects for the interface object of callback interfaces. r=peterv 2012-12-06 15:21:18 -05:00
Peter Van der Beken e484d3351f Fix for bug 818219 (Replace HTMLElement quickstubs with new binding methods) - Add a constructor to callbacks to allow conversion between callback types. r=bz.
--HG--
extra : rebase_source : 6c55316f374ef1654f0b77b782500fc52a78881a
2012-12-06 11:41:14 +01:00
Peter Van der Beken 5d8ad95b2d Fix for bug 818219 (Replace HTMLElement quickstubs with new binding methods) - Remove hardcoded interface list in workers. r=bz.
--HG--
extra : rebase_source : 87b106b79f8e5912f10a603e407da1c93be4ed5d
2012-12-06 11:41:14 +01:00
Peter Van der Beken aeb1d53352 Fix for bug 818219 (Replace HTMLElement quickstubs with new binding methods) - Support castable types in unions. r=bz.
--HG--
extra : rebase_source : 633d2b350be0cf11ac0bb010a0ad427b10863ef4
2012-12-06 11:41:14 +01:00
Boris Zbarsky 8a1132df5e Bug 816160. Don't require 'castable':False for prefable bindings with hasXPConnectImpls, and don't require hasXPConnectImpls bindings to be prefable. r=peterv 2012-12-03 11:46:03 -05:00
Ms2ger 910e6a92cd Merge m-c to m-i. 2012-12-02 11:32:57 +01:00
Ms2ger 90dc2a2c97 Bug 802163 - Fix pyflakes warnings in bindings python; r=peterv 2012-12-02 09:59:08 +01:00
Masatoshi Kimura ede8ebce3e Bug 816487 - Allow all ASCII characters for WebIDL enum. r=bz 2012-12-01 21:23:26 -05:00
Benoit Jacob b7633de200 Bug 816187 - make WebIDL accept nullable dictionary retvals; let getContextAttributes's retval be nullable - r=bz 2012-11-30 18:30:05 -05:00
Boris Zbarsky 5eab6d42fb Bug 812783. Add support for flagging callbacks as worker-only. r=khuey 2012-11-29 11:14:40 -05:00
Eric Faust c4df170bbd Bug 747289 - Part 1/2 - Update Paris bindings to expose DOM constants. r=bz 2012-11-28 16:28:36 -05:00
Boris Zbarsky 864866eb21 Fix up indentation of the generated code for event handler return values. No bug. 2012-11-28 02:33:50 -05:00
Boris Zbarsky 127a0152d5 Bug 767933 part 4. Make 'float' and 'double' types throw on non-finite values. r=khuey,ehsan,bas 2012-11-27 15:32:05 -05:00
Boris Zbarsky 4edad4b6bf 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 e248bf75cd 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 a8de827765 Bug 810641. Implement support for variadic callback arguments in WebIDL. r=peterv 2012-11-26 21:14:45 -05:00
Boris Zbarsky 9cfc646682 Bug 813623. Fix Xrays to actually work correctly for static methods and properties. r=peterv 2012-11-26 21:14:45 -05:00
Peter Van der Beken dd5db5a970 Fix for bug 814022 (Make instanceof for new DOM bindings work across scopes). r=bz. 2012-11-19 11:59:13 +01:00
Daniel Holbert 10928a1716 Bug 811057: Make DeferredFinalizeFunction take a uint32 instead of an int32 as its "slice" parameter. r=peterv 2012-11-21 10:20:32 -08:00
Bobby Holley 7c36e30523 Bug 800915 - Remove the cx parameter and simplify various APIs. r=sfink,bz
If callers want to throw, it's now their responsibility.
2012-11-14 09:56:26 -08:00
Boris Zbarsky 2f3202994d Bug 810520. Correctly handle static methods and attributes in the NativeProperties structs that Xrays use. r=peterv
Note that at this point we actaully do Xrays for all of our various
property types, except in worker code.  The real substantive change
here is the change to what usedForXrays returns.  The rest is minor
cleanup.
2012-11-13 00:26:55 -08:00
Ryan VanderMeulen 5f0fd7aeda Backed out de9fff3a523, c567df2244f5, 8e3d976d5dc5, and c7499faaec23 (bug 800915) for bustage.
--HG--
extra : rebase_source : c823063bfa31d59d32b3402bd4b458b84b703cd5
2012-11-12 21:43:39 -05:00
Bobby Holley 2e39ac86be Bug 800915 - Remove the cx parameter and simplify various APIs. r=sfink,bz
If callers want to throw, it's now their responsibility.
2012-11-12 17:35:32 -08:00
Andrew McCreight 1826aafc95 Bug 792090 - Ignore unused result in CGProxy...PresenceChecker. r=bz 2012-11-12 14:21:46 -08:00
Boris Zbarsky dd34c2210e Bug 809260. Example codegen should include ErrorResult.h in the header. r=mccr8 2012-11-09 08:24:32 -08:00
Boris Zbarsky b1b218160a Bug 808698. Set up example codegen for proxy bindings to work correctly. r=jst 2012-11-09 08:24:32 -08:00
Boris Zbarsky 8d6ac8d253 Bug 796983 followup to address peterv's comments. r=presumably-peterv 2012-11-09 08:24:32 -08:00
Boris Zbarsky 7ef67e09cd Bug 807224 followup to address review comments. r=presumably-peterv 2012-11-09 08:24:31 -08:00
Boris Zbarsky a6d1aea15e Bug 807226 part 8. Remove the exceptions for EventHandler in WebIDL codegen. r=smaug 2012-11-09 08:00:25 -08:00
Boris Zbarsky 529460c9c6 Bug 807224. Implement native-to-JS conversion for WebIDL unions. r=peterv 2012-11-09 07:59:33 -08:00
Boris Zbarsky 969b8c6b33 Bug 779048 followup. Add a comment that explains why the assert about exceptionCode being default when invalidEnumValueFatal is false is an ok thing to assert. r=peterv, DONTBUILD 2012-11-09 07:58:33 -08:00
Boris Zbarsky d8fee95886 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 c2e7420950 Bug 779048 part 9. Give JS-to-native conversion an object pointer to work with so it can convert callback objects. r=peterv 2012-11-09 07:43:58 -08:00
Boris Zbarsky 272331140d 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 a4a4a10299 Bug 779048 part 7. Make native-to-JS conversion support doing something other than "return false" on JS exceptions. r=peterv 2012-11-09 07:43:58 -08:00
Boris Zbarsky 1649f6c386 Bug 779048 part 6. Handling of return values for callbacks. r=peterv 2012-11-09 07:43:58 -08:00
Boris Zbarsky 4779ff59ef Bug 779048 part 5. Make js-to-native conversion support doing something other than "return false" on JS exceptions. r=peterv 2012-11-09 07:43:58 -08:00
Boris Zbarsky 7752f218bb Bug 779048 part 4. Implement basic codegen for callbacks, without handling of arguments or return values yet. r=peterv 2012-11-09 07:43:57 -08:00
Boris Zbarsky a04350646a Bug 779048 part 3. Refactor the code we use for generating example declarations a bit so we can reuse it for callbacks. r=peterv 2012-11-09 07:43:57 -08:00
Boris Zbarsky c238a8e902 Bug 779048 part 2. Rearrange how we do our includes and forward-declares to actually work with callbacks and dictionaries sanely. r=peterv 2012-11-09 07:43:57 -08:00
Boris Zbarsky f16bb7b8a1 Bug 808991. Named getters should get called for indexed properties on objects that don't support indexed properties. r=peterv 2012-11-08 23:48:42 -08:00
Robert O'Callahan ab861f5738 Bug 792675. Part 1: Make the URL interface use WebIDL. r=bz
--HG--
extra : rebase_source : dbb7a3158b71446930400ad523a2896b6306de40
2012-09-25 15:24:43 +12:00
Robert O'Callahan 9a6a3bf063 Bug 792675. Part 0.6: Handle empty dictionary types in WebIDL bindings. r=bz
--HG--
extra : rebase_source : a38a2405d32b76bdef9095398c759346cfc28282
2012-11-07 17:56:55 -05:00
Robert O'Callahan fbac0e8161 Bug 792765. Part 0.5: Fix WebIDL codegen to avoid emitting QueryInterface when there is no interface prototype object. r=bz
--HG--
extra : rebase_source : 7e1df198548d8a4f1b2f2a045f637412a5fe8450
2012-09-25 15:24:43 +12:00
Boris Zbarsky 84f0ae1e42 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 f7a97d85d7 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 f74ea18279 Bug 804635. Make codegen deal with Document not being an external interface but not available in workers even though XMLHttpRequest (which can return or accept Document) is available there. r=peterv 2012-11-05 11:58:04 -05:00
Boris Zbarsky 2f46bbb1cd Bug 803519. Require indexed/named getters if we have creators/deleters/setters. r=peterv 2012-11-05 11:58:03 -05:00
Boris Zbarsky 750dec5380 Bug 772869. Make getOwnPropertyNames work correctly for WebIDL proxy bindings. r=peterv,ms2ger 2012-11-05 11:58:03 -05:00
Boris Zbarsky 8038e06ced Bug 803306. Calling a named creator should not define an expando. r=peterv 2012-11-05 11:58:03 -05:00
Boris Zbarsky b93a1ba901 Bug 788225. Implement WebIDL deleters. r=peterv 2012-11-05 11:58:02 -05:00
Boris Zbarsky a5b199957d Bug 749866 part 4. Generate slightly better code when we know we're null or undefined. r=khuey 2012-11-05 11:58:02 -05:00
Boris Zbarsky 5efe42ad3d Bug 749866 part 3. Rejigger overload resolution a bit more so we can tell argument conversion that we know the argument is null or undefined. r=khuey 2012-11-05 11:58:02 -05:00
Boris Zbarsky e3d33d83c4 Bug 749866 part 2. Simplify the code generated by overload resolution a bit when we have sequences or dates at our distinguishing index. r=khuey 2012-11-05 11:58:02 -05:00
Boris Zbarsky 677b9b7b1a Bug 749866 part 1. Add support for failureCode for sequence unwrapping. r=khuey 2012-11-05 11:58:02 -05:00
William Chen 4b7833d1f9 Bug 807034 - Fix WebIDL codegen for static readonly attributes. r=bz 2012-10-30 11:38:58 -07:00
Vendelin Ruzicka 661a8ea230 Bug 806184 - Can't use 'delete' method in WebIDL. r=bz 2012-10-31 13:36:20 +01:00
Peter Van der Beken 80ecd8538f 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 669602b5e0 Fix for bug 778152 (Content window does not have an XMLHttpRequest property when accessed via an Xray wrapper in a subscript). r=bz.
Switch from using the interface objects from the Xrays compartment to wrapping
interface objects and interface prototype objects in Xrays. Make dom binding
Xrays deal with both instance objects and interface and interface prototype
objects.
2012-10-09 20:50:27 +02:00
Peter Van der Beken 2412de3249 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
Peter Van der Beken 2d58c35ce6 Fix for bug 778152 (Content window does not have an XMLHttpRequest property when accessed via an Xray wrapper in a subscript) - rename ProtoOrIfaceArray. r=bz.
--HG--
extra : rebase_source : c426270fc1ebee818629bd94dfc8d11af59bfc00
2012-10-09 20:50:27 +02:00
Bobby Holley 2afd934910 Bug 797821 - Address Ms2ger's review comments. r=me 2012-10-25 17:01:09 +02:00
Bobby Holley 0cdf333aaa Bug 797821 - Replace usage of XPCWrappedNativeScope::FindInJSObjectScope(ccx, obj) with GetObjectScope(obj). r=mrbkap 2012-10-25 17:01:08 +02:00
Boris Zbarsky b129ae95fc 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 fbeee7dfd0 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 a1676d115c Bug 798187 even more followup. Disable broken WebGL test, and update to Peter's review comments. r=peterv 2012-10-22 15:14:30 -04:00
Boris Zbarsky 45679a6c81 Bug 798187 followup. Actually return our newly-created object from dictionary ToObject. r=peterv 2012-10-22 14:35:08 -04:00
Boris Zbarsky 2a8465582e Bug 798187 part 1. Add support for dictionary return values. r=peterv 2012-10-22 13:08:52 -04:00
Boris Zbarsky e435c28e4e Bug 798151. Support stringifier operations (but not yet attributes!) on non-proxy bindings, and fix Object.prototype.toString for proxy bindings. r=peterv 2012-10-22 13:08:52 -04:00
Boris Zbarsky 800cb6581d Bug 801712 part 3. Make object return values faster by only doing the JS_WrapValue if needed. r=peterv 2012-10-22 13:08:52 -04:00
Boris Zbarsky 6fc1e2797b 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 dd82a0d964 Bug 796983 part 2. Add a way to generate an example class declaration for a given WebIDL interface. r=jst
We mark constructors as static in the parser because they are.  This
allows us to just use the isStatic() for the IDLMember to mark our
declarations static.

To generate an example interface implementation, just "make
interfacename-example" in $objdir/dom/bindings.  This will place files
called interfacename-example.h and interfacename-example.cpp in that
directory.  For example, "make XMLHttpRequest-example" will get you
$objdir/dom/bindings/XMLHttpRequest-example.h and
$objdir/dom/bindings/XMLHttpRequest-example.cpp.

Attribute getters currently default to const methods, while setters
and operations default to non-const methods.

--HG--
rename : dom/bindings/BindingGen.py => dom/bindings/ExampleGen.py
2012-10-17 17:01:55 -04:00
Boris Zbarsky 0d788a841d Bug 796983 part 1. Switch nullable primitives to using a const Nullable. r=jst 2012-10-17 17:01:55 -04:00
Ehsan Akhgari 75ecc91244 Merge mozilla-central into mozilla-inbound 2012-10-16 20:43:47 -04:00
Olli Pettay dd922cba69 Bug 797806 - Helper method to handle stringified JSON in C++, part2, r=khuey 2012-10-16 18:37:44 +03:00
Olli Pettay 39ef9c4b1c Bug 797806 - Helper method to handle stringified JSON in C++, r=khuey 2012-10-16 17:52:10 +03:00
Peter Van der Beken 7964385bcb Fix for bug 798264 (Split property tables). r=bz.
--HG--
extra : rebase_source : 71456ae48d3d3e6014e8095837f7942cfe733a37
2012-10-09 20:50:05 +02:00
Peter Van der Beken b981fdd138 Fix for bug 799465 (Add complete support for non-nsISupports objects in new DOM bindings) - fix CC traversal and wrapper preservation. r=bz.
--HG--
rename : dom/tests/mochitest/chrome/file_bug800817.xul => dom/tests/mochitest/chrome/file_bug799299.xul
rename : dom/tests/mochitest/chrome/test_bug800817.xul => dom/tests/mochitest/chrome/test_bug799299.xul
extra : rebase_source : bed68ffa15fe5933994c33fbd94ad2b597b5b1b9
2012-09-26 20:12:15 +02:00
Trevor Saunders 85dfb659cf Bug 742191 - Part d: Throw TypeErrors for Paris binding exceptions; r=bz 2012-10-16 14:06:10 -04:00
Boris Zbarsky e743742df1 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 7f28e933c6 Bug 792137. [TreatNonCallableAsNull] lives on the callback type now. r=peterv 2012-10-10 15:53:02 -04:00
Bobby Holley 3dee0ce8e2 Bug 761695 - Implement expando traps for ProxyXrayTraits DOMXrayTraits. r=peterv
For new DOM proxies, we could probably use the Xray expando machinery for the
regular expando object as well, and free up one of the reserved slots. That's
more than I want to bite off for the moment, though.

I also decided not to block on bug 760095 and just kick the problem of globals
with new binding down the road a little bit.
2012-10-05 18:59:23 +02:00
Peter Van der Beken 6cf9f896da Fix for bug 791774 (Hook DOM lists up to the new DOM bindings). r=bz.
--HG--
extra : rebase_source : 873020edd9cd3defc932d77bd26b5d65ebf263cb
2012-06-13 17:18:30 +02:00
Peter Van der Beken 2a69cd7f71 Fix for bug 794959 (Use the right cast in GetAs* functions of union types in new DOM bindings). r=bz.
--HG--
extra : rebase_source : 051181aa319edd386679119846fd61c574957b54
2012-09-26 16:17:46 +02:00
Peter Van der Beken 96b3ddd3e3 Fix for bug 791347 (Support non-nsISupports refcounted natives and non-refcounted natives in new DOM bindings). r=bz/smaug.
--HG--
extra : rebase_source : cd6d98461d7fa3a07fa1361b4d840448122b6655
2012-09-19 15:02:37 +02:00
Terrence Cole 3eda1202a1 Bug 791322 - Move Rooted to js:: namespace; r=billm
These should not be part of the public API.

--HG--
extra : rebase_source : 00a69ee54f06e3f557cd9ec2f3b059df10aa32df
2012-09-24 18:08:22 -07:00
Bill McCloskey c53e57f4b2 Bug 787856 - Convert JS_GetPrototype to support lazy protos (r=bhackett) 2012-09-03 16:42:17 -07:00
Bill McCloskey 1f195f679b Bug 787856 - Convert js::GetObjectProto to support lazy protos (r=bhackett) 2012-09-03 16:42:10 -07:00
Kyle Huey 5e093ffe72 Bug 793025: Convert FileReaderSync to WebIDL bindings. r=bz 2012-09-20 19:47:47 -07:00
Boris Zbarsky 90c9f1e64d Bug 790975. Support sequences as dictionary members in WebIDL. r=peterv 2012-09-18 23:24:27 -04:00
Peter Van der Beken 925c413cca Fix for bug 791345 (Support non-wrappercached objects in proxy-based bindings). r=bz.
--HG--
extra : rebase_source : 884073cf7dccc2e9d1fa1769b00d5ee581d22573
2012-09-17 11:44:59 +02:00
Peter Van der Beken f3ef69a188 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 0334fe32b0 Bug 790273. Add support for [LenientThis] in WebIDL. r=peterv 2012-09-12 17:24:58 +01:00
Boris Zbarsky b97e3a8dcd Bug 787554. Don't prefix WebIDL getters names with a Get if they look like simple member access on the C++ side. r=peterv 2012-09-11 20:08:24 +01:00
Boris Zbarsky 3d77a4f3b0 Bug 789636. Make getInterface on XHR and QueryInterface on all WebIDL objects be [ChromeOnly]. r=peterv 2012-09-11 20:08:24 +01:00
Boris Zbarsky 6189923bf7 Bug 790123. Make sure to not lose a single trailing newline in stripTrailingWhitespace. r=mats 2012-09-11 18:37:22 +01:00
Terrence Cole aed2094b1c Bug 787580 - Root all jsval at the API surface; r=sfink sr=dmandelin
--HG--
rename : layout/reftests/text-decoration/underline-select-2-ref.html => layout/reftests/text-decoration/underline-button-1-ref.html
rename : layout/reftests/text-decoration/underline-select-2.html => layout/reftests/text-decoration/underline-button-1.html
extra : rebase_source : 008f2bab76a005947a4c0bd10b6d9ea8531ea6d0
2012-09-04 16:40:12 -07:00
Ed Morley 52ba5e1f2e Merge last PGO-green changeset of mozilla-inbound to mozilla-central 2012-09-06 10:19:16 +01:00
Ms2ger 797a567f66 Bug 763367 - Add support for [EnforceRange] and [Clamp]; r=bz 2012-09-06 09:25:03 +02:00
Ms2ger 07775477a5 Bug 768793 - Remove DOMJSClass::mGetWrapperCacheVTableOffset; r=khuey 2012-09-06 09:14:49 +02:00
Ms2ger 1d0f7da440 Bug 788211 - Fix a few bugs in CGDOMJSProxyHandler_defineProperty; r=bz 2012-09-06 09:14:48 +02:00
Nathan Froyd 05a2ad176a Bug 774757 - don't generate static initializers with new bindings; r=bz 2012-08-29 17:16:23 -04:00
Boris Zbarsky 00e03faa6d Bug 778044. Add a way to pref off Paris binding constructor objects. r=peterv 2012-09-05 13:37:28 -04:00
Boris Zbarsky 65e4105d26 Bug 788149. Don't use jsids in worker code in bindings, because those are runtime-specific and workers can run on multiple runtimes. r=peterv 2012-09-05 13:37:27 -04:00
Boris Zbarsky 7a3efb15c4 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 bca38b3571 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
Eric Faust c14c8ad7e4 Bug 781387 - Codegen infallibility data for Paris bindings methods. (r=peterv) 2012-09-04 14:46:38 -04:00
Boris Zbarsky 27ee186b67 Bug 786105. Setting inline style properties to null should remove them, just like setting them to empty string does. r=peterv 2012-08-31 20:59:46 -04:00
Boris Zbarsky c6e1a39316 Bug 774970. Add the ability to generate code for dealing with an XPConnect 'this' object in some cases. r=peterv 2012-08-28 13:10:09 -04:00
Boris Zbarsky 7919784ad2 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 b77fe91531 Fix for bug 742195 (Implement the extended attributes for null and undefined handling on strings in Paris bindings). r=bz. 2012-07-12 15:55:30 +02:00
Peter Van der Beken cb66e04e69 Fix for bug 785188 (Make Xrays work with newest DOM list bindings). r=mrbkap. 2012-06-06 21:52:26 +02:00
Luke Wagner ad90af9ca5 Bug 625199 - s/JSAutoEnterCompartment/JSAutoCompartment/ and make it infallible (r=bholley)
--HG--
extra : rebase_source : 12acf2288285f5caefd7fecea8207de3a47eab5b
2012-08-21 18:42:53 -07:00
Peter Van der Beken ee9eae3141 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
Eric Faust 8c6597d1c4 Bug 773546 - Part 2: Centralize Paris binding accessor and method top halves. (r=peterv) 2012-08-07 22:26:20 -07:00
Eric Faust c0dee00d6e Bug 775289 - Remove generateNativeAccessors branching from Paris binding codegen. (r=peterv) 2012-08-07 22:26:19 -07:00
Eric Faust 429e3ddab2 Bug 773548 - Part 2: Pass the generated JSJitInfos into JSFunctionSpec. (r=peterv) 2012-08-07 22:26:19 -07:00
Eric Faust d50fdfb27d Bug 773548 - Part 1: Modify Paris bindings to specialize methods. (r=peterv) 2012-08-07 22:26:19 -07:00
Boris Zbarsky 10c9046c35 Bug 747287 - Part 3: Add callback interface to allow JIT to interrogate DOM. (r=peterv) 2012-08-07 22:26:18 -07:00
Eric Faust 54f8c4dcea Bug 747287 - Part 2: Generate infalliblity data for further JIT optimization. (r=peterv) 2012-08-07 22:26:18 -07:00
Eric Faust fe56a76a4c Bug 747287 - Part 1: Generate JSJitInfos and specialized accessors for Paris bindings. (r=peterv) 2012-08-07 22:26:18 -07:00
Ms2ger 9cf3772f54 Bug 776224 - CheckPref should always initialize its outparam; r=peterv 2012-08-04 09:44:00 +02:00
Ms2ger 71696aa0f2 Bug 774705 - Part b: Throw a TypeError when trying to construct an interface without a constructor; r=bz 2012-08-04 09:44:00 +02:00
Ed Morley f4181983a1 Revert inbound to 3d5d1daa2505 to stop OS X M5 failures (backout not clean/could have been a bad merge) on a CLOSED TREE 2012-08-04 18:05:15 +01:00
Ms2ger 917dc99198 Bug 776224 - CheckPref should always initialize its outparam; r=peterv 2012-08-04 09:44:00 +02:00
Ms2ger 86de6cd109 Bug 774705 - Part b: Throw a TypeError when trying to construct an interface without a constructor; r=bz 2012-08-04 09:44:00 +02:00
William Chen 103cc37839 Bug 779573 - Fix generated code for empty string as default dictionary member in WebIDL. r=khuey 2012-08-01 14:34:36 -04:00
Eric Faust b0323e13a7 Bug 752223 - Implement JS_NumberValue(), replacing JS_NewNumberValue(). (r=luke) 2012-08-01 17:59:47 -07:00
Nicholas Cameron f642f5c9cd Bug 776685; throw TypeError exceptions from Azure canvas bindings. r=bz 2012-07-26 14:31:26 +12:00
Eric Faust e8f3c9fa98 Bug 749535 - Part 3: Remove JS_Is*Array() from Paris Binding argument unwrapping. (r=bz) 2012-07-31 20:45:22 -07:00
Eric Faust 28008c2879 Backout changesets 6e78bc0145ee, 97a1463cde9c, and 9097d0b3acc6 (Bug 749535) for
erroneous bug number (r=me).
2012-07-31 20:24:32 -07:00
Eric Faust 6b9e8ebd2b Bug 749535 - Part 3: Remove JS_Is*Array() from Paris Binding argument unwrapping. (r=bz) 2012-07-31 20:07:55 -07:00
Boris Zbarsky 423774779f Bug 771636 part 3. Implement default values for WebIDL strings. r=peterv 2012-07-31 00:22:23 -04:00
Boris Zbarsky 1b273923c5 Bug 771636 part 2. Implement default values for WebIDL enums. r=peterv 2012-07-31 00:22:23 -04:00
Boris Zbarsky d988f0953a 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
Brian Hackett aa69831ee5 Use HandleValue and MutableHandleValue in API hooks where possible, bug 776579. r=billm, sr=dmandelin 2012-07-30 05:19:09 -06:00
Boris Zbarsky ac47d48b17 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 4a5cf6f5f8 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 c0bcbf7068 Bug 775845. Fail codegen for variadic arguments until we add support for them. r=peterv 2012-07-27 00:09:09 -04:00
Boris Zbarsky cf68660a3b Bug 775852. Actually follow the WebIDL spec for creating JS representations of sequences. r=khuey 2012-07-27 00:09:09 -04:00
Boris Zbarsky 8024ef90c6 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 061fe4e429 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 2032b1ade1 Bug 764456 part 3. Clean up meaning of 'castable' and use thereof a bit. r=peterv 2012-07-19 14:48:58 -04:00
Peter Van der Beken a02b1d7ffe Fix for bug 774775 (XRayWrapper does not handle new bindings constants) - refactor code. r=bz.
--HG--
extra : rebase_source : 317d5942dde4427384320cb334f794f7fef37a2e
2012-07-18 13:52:07 +02:00
Peter Van der Beken a64f14f7ef Fix for bug 774775 (XRayWrapper does not handle new bindings constants). r=bz.
--HG--
extra : rebase_source : fef985d0417c394ae5997b4450c7076005bdf870
2012-07-17 22:54:25 +02:00
Ed Morley fcaa2b9642 Merge last PGO-green changeset of mozilla-inbound to mozilla-central 2012-07-18 13:32:24 +01:00
Ms2ger 23b178ab1f Bug 765464 - Part c: Throw some TypeErrors; r=khuey 2012-07-18 12:36:08 +02:00
Boris Zbarsky ca83439a51 Bug 773519. Speed up string argument conversion in DOM bindings by faking an XPCOM string. r=peterv 2012-07-17 12:18:53 -04:00
Boris Zbarsky 3951284caf 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
Ed Morley c9624f0f7a Backout 9deb8edb5070 (bug 773519), ea5a243a60f1 & 0cad1e553bea (bug 768537) for compilation failures 2012-07-17 17:48:11 +01:00
Boris Zbarsky 98cd60772a Bug 773519. Speed up string argument conversion in DOM bindings by faking an XPCOM string. r=peterv 2012-07-17 12:18:53 -04:00
Boris Zbarsky 25b0c7ad78 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
Peter Van der Beken 8d3d9a8f02 Fix for bug 762280 (Use nsContentUtils::PreserveWrapper for preserving expandos). r=bz.
--HG--
extra : rebase_source : cd426b3c3b987d8e39196e1dd1e468bc87e87f53
2012-07-16 16:52:53 +02:00
Peter Van der Beken 356f838036 Fix for bug 756258 (Support union types in new DOM bindings). r=bz.
--HG--
extra : rebase_source : 5352801a4eb5085f73a5b6e78aa238c5c9d44179
2012-05-18 23:25:47 +02:00
Boris Zbarsky 5b15dd6b04 Bug 742152. Move distinguishing index determination and verification of type-identity of preceding arguments out of codegen and into the WebIDL parser. r=jlebar 2012-06-22 16:18:50 -04:00
Boris Zbarsky 73dde405dc Bug 764456 part 1. Flag consequential interfaces in the WebIDL data model. r=khuey 2012-06-22 16:18:50 -04:00
Boris Zbarsky 470005a7fe Bug 764698. Fix isDistinguishableFrom for dictionaries to work right. r=peterv 2012-06-21 12:29:11 -04:00
Ms2ger e95346bfd1 Bug 766615 - Fix nullable WebIDL dictionaries; r=bz 2012-06-21 09:21:53 +02:00
Ms2ger 1f50252f6b Bug 764539 - Stringify the prototype class in Paris bindings to "InterfacePrototype" instead of "Interface Prototype"; r=bz 2012-06-21 09:20:28 +02:00
Ms2ger 8448d8d0e6 Bug 765704 - Don't throw when setting XHR.responseType to an invalid value; r=bz 2012-06-21 09:11:07 +02:00
Boris Zbarsky 03bc840cdd Bug 763911. Add support for interface members of dictionaries. r=khuey 2012-06-19 12:09:37 -04:00
Boris Zbarsky 04c02edf69 Bug 764420. Fix ArrayBufferView unwrapping to allow DataViews. r=khuey 2012-06-19 12:08:39 -04:00
Boris Zbarsky 7a4efcd545 Bug 746570. Get rid of bogus uses of rstrip() that are leaving random trailing spaces in the middle of our string. r=peterv 2012-06-15 16:25:51 -04:00
Boris Zbarsky 24593505c7 Bug 764104. Avoid collisions with C++ reserved words by using initial-caps for WebIDL enum values. r=peterv 2012-06-15 16:25:51 -04:00
Boris Zbarsky ed0d831772 Bug 750297 part 2. Switch WebGLUniformLocation to Paris bindings. r=peterv, bjacob 2012-06-15 16:25:51 -04:00
Boris Zbarsky 41725e7de3 Bug 750297 part 1. Add support for objects that do not have a wrapper cache in WebIDL bindings. r=peterv 2012-06-15 16:25:50 -04:00
Boris Zbarsky cf8f8a0d31 Bug 742153 part 4. Allow strings inside sequences and dictionaries. r=peterv 2012-06-12 10:22:05 -04:00
Boris Zbarsky 6c6503abf1 Bug 742153 part 3. Implement codegen for dictionary arguments. r=peterv
Another implementation option would be to put all the dictionaries in a single
file and have a static global set of ids which works across all dictionaries
and is initialized once at startup or so.  That would also handle cross-file
dictionary inheritance better.

One problem that remains is the fake descriptor business.  At the moment this
does not allow interface types inside dictionaries.  We could probably work
around this by either refactoring code to make it possible to get the declType
independently of the actual conversion template (whether because it lives in a
separate function or because the conversion template generator knows to just
return an empty string when the fake descriptor provirder is passed) or by
figuring out a way to pass an actual descriptor provider to dictionary codegen.
2012-06-12 10:22:05 -04:00
Boris Zbarsky d28264d74e Bug 742153 part 2. Rename isSequenceMember to isMember, since it will apply to both sequences and dictionaries. r=peterv 2012-06-12 10:22:05 -04:00
Kyle Huey c8d931afa8 Bug 763573: Don't export PrimitiveConversions.h. r=bz 2012-06-11 13:04:34 -07:00