Commit Graph

336 Commits

Author SHA1 Message Date
Boris Zbarsky
22f64a2913 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
b730833389 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
fdbb455d4f 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
ac98569cac 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
d4e380fe7f Bug 989522 - Remove LIBXUL_LIBRARY from the moz.build sandbox. r=mshal 2014-04-02 11:52:04 +09:00
Neil Rashbrook
fe80fce47a Bug 514280 Consistently declare and define IID accessors r=bsmedberg 2014-03-28 08:45:02 +00:00
Boris Zbarsky
ede5ccefdb Bug 987110. Disallow dictionary members that would shadow Object.prototype properties. r=bholley 2014-03-25 22:48:46 -04:00
Boris Zbarsky
ec87989351 Bug 983228. Add a sequence tracer for sequences of unions. r=baku 2014-03-14 14:51:22 -04:00
Boris Zbarsky
76e9977396 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
b192b2603d Bug 971132 - B2G mochitests should use the new manifest format; r=jmaher 2014-03-06 13:42:43 -05:00
Boris Zbarsky
847fc61450 Bug 874787. Add support for legacycaller on proxy bindings. r=efaust,peterv 2014-03-05 22:48:03 -05:00
Boris Zbarsky
4b181d6e57 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
0ec6497e74 Bug 973405 - Move some misc LOCAL_INCLUDES to moz.build; r=glandium 2014-02-18 08:49:12 -05:00
Bobby Holley
89e75f4bb7 Bug 968335 - Tests. r=bz 2014-02-14 22:36:44 -08:00
Bobby Holley
e8fd44a410 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
f2630e3d05 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
772b5fa2da Bug 968335 - Tests. r=bz 2014-02-14 16:13:38 -08:00
Bobby Holley
80d4df76b1 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
74a89ac0f7 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
448f681d4d Bug 958667 part 5. Hook up AvailableIn for interface members. r=peterv 2014-02-05 13:38:17 -05:00
Boris Zbarsky
b25f7e2745 Bug 958667 part 4. Hook up an AvailableIn extended attribute for interfaces. r=peterv 2014-02-05 13:38:17 -05:00
Boris Zbarsky
418c4aba5f 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
98d70e885a Bug 963321 part 2. Add codegen support for [Cached] dictionary attributes. r=khuey 2014-02-05 13:38:16 -05:00
Boris Zbarsky
fddb5fec1c 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
dcf4519044 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
d93333454e 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
162f6eaa62 Bug 936056. Be consistent about the thisobj we pass to getters. r=jorendorff 2013-12-02 19:08:07 -05:00
Boris Zbarsky
6cbdf23c78 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
81be6fc98a 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
e223f9691c 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
4ce8a99131 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
b1c250a89f 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
0e8c9f6887 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
8eccd295bf 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
0504c2e35a 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
d53d3b5e5e 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
e330cbbc35 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
109a5700f1 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
5948f54d3e 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
2ccbfd5863 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
f916e39018 Bug 942631 part 1. Add support for a [Cached] WebIDL annotation. r=peterv 2013-12-04 08:02:17 -05:00
Gregory Szorc
f8426fa8ea 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
0c46a02708 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
1f0a95eb80 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
f0d1cd1e10 Bug 939044 - Remove most definitions of MODULE. r=mshal 2013-11-19 11:47:39 +09:00
Ms2ger
bd6c1c7dc9 Bug 931459 - Move LOCAL_INCLUDES to moz.build in dom/; r=mshal 2013-11-11 09:04:11 +01:00
Kyle Huey
f8c3be104e Bug 919885: Move Worker to WebIDL and thread-agnostic event dispatch. r=bent,bz 2013-11-05 22:16:24 +08:00
Boris Zbarsky
7690d94087 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
b4b08a6e79 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
c0b03f21a5 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