Commit Graph

312 Commits

Author SHA1 Message Date
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
Boris Zbarsky
cca591c20a Bug 936056. Be consistent about the thisobj we pass to getters. r=jorendorff 2013-12-02 19:08:07 -05:00
Boris Zbarsky
c388b489bd 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
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
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
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
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
c2b654599f 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
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
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
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
be8f33b2af 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
da56c38e0b Bug 942631 part 1. Add support for a [Cached] WebIDL annotation. r=peterv 2013-12-04 08:02:17 -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
58ddbab782 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
e80e877ab7 Bug 939044 - Remove most definitions of MODULE. r=mshal 2013-11-19 11:47:39 +09:00
Ms2ger
4fe918bb7b Bug 931459 - Move LOCAL_INCLUDES to moz.build in dom/; r=mshal 2013-11-11 09:04:11 +01: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
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
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
Jan-Ivar Bruaroey
f158da18a1 Bug 929530 - Remove peerConnection functionality deprecated w/warnings since 24 r=jesup,jib 2013-10-27 10:36:34 -04:00
Trevor Saunders
f1399b6633 [PATCH] bug 922566 - kill dom-config.mk
From 6681eaa8bb47ddb4756fd71738771c4c437101c0 Mon Sep 17 00:00:00 2001
---
 content/media/webspeech/recognition/Makefile.in |  1 -
 content/media/webspeech/recognition/moz.build   |  5 +-
 content/media/webspeech/synth/Makefile.in       |  1 -
 content/media/webspeech/synth/pico/Makefile.in  |  3 --
 dom/alarm/Makefile.in                           |  2 -
 dom/apps/src/Makefile.in                        |  1 -
 dom/base/Makefile.in                            |  2 -
 dom/base/moz.build                              | 26 ++++++++++-
 dom/battery/Makefile.in                         |  1 -
 dom/bindings/Makefile.in                        |  3 --
 dom/bindings/moz.build                          | 17 ++++++-
 dom/bindings/test/Makefile.in                   |  5 +-
 dom/bluetooth/Makefile.in                       |  2 -
 dom/bluetooth/moz.build                         |  7 ++-
 dom/browser-element/Makefile.in                 |  3 --
 dom/browser-element/moz.build                   |  6 ++-
 dom/camera/Makefile.in                          |  1 -
 dom/camera/moz.build                            |  5 +-
 dom/devicestorage/Makefile.in                   |  1 -
 dom/dom-config.mk                               | 61 -------------------------
 dom/encoding/Makefile.in                        |  1 -
 dom/fmradio/Makefile.in                         |  2 -
 dom/fmradio/ipc/Makefile.in                     |  1 -
 dom/fmradio/ipc/moz.build                       |  5 +-
 dom/fmradio/moz.build                           |  5 +-
 dom/icc/src/Makefile.in                         |  4 --
 dom/media/Makefile.in                           |  3 --
 dom/media/moz.build                             |  6 ++-
 dom/mobilemessage/src/Makefile.in               |  1 -
 dom/mobilemessage/src/moz.build                 |  5 +-
 dom/network/src/Makefile.in                     |  2 -
 dom/plugins/base/Makefile.in                    |  1 -
 dom/plugins/base/moz.build                      |  8 +++-
 dom/power/Makefile.in                           |  1 -
 dom/quota/Makefile.in                           |  1 -
 dom/system/gonk/Makefile.in                     |  2 -
 dom/telephony/Makefile.in                       |  1 -
 dom/time/Makefile.in                            |  1 -
 dom/wifi/Makefile.in                            |  5 --
 39 files changed, 85 insertions(+), 123 deletions(-)
 delete mode 100644 dom/dom-config.mk
 delete mode 100644 dom/wifi/Makefile.in
2013-10-23 17:20:55 -04: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
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
Trevor Saunders
c29760731a Backed out changeset 99b17c404db2 and e40a964458f8 for landing stuff that shouldn't have and then backing out stuff that should have stayed on a CLOSED TREE
--HG--
extra : amend_source : 54312955270ea4098a3add3cd0708866de2e40bb
2013-10-21 18:58:14 -04:00
Trevor Saunders
67e6559698 bug 922566 - kill dom-config.mk r=gps 2013-10-11 12:02:41 -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
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
6225c78b1a Bug 923010. When rethrowing exceptions from JS-implemented components to content script, make sure to give them a useful filename and line number, pointing to the content script location that triggered the exception. r=peterv 2013-10-03 08:34:47 -04:00