Commit Graph

336 Commits

Author SHA1 Message Date
Boris Zbarsky
ac9f0ba11d Bug 843840 part 2. Add a way to ask DOM proxies for only their enumerable property names, and use that in the enumerate hook. r=peterv 2014-04-15 22:58:44 -04:00
Boris Zbarsky
938ba48ab7 Bug 843840 part 1. Add a way to ask DOM proxies with a named getter whether a property is enumerable or not and use that information in getOwnPropertyDescriptor. r=peterv 2014-04-15 22:58:44 -04:00
Boris Zbarsky
35fca5eeeb Bug 991742 part 8. Remove the "aScope" argument of WebIDL/nsWrapperCache WrapObject() methods. r=bholley
This patch was mostly generated with the following command:

find . -name "*.h" -o -name "*.cpp" | xargs sed -e '/WrapObject(JSContext/ {; N; s/\(WrapObject(JSContext *\* *a\{0,1\}[Cc]x\),\n\{0,1\} *JS::Handle<JSObject\*> a\{0,1\}[sS]cope/\1/ ; }' -i ""

and then reverting the changes that made to
dom/bindings/BindingUtils.h, since those WrapObject methods are not
the ones we're trying to change here, plus a bunch of manual fixups
for cases that this command did not catch (including all the callsites
of WrapObject()).
2014-04-08 18:27:18 -04:00
Boris Zbarsky
e10e715648 Bug 985536. Go back to allowing optional any with no default value in WebIDL, but treat it as having a default value of undefined. r=khuey 2014-04-03 23:32:11 -04:00
Mike Hommey
d8715357c7 Bug 989522 - Remove LIBXUL_LIBRARY from the moz.build sandbox. r=mshal 2014-04-02 11:52:04 +09:00
Neil Rashbrook
041b6d4b17 Bug 514280 Consistently declare and define IID accessors r=bsmedberg 2014-03-28 08:45:02 +00:00
Boris Zbarsky
7b6eb470fb Bug 987110. Disallow dictionary members that would shadow Object.prototype properties. r=bholley 2014-03-25 22:48:46 -04:00
Boris Zbarsky
2f0c359fd1 Bug 983228. Add a sequence tracer for sequences of unions. r=baku 2014-03-14 14:51:22 -04:00
Boris Zbarsky
6cd11c42fa Bug 983264. Include callback headers in UnionTypes.h when a callback is used in a union. r=mccr8 2014-03-14 14:51:06 -04:00
Vaibhav Agarwal
9a59a5c96d Bug 971132 - B2G mochitests should use the new manifest format; r=jmaher 2014-03-06 13:42:43 -05:00
Boris Zbarsky
94e63969a7 Bug 874787. Add support for legacycaller on proxy bindings. r=efaust,peterv 2014-03-05 22:48:03 -05:00
Boris Zbarsky
2166b04394 Bug 970764. Remove support for non-optional "any" arguments values, since "any" needs to be able to include undefined anyway. Have "any" arguments and dictionary entries default to undefined unless the IDL explicitly says "= null". r=khuey 2014-02-19 10:13:38 -05:00
Ehsan Akhgari
c79e8f4c6e Bug 973405 - Move some misc LOCAL_INCLUDES to moz.build; r=glandium 2014-02-18 08:49:12 -05:00
Bobby Holley
263626e418 Bug 968335 - Tests. r=bz 2014-02-14 22:36:44 -08:00
Bobby Holley
82bb2b3581 Bug 923904 - Tests. r=mccr8
We land these before actually landing bug 923904, because we want to build the
tests for bug 968335 on top of the same infrastructure.
2014-02-14 22:36:43 -08:00
Phil Ringnalda
d66d0a8ba2 Back out 4fc776ee6852:6a0ebe4ddd01 (bug 968335) and e7d697004921 (bug 923904) for b2g emulator build bustage
CLOSED TREE
2014-02-14 18:35:30 -08:00
Bobby Holley
11ba09a104 Bug 968335 - Tests. r=bz 2014-02-14 16:13:38 -08:00
Bobby Holley
0c61d3f804 Bug 923904 - Tests. r=mccr8
We land these before actually landing bug 923904, because we want to build the
tests for bug 968335 on top of the same infrastructure.
2014-02-14 16:13:37 -08:00
Boris Zbarsky
e698cf1909 Bug 965927. [StoreInSlot] and [Cached] getters should use the reflector as the scope obj when wrapping the return value. r=peterv 2014-02-06 21:08:29 -05:00
Boris Zbarsky
e7b1ebd5b3 Bug 958667 part 5. Hook up AvailableIn for interface members. r=peterv 2014-02-05 13:38:17 -05:00
Boris Zbarsky
d3c7b3b9dd Bug 958667 part 4. Hook up an AvailableIn extended attribute for interfaces. r=peterv 2014-02-05 13:38:17 -05:00
Boris Zbarsky
4d16883304 Bug 963388. Add support for nullable dictionary return values in callbacks and js-implemented bindings. r=peterv 2014-02-05 13:38:16 -05:00
Boris Zbarsky
da001d4b79 Bug 963321 part 2. Add codegen support for [Cached] dictionary attributes. r=khuey 2014-02-05 13:38:16 -05:00
Boris Zbarsky
264a2cc7b2 Bug 966665. Don't DCE DOM method calls and getters that can throw exceptions. r=jandem 2014-02-03 11:04:06 -05:00
Boris Zbarsky
7ad0d371c9 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
661130813a 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
Boris Zbarsky
2d815f3083 Bug 936056. Be consistent about the thisobj we pass to getters. r=jorendorff 2013-12-02 19:08:07 -05:00
Boris Zbarsky
83e066b926 Bug 937461. Make cloneNode/importNode "deep" arg default to false, since the spec changed on us. r=sicking 2013-12-20 14:28:17 -05:00
Boris Zbarsky
0daf8f86ed 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
3b13ccd431 Bug 949501. Make nullable unions that are isMember stop claiming to have a holder. r=dzbarsky 2013-12-18 11:20:43 -05:00
Boris Zbarsky
45faf1e000 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
9ac1e9476a 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
f59e02d893 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
dd8cca5c17 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
569c7918e8 Bug 950370 - Capture WebIDL example interfaces in moz.build; r=glandium
Previously, the set of WebIDL example interfaces to build was hardcoded
in the mozwebidlcodegen Python package. Unfortunately, the example
interfaces in that set were dependent on test-only bindings files,
resulting in build failures when tests were disabled (because those
test-only bindings were defined in a test directory).

