Commit Graph

2936 Commits

Author SHA1 Message Date
Cameron McCormack
0dc074a5c3 Bug 795802 - Define content flags like frame state bits. r=bz
--HG--
extra : rebase_source : 4d67320ada060e29644ab6c070a1d5154b304d96
2012-10-02 10:52:06 +10: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
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
Steve Workman
fd6793666f Bug 734546: Add DASH Decoders and Readers r=cpearce r=ted 2012-09-29 16:29:04 -07:00
Isaac Aggrey
997db4d142 Bug 791906: Replace NSPR integer limit constants with stdint ones; r=ehsan 2012-09-28 01:57:33 -05:00
Matt Woodrow
5a14809d04 Bug 539356 - Part 9f - Compute the invalid area of the layer tree and pass this to the widget. r=roc 2012-08-29 17:47:18 +12:00
Matt Woodrow
958ce7d98d Bug 539356 - Part 9c - Remove old invalidation code. r=bz 2012-08-29 17:39:31 +12:00
Ed Morley
c863356300 Revert mozilla-inbound to e4dd1fa6d222 for crashes and test failures on a CLOSED TREE 2012-09-27 16:34:46 +01:00
Matt Woodrow
c73c0db2f1 Bug 539356 - Part 9 - Implement DLBI. r=roc,bz,jwatt 2012-08-29 17:38:58 +12:00
Edwin Flores
78ee3c2d6c Bug 759506 - Add support for zero-copy OMX hardware decoding to B2G r=doublec 2012-09-27 16:33:43 +12:00
Bobby Holley
9f03f90fb7 Bug 792036 - Automated fixups. r=mccr8
find /files/mozilla/build/d/_tests/testing/mochitest/tests/ | egrep "\.(xhtml|html|xml|js)$" | grep -v SimpleTest | grep -vi mochikit | grep -v simpleThread | grep -v test_ipc_messagemanager_blob.html | grep -v "indexedDB/test" | xargs grep -l Components |  xargs grep -L enablePrivilege | perl -pe 's#.*mochitest/tests/##' | xargs perl -p -i.bakkk -e 's/Components\.interfaces(\s|;|\.|\[)/SpecialPowers\.Ci$1/g, s/SpecialPowers\.wrap\(Components\)\.(.)(lasses|tils|nterfaces|esults)/SpecialPowers.C$1/g, s/(?<![\.a-zA-Z])Components/SpecialPowers\.Components/g, s/window\.Components/window\.SpecialPowers\.Components/g'
2012-09-24 14:46:29 +02:00
Bobby Holley
7f912ddc79 Bug 792036 - Fix up tests to avoid relying on the existence of window.Components (MANUAL). r=mccr8
These are the manual fixes that the ensuing auto-generation can't deal with. Some of them
just fix up formatting (such as Components.\nFoo, so that subsequent auto-generation can
work better).
2012-09-24 14:46:28 +02:00
Robert O'Callahan
029e4c3706 Bug 792665. Stop allowing HTMLMediaElement.src = mediaStream, and support HTMLMediaElement.mozSrcObject = mediaStream instead. r=cpearce,jesup
--HG--
extra : rebase_source : 1986b88dc293939055b12ec7065c37dae394af8c
2012-09-24 15:47:30 +12:00
Robert O'Callahan
e711b93859 Bug 778682. Part 2: Wait for NotifyHasCurrentData(true) callback on the input stream before entering HAVE_CURRENT_DATA for a media element. r=cpearce
--HG--
extra : rebase_source : c6e2fd2f258fbacd767a62751a1d1db3ceea6dd0
2012-09-20 12:47:50 +12:00
Ralph Giles
8afe2db560 Bug 793315 - Fix mozGetMetadata with single tag streams. r=cpearce
In Bug 785057, the implementation of mozGetMetadata was changed
to propagate a failure to define a new object property through
the return value of the nsDataHashtable interator. It turns out,
EnumerateRead returns the number of items processed, not the
last PLDHashOperator result. The upshot of which is that
the method returned an error if and only if only one tag
was processed.

Instead, carry and error flag in the iterator state, and check
that for failure.
2012-09-21 13:13:41 -07:00
Josh Matthews
566e597159 Bug 783878 - Part 1: Make nsXMLHttpRequest aware of the length of uploads. r=sicking 2012-09-19 18:15:32 -04:00
Ms2ger
1e7015f897 Merge PGO-green changeset from m-i to m-c. 2012-09-20 11:51:47 +02:00
Ms2ger
14bb88f62a Bug 581198 - Remove xpcom/io from LOCAL_INCLUDES; r=ted 2012-09-20 09:55:36 +02:00
Boris Zbarsky
b2a0b52a75 Bug 789856. Fire error events on <script> elements which completely fail to start the load. r=sicking 2012-09-18 23:24:27 -04:00
Ehsan Akhgari
a17cac3016 Bug 788275 - Part 0: Make nsCORSListenerProxy's constructor not cause the object to be destroyed before it is constructed; r=bzbarsky
That is always a nice property to have!
2012-09-18 22:16:23 -04:00
Koosha Khajeh Moogahi
8d39310f18 Bug 788242: Implement and make use of void versions of NS_ENSURE_* macros; r=ehsan,bsmedberg 2012-09-14 14:30:31 +04:30
Mark Capella
5a5ba0a45c Bug 785091 - Remove nsIEditorObserver, r=ehsan 2012-09-17 11:14:56 -04: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
Peter Van der Beken
bc837e12ce Fix for bug 788532 (Add the new DOM bindings API to DOM lists) - Rename nsIDOMHTMLCollection::GetNodeAt to GetElementAt. r=bz.
--HG--
extra : rebase_source : 9bd26842a548580b7ea90a29d2fdba8629a70ef7
2012-09-05 17:42:58 +02:00
Ms2ger
b58dc128db Bug 782098 - Remove IsArea in nsGenericHTMLElement.cpp; r=mounir 2012-09-17 10:37:20 +02:00
Phil Ringnalda
2fdbc456a3 Bug 639705 - update test_fullscreen-api.html hacks to cover OS X 10.8 too 2012-09-16 01:01:59 -07:00
Ralph Giles
68124ab53f Bug 785057 - Return an error after js exceptions. r=bz
Return PL_DHASH_STOP if JS_SetProperty fails, and check
the return code of the enumerator to propagate the failure
back to javascript through the return value of mozGetMetadata.

