Commit Graph

336 Commits

Author SHA1 Message Date
Boris Zbarsky
46e3240468 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
f1bf746514 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
3ee2ff3f57 Bug 796983 part 1. Switch nullable primitives to using a const Nullable. r=jst 2012-10-17 17:01:55 -04:00
Benoit Jacob
92800ce87b Bug 742781 - Implement WEBGL_debug_renderer_info extension - r=bz,jgilbert 2012-10-17 15:11:51 -04:00
Ehsan Akhgari
aef4fa9628 Merge mozilla-central into mozilla-inbound 2012-10-16 20:43:47 -04:00
Olli Pettay
c3acd4988e Bug 797806 - Helper method to handle stringified JSON in C++, part2, r=khuey 2012-10-16 18:37:44 +03:00
Olli Pettay
4a3f200675 Bug 797806 - Helper method to handle stringified JSON in C++, r=khuey 2012-10-16 17:52:10 +03:00
Boris Zbarsky
4c9f7b0f5a Bug 800386. Fix getInterface from JS on XMLHttpRequest objects to actually work. r=khuey 2012-10-15 23:12:03 -04:00
Trevor Saunders
6c294d1802 Bug 742191 - Part d: Throw TypeErrors for Paris binding exceptions; r=bz 2012-10-16 14:06:10 -04:00
Ed Morley
f87439d0bc Merge mozilla-central to mozilla-inbound 2012-10-15 16:09:10 +01:00
Ryan VanderMeulen
1598bd50f0 Merge inbound to m-c. 2012-10-14 16:39:23 -04:00
Ms2ger
0ad78542ff Bug 793244 - Part b: Convert Screen to WebIDL; r=bz 2012-10-14 09:40:11 +02:00
Ms2ger
81b6ab3a65 Bug 798014 - Remove dead DefineConstructor definition; r=khuey 2012-10-14 09:39:05 +02:00
Ed Morley
f63fc6d67a Backout 3044539fec87 (bug 799465),2dbcd6d16b43 (bug 798264), f7019f73a5f0 (bug 711628), a484a3a904da, 7154061ddc00 & 7e7fc42021c1 (bug 799465) for burning 2012-10-12 14:45:38 +01:00
Peter Van der Beken
4f003caa91 Fix for bug 799465 (Add complete support for non-nsISupports objects in new DOM bindings) - allow non-nsISupports object to be parents, take care of review comment. r=bz.
--HG--
extra : rebase_source : 0e0373a0dfb0d3a3a3846c87529bde31f072866f
2012-10-12 14:52:32 +02:00
Peter Van der Beken
97342d64ec 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
0b7bff61e0 Fix for bug 799465 (Add complete support for non-nsISupports objects in new DOM bindings) - remove nsISupports from AudioContext. r=ehsan.
--HG--
extra : rebase_source : f37b849c020bd9e4bc72e16df71a0241fafb0829
2012-10-09 20:50:26 +02:00
Peter Van der Beken
6fe13563e7 Fix for bug 799465 (Add complete support for non-nsISupports objects in new DOM bindings) - allow non-nsISupports object to be parents. r=bz.
--HG--
extra : rebase_source : 00c805373f99213bee8b17b24fed3024b8ac4752
2012-10-09 20:50:26 +02:00
Peter Van der Beken
fc40b44426 Fix for bug 798264 (Split property tables). r=bz.
--HG--
extra : rebase_source : fd96e8c0241411e7724fc950c3dce8d2b95d662d
2012-10-09 20:50:05 +02:00
Peter Van der Beken
86dcdcb94b 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
Peter Van der Beken
772951ca5e Fix for bug 711628 (Implement PeerConnection.localStreams/remoteStreams). r=bz.
--HG--
extra : rebase_source : d7be35954ba69563ed26b2173c75fe9e74707847
2012-09-13 18:04:31 +02:00
Peter Van der Beken
0a4b18d6ed Fix for bug 799465 (Add complete support for non-nsISupports objects in new DOM bindings) - remove nsISupports from AudioContext. r=ehsan.
--HG--
extra : rebase_source : 80c344181c26d41332fbf2780e80d0de559b5d84
2012-10-09 20:50:26 +02:00
Peter Van der Beken
c073bbb5bb Fix for bug 799465 (Add complete support for non-nsISupports objects in new DOM bindings) - allow non-nsISupports object to be parents. r=bz.
--HG--
extra : rebase_source : 2a8b1d0d9fe23ea3b849ac384202de30161429a9
2012-10-09 20:50:26 +02:00
Peter Van der Beken
cca0b00f72 Fix for bug 799465 (Add complete support for non-nsISupports objects in new DOM bindings) - fix CC traversal and wrapper preservation. r=bz.
--HG--
extra : rebase_source : 42b0e6db4b418901f253d66e7323ba5a7cd83eea
2012-09-26 20:12:15 +02:00
Nicholas Cameron
38e86da9ce Bug 734668; reviewer's changes. r=Ms2ger,roc
--HG--
rename : content/canvas/src/nsCanvasRenderingContext2DAzure.cpp => content/canvas/src/CanvasRenderingContext2D.cpp
extra : rebase_source : 827a45dd8cc2bdc77e850e8b1d1e23e9f2f72f7d
2012-10-12 22:42:53 +13:00
Nicholas Cameron
58fa066c87 Bug 734668; rename files and classes. r=roc
--HG--
rename : content/canvas/src/nsCanvasRenderingContext2DAzure.cpp => content/canvas/src/CanvasRenderingContext2D.cpp
rename : content/canvas/src/nsCanvasRenderingContext2DAzure.h => content/canvas/src/CanvasRenderingContext2D.h
extra : rebase_source : ded29b0c029bbcee232c4760c49539f465d40399
2012-10-12 22:42:52 +13:00
Nicholas Cameron
cd5f1d08fc Bug 734668; remove prefable; r=roc
--HG--
extra : rebase_source : b29e89a14c5a96eae71dadbee2eea6fd18b376f8
2012-10-12 22:42:51 +13:00
Peter Van der Beken
59b6711296 Fix for bug 711628 (Implement PeerConnection.localStreams/remoteStreams). r=bz.
--HG--
extra : rebase_source : e21a429d85fc60a972752a2a7deb88a7cb648f3c
2012-09-13 18:04:31 +02:00
Boris Zbarsky
4e2b097bf2 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
9dc86ac76f Bug 792137. [TreatNonCallableAsNull] lives on the callback type now. r=peterv 2012-10-10 15:53:02 -04:00
Benoit Jacob
646cd8342f Bug 779611 - part 9: port WebGLActiveInfo to WebIDL bindings - r=bz 2012-10-09 14:39:49 -04:00
Ed Morley
fd14735924 Merge last PGO-green changeset of mozilla-inbound to mozilla-central 2012-10-06 20:30:35 +01:00
Ms2ger
b37018770b No bug - Improve error message when declaring an interface both as WebIDL and external in Bindings.conf; r=bz 2012-10-06 09:23:25 +02:00
Bobby Holley
9f982e86a6 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
Benoit Jacob
6ee7b9f2c3 Bug 779611 - reland parts 5-8 - port WebGLTexture, WebGLBuffer, WebGLFramebuffer, WebGLRenderbuffer, WebGLShader, WebGLProgram to WebIDL bindings - r=bz 2012-10-04 16:35:54 -04:00
Benoit Jacob
631713204c back out 6f3714945438, 5732dca84958, bfb93cf89612, e697a832c60b for Mac build error 2012-10-04 15:06:31 -04:00
Benoit Jacob
47ecb7bdce Bug 779611 - part 8 - port WebGLShader and WebGLProgram to WebIDL bindings - r=bz 2012-10-04 14:45:35 -04:00
Benoit Jacob
11b1af470b Bug 779611 - part 7 - port WebGLFramebuffer and WebGLRenderbuffer to WebIDL bindings - r=bz 2012-10-04 14:45:33 -04:00
Benoit Jacob
e3e1db192c Bug 779611 - part 6 - port WebGLBuffer to WebIDL bindings - r=bz 2012-10-04 14:45:32 -04:00
Benoit Jacob
e406e56db1 Bug 779611 - part 5 - port WebGLTexture to WebIDL bindings - r=bz 2012-10-04 14:45:25 -04:00
Benoit Jacob
5d519163f1 Bug 779611 - part 3 - port WebGL extensions to WebIDL bindings, refactor them - r=bz,jgilbert 2012-10-03 17:13:05 -04:00
Benoit Jacob
545b47b406 Bug 779611 - part 1 - port WebGLShaderPrecisionFormat to WebIDL bindings - r=bz 2012-10-03 17:13:05 -04:00
Boris Zbarsky
271c035440 Bug 792980. Don't force consumers to list descriptors for interfaces that are using all teh defaults. r=peterv
The new setup is:

* Consequential interfaces with no explicit descriptor are still skipped.
* If no information is provided about an interface, an empty descriptor is
  assumed.
* If a list is provided and the only entry is a worker descriptor, an empty
  main-thread descriptor is assumed.
2012-10-01 08:56:31 -04:00
Boris Zbarsky
bd3dc8925b Bug 795751. Make CSS2Properties stuff work even with pref names that are not identifiers. r=dholbert 2012-10-01 08:45:12 -04:00
Boris Zbarsky
6c9f57284b Bug 793528. Worker bindings should default to looking for headers in mozilla/dom/workers/bindings/. r=khuey 2012-10-01 08:45:11 -04:00
Peter Van der Beken
b5b5988316 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
212ca8e4dc 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
225e9ed8d3 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
Kyle Huey
1ccfbe810b Bug 760331: Coalesce data for inline style across nodes. r=bz
This patch enables sharing of an nsAttrValue's MiscContainer between nodes for style rules.  MiscContainers of type eCSSStyleRule are now refcounted (with some clever struct packing to ensure that the amount of memory allocated for MiscContainer remains unchanged on 32 and 64 bit).  This infrastructure can be used to share most MiscContainer types in the future if we find advantages to sharing other types than just eCSSStyleRuley.  A cache mapping strings to MiscContainers has been added to nsHTMLCSSStyleSheet.  MiscContainers can be shared between nsAttrValues when one nsAttrValue is SetTo another nsAttrValue or when there is a cache hit in this cache.  This patch also adds the ability to tell a style rule that it belongs to an nsHTMLCSSStyleSheet, with appropriate accessor functions to separate that from the existing case of belonging to an nsCSSStyleSheet.

The primary use case is to reduce memory use for pages that have lots of inline style attributes with the same value.  This can happen easily with large pages that are automatically generated.  An (admittedly pathological) testcase in Bug 686975 sees over 250 MB of memory savings with this change.  Reusing the same MiscContainer for multiple nodes saves the overhead of maintaining separate copies of the string containing the serialized value of the style attribute and of creating separate style rules for each node.  Eliminating duplicate style rules enables further savings in layout through style context sharing.  The testcase sees the amount of memory used by style contexts go from over 250 MB to 10 KB.

Because the cache is based on the text value of the style attribute, it will not handle attributes that have different text values but are parsed into identical style rules.  We also do not attempt to share MiscContainers when the node's base URI differs from the document URI.  The effect of these limitations is expected to be low.
2012-09-30 09:40:24 -07:00
Masatoshi Kimura
f1e6b8f196 Bug 764234 - Implement StringEncoding API. r=dougt,smontagu 2012-09-28 11:19:18 +01:00