In this patch, we now declare example interfaces in moz.build files
so the set of example interfaces lives next to the set of defined
bindings files. The example interfaces are defined in a test moz.build
file - in the same file declaring the bindings files that contain the
interfaces - so the example interfaces only get picked up if the
corresponding bindings are defined.

We could probably switch WebIDL moz.build variables to use lists with
flags. That would be good followup fodder. For now, let's fix the build.

--HG--
extra : rebase_source : 00070a6d560625bc84ab9b10d6848ea037f8f5ed
extra : amend_source : 0890ecef444ba58533fcfaa333773d78deafd7f3
2013-12-15 11:43:47 -08:00
Gregory Szorc
57e14ad346 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
0397ee7f4f 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
b291d17548 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
bc7799238c 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
83ab298b53 Bug 942631 part 4. Allow WebIDL attributes to return a sequence if it's cached. r=peterv 2013-12-04 08:02:18 -05:00
Boris Zbarsky
52853729f6 Bug 942631 part 1. Add support for a [Cached] WebIDL annotation. r=peterv 2013-12-04 08:02:17 -05:00
Gregory Szorc
fa9bd3e7b1 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
cd28c58eaa 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
1dc2a7a39b Bug 928195 - Part 2: Provide a mach command to run WebIDL parser tests; r=bz
--HG--
extra : rebase_source : ff200d7a77532dae9e022d03cccc624ea1f77c63
2013-11-14 14:34:50 -08:00
Mike Hommey
bb6779efe3 Bug 939044 - Remove most definitions of MODULE. r=mshal 2013-11-19 11:47:39 +09:00
Ms2ger
b381084fe3 Bug 931459 - Move LOCAL_INCLUDES to moz.build in dom/; r=mshal 2013-11-11 09:04:11 +01:00
Kyle Huey
d00c5443e9 Bug 919885: Move Worker to WebIDL and thread-agnostic event dispatch. r=bent,bz 2013-11-05 22:16:24 +08:00
Boris Zbarsky
4eb56cc9c3 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
156b3eac57 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
25cf962b2d 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