In addition, use JS_DefineProperty in mozGetMetadata so
web content can't intercept and alter our creation calls.

JS_SetProperty() will define a new property if it doesn't
exist, but it will also call any existing setters, in
particular those on Object.prototype. This is confusing
for an object that created by a platform object method
from internal data.
2012-09-14 16:04:46 -04:00
David Anderson
24145fc9a1 Merge from mozilla-central. 2012-09-10 12:16:38 -07:00
David Anderson
b0a287cfcc Merge from mozilla-central. 2012-09-07 15:17:11 -07:00
L. David Baron
ff3df34b87 Rename nsIPresShell::InitialReflow to Initialize since it doesn't actually perform reflow. (Bug 788956) r=roc 2012-09-06 21:16:09 -07:00
David Anderson
6c5722e35b Merge from mozilla-central. 2012-09-06 18:28:59 -07:00
Ms2ger
d653d11db3 Bug 787412 - HTMLOptionElement.prototype.text should use do a deep tree traversal; r=mounir 2012-09-06 09:25:05 +02:00
Ms2ger
a56d5a2aa5 Bug 782915 - Outparamdel nsHTMLTableRowElement getters; r=mounir 2012-09-06 09:14:49 +02:00
Makoto Kato
c28c020a8f Bug 784912 - nsIStreamListener.onDataAvailable should handle 64-bit offset. r=honza 2012-09-06 11:41:02 +09:00
David Anderson
043ddae94a Merge from mozilla-central.
--HG--
rename : js/jsd/jsd_scpt.c => js/jsd/jsd_scpt.cpp
rename : js/jsd/jsd_stak.c => js/jsd/jsd_stak.cpp
rename : js/jsd/jsd_val.c => js/jsd/jsd_val.cpp
2012-09-05 16:18:11 -07:00
Paul Adenot
227e7a96df Bug 567077 - Fix an assertion failure when the decoder is cloned. r=cpearce 2012-09-04 16:25:02 -07:00
Paul Adenot
1328b09819 Bug 567077 - Avoid sniffing when recreating a channel. r=cpearce 2012-09-04 17:49:46 -07:00
Paul Adenot
2719cc62de Bug 567077 - Sniff types of media files that are served with no Content-Type. r=cpearce 2012-09-04 16:22:34 -07:00
David Anderson
25c3dd55c0 Merge from mozilla-central.
--HG--
rename : js/src/sharkctl.cpp => js/src/devtools/sharkctl.cpp
rename : js/src/sharkctl.h => js/src/devtools/sharkctl.h
rename : js/src/MemoryMetrics.cpp => js/src/jsmemorymetrics.cpp
2012-08-29 17:57:37 -07:00
David Anderson
6b403f94c2 Merge from mozilla-central.
--HG--
rename : content/base/public/nsIFrameMessageManager.idl => content/base/public/nsIMessageManager.idl
2012-08-29 17:51:24 -07:00
Ryan VanderMeulen
07a63bd067 Backout bug 567077 for bustage. 2012-09-05 18:36:38 -04:00
Paul Adenot
0abfc46448 Bug 567077 - Fix an assertion failure when the decoder is cloned. r=cpearce 2012-09-04 16:25:02 -07:00
Paul Adenot
bdab14e35c Bug 567077 - Avoid sniffing when recreating a channel. r=cpearce 2012-09-04 16:24:12 -07:00
Paul Adenot
cce500079e Bug 567077 - Sniff types of media files that are served with no Content-Type. r=cpearce 2012-09-04 16:22:34 -07:00
David Anderson
188c88907e Merge from mozilla-central. 2012-08-22 16:09:24 -07:00
David Anderson
1ef4c57410 Merge from mozilla-central. 2012-08-21 15:59:12 -07:00
Brendan Dahl
3f688bb97f Bug 745025 - Part 1 - Adds mozPrintCallback for canvas. r=smaug 2012-08-31 10:45:45 -07:00
Chris Pearce
cdc788f72d Bug 779914 - Remove redundant reset of nsHTMLMediaElement::mAudioStream. r=kinetik. 2012-08-21 17:07:00 +12:00
Chris Pearce
3eaba47273 Bug 779914 - Reset Mozilla Audio Data API in nsHTMLMediaElment::AbortExistingLoads(). r=doublec 2012-08-21 17:06:55 +12:00
David Zbarsky
fbb04700b6 Bug 784004 - Don't include Layers.h everywhere Part 3 r=nical 2012-08-21 00:06:46 -04:00