Commit Graph

311 Commits

Author SHA1 Message Date
Nicholas Cameron
404ba9b65d 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
2e1a97f864 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
108187d686 Bug 734668; remove prefable; r=roc
--HG--
extra : rebase_source : b29e89a14c5a96eae71dadbee2eea6fd18b376f8
2012-10-12 22:42:51 +13:00
Boris Zbarsky
3e1f7e4e46 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
1ecbdb1149 Bug 792137. [TreatNonCallableAsNull] lives on the callback type now. r=peterv 2012-10-10 15:53:02 -04:00
Benoit Jacob
966189fec7 Bug 779611 - part 9: port WebGLActiveInfo to WebIDL bindings - r=bz 2012-10-09 14:39:49 -04:00
Ed Morley
5abdf356a2 Merge last PGO-green changeset of mozilla-inbound to mozilla-central 2012-10-06 20:30:35 +01:00
Ms2ger
2c2ac37f8d 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
02fbd34534 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
7c88e5e534 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
3c55b8bae9 back out 6f3714945438, 5732dca84958, bfb93cf89612, e697a832c60b for Mac build error 2012-10-04 15:06:31 -04:00
Benoit Jacob
75765490e7 Bug 779611 - part 8 - port WebGLShader and WebGLProgram to WebIDL bindings - r=bz 2012-10-04 14:45:35 -04:00
Benoit Jacob
3c8b827724 Bug 779611 - part 7 - port WebGLFramebuffer and WebGLRenderbuffer to WebIDL bindings - r=bz 2012-10-04 14:45:33 -04:00
Benoit Jacob
5fed8a3b08 Bug 779611 - part 6 - port WebGLBuffer to WebIDL bindings - r=bz 2012-10-04 14:45:32 -04:00
Benoit Jacob
f0b59e1bef Bug 779611 - part 5 - port WebGLTexture to WebIDL bindings - r=bz 2012-10-04 14:45:25 -04:00
Benoit Jacob
3a142c6980 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
8a7f727099 Bug 779611 - part 1 - port WebGLShaderPrecisionFormat to WebIDL bindings - r=bz 2012-10-03 17:13:05 -04:00
Boris Zbarsky
bc0118a179 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
0c92627751 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
2279ce8914 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
2561b4b1e6 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
dadc1f518a 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
931a931c83 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
e5eb83ac5a 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
4a9395eb5d Bug 764234 - Implement StringEncoding API. r=dougt,smontagu 2012-09-28 11:19:18 +01:00
Terrence Cole
68f1a7379e 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
2e75082f62 Bug 787856 - Convert JS_GetPrototype to support lazy protos (r=bhackett) 2012-09-03 16:42:17 -07:00
Bill McCloskey
88913893e5 Bug 787856 - Convert js::GetObjectProto to support lazy protos (r=bhackett) 2012-09-03 16:42:10 -07:00
Ehsan Akhgari
697bec41a5 Bug 793294 - Implement AudioBuffer; r=bzbarsky,smaug
This is the full implementation of the AudioBuffer object.  There are
two ways to create these objects from an audio context and this patch
implements only one of them.

The construction of the AudioBuffer object is a two step process: the
object should be created with operator new first, and then
InitializeBuffers should be called on it.  InitializeBuffers is
fallible, because it uses the JS API to create the underlying typed
arrays, but that's fine, since the length of the buffers comes from web
content, and we don't want to use infallible allocations for those
anyways.

We hold on to the JS objects from the C++ implementation, and trace
through all of those objects, so that a GC does not kill those object
without us knowing.

The buffer should be possible to manipulate from both C++ and JS, and
the C++ object probably needs to support a set of methods for the C++
callers at some point.
2012-09-25 17:58:50 -04:00
Ehsan Akhgari
0a35cb68cb Bug 792646 - Implement the skeleton of Web Audio source and destination nodes; r=bzbarsky
This is the bare minimum that one needs in order to get those interfaces
implemented.  The work to make the simplest of Web Audio test cases
actually pass will be done in bug 792649.
2012-09-21 11:33:03 -04:00
Kyle Huey
c4cca57ccf Bug 793025: Convert FileReaderSync to WebIDL bindings. r=bz 2012-09-20 19:47:47 -07:00
Ehsan Akhgari
bc04fdf9fc Backout changeset 7d0776416955 (bug 792646) because of leaks 2012-09-20 19:47:07 -04:00
Ehsan Akhgari
a26464712e Bug 792646 - Implement the skeleton of Web Audio source and destination nodes; r=bzbarsky
This is the bare minimum that one needs in order to get those interfaces
implemented.  The work to make the simplest of Web Audio test cases
actually pass will be done in bug 792649.
2012-09-20 18:05:38 -04:00
Ms2ger
10e373a3de Bug 776239 - Unpref XHR bindings; r=bz 2012-09-20 09:55:37 +02:00
Ms2ger
e973046355 Bug 776243 - Unpref WebGL context bindings; r=peterv 2012-09-20 09:55:36 +02:00
Boris Zbarsky
0735897dff Bug 790975. Support sequences as dictionary members in WebIDL. r=peterv 2012-09-18 23:24:27 -04:00
Ed Morley
bdf426c89c Merge last PGO-green changeset of mozilla-inbound to mozilla-central 2012-09-17 20:19:57 +01:00
Ehsan Akhgari
9bb8766bf1 Bug 787574 follow-up: Forward declare JSContext as a struct
DONTBUILD
2012-09-17 15:16:13 -04:00
Peter Van der Beken
75f85b799b 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
71b55b1f68 Fix for bug 788532 (Add the new DOM bindings API to DOM lists). r=bz.
--HG--
extra : rebase_source : 18e21a786b6a9cc2aeada52ba5ca3a2614cb596b
2012-09-05 22:49:53 +02:00
Boris Zbarsky
c0a96f3008 Bug 790273. Add support for [LenientThis] in WebIDL. r=peterv 2012-09-12 17:24:58 +01:00
Boris Zbarsky
df94b5400b 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
6a4003fd4a 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
48ddcad8e3 Bug 790123. Make sure to not lose a single trailing newline in stripTrailingWhitespace. r=mats 2012-09-11 18:37:22 +01:00
Peter Van der Beken
0aab5147fc 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
Andrea Marchesini
f95e99bcad Bug 775368 - Porting Websockets to WebIDL, r=bz
--HG--
rename : content/base/src/nsWebSocket.cpp => content/base/src/WebSocket.cpp
rename : content/base/src/nsWebSocket.h => content/base/src/WebSocket.h
2012-09-10 09:48:14 -04:00
Ryan VanderMeulen
e6272f40cc Merge the last PGO-green inbound changeset to m-c. 2012-09-07 23:51:19 -04:00
Ryan VanderMeulen
ff4293d31d Merge the last PGO-green inbound changeset to m-c. 2012-09-07 19:48:15 -04:00
Ryan VanderMeulen
0bf9ce3a48 Merge the last PGO-green inbound changeset to m-c. 2012-09-06 20:37:59 -04:00
Jeff Walden
f05b76c8ef Bug 789309 - Stop installing jsatom.h and jsatom.tbl. r=jorendorff 2012-09-06 17:51:50 -07:00