Commit Graph

3055 Commits

Author SHA1 Message Date
Andrew Quartey
dbfbcb197b Bug 792581 - part 4: Replace LL_GE_ZERO macro with standard relation. r=ehsan 2012-10-03 10:13:19 -04:00
Andrew Quartey
816b3752e7 Bug 792581 - part 1: Replace LL_IS_ZERO macro with standard relation. r=ehsan 2012-10-03 10:13:18 -04:00
Ed Morley
accb05d7c8 Merge mozilla-central to mozilla-inbound 2012-10-02 11:19:03 +01:00
Cameron McCormack
96039521b3 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
c4405e747e Bug 794582 - Rename nsINode::GetSlots() to nsINode::Slots() and remove null-checks; r=mounir 2012-08-11 00:27:28 +02:00
Ms2ger
9de4e445fb Bug 793116 - Remove nsISupports argument to xpc_CreateGlobalObject; r=bholley 2012-10-02 10:24:11 +02:00
Kyle Huey
43e58e33c8 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
Isaac Aggrey
481e7dfb0b Bug 791906: Replace NSPR integer limit constants with stdint ones; r=ehsan 2012-09-28 01:57:33 -05:00
Ehsan Akhgari
8cc30b88b2 Bug 792502 - Kill the FunctionTimer code; r=vlad 2012-09-19 16:59:38 -04:00
Ehsan Akhgari
f4a93b7422 Bug 788014 - Part 2: Reduce the inclusion of prtypes.h in the tree to help using stdint types; r=jrmuizel
--HG--
extra : rebase_source : 66b3b6b9858fb032bebcc070347f781bdf61770c
2012-09-06 17:54:59 -04:00
L. David Baron
6521fcaca1 Rename nsIPresShell::InitialReflow to Initialize since it doesn't actually perform reflow. (Bug 788956) r=roc 2012-09-06 21:16:09 -07:00
Makoto Kato
1356f06137 Bug 784912 - nsIStreamListener.onDataAvailable should handle 64-bit offset. r=honza 2012-09-06 11:41:02 +09:00
Aryeh Gregor
e3ad397b4c Bug 782594 - Return 0 from nsXULTreeBuilder::CompareResults on error; r=bz 2012-08-09 11:36:41 +03:00
Aryeh Gregor
33fe5589ca Bug 782594 - Use NS_FAILED instead of boolean test (content/, js/xpconnect/, layout/); r=bz 2012-08-07 17:58:47 +03:00
Randell Jesup
65539ef89c Bug 773151: Convert nsCAutoString->nsAutoCString CLOSED TREE r=bsmedberg 2012-09-01 22:35:17 -04:00
Ryan VanderMeulen
500be4ff7e Merge the last PGO-green inbound changeset to m-c. 2012-08-30 21:54:09 -04:00
Kyle Huey
20210893cb Bug 786048: Rename 'JSEventListener' to 'EventHandler' to better match the spec's terminology. r=smaug 2012-08-30 09:25:10 -07:00
Landry Breuil
ab140edff0 Bug 785738 Part 4: Use PRTime where appropriate under rdf/. r=ehsan 2012-08-30 09:10:40 +02:00
Andrew McCreight
71d9aa2a7e Bug 782735 - turn nsNodeInfoManager into a non-leaking native CC class. r=smaug 2012-08-24 09:50:06 -07:00
Andrew McCreight
a9920e291d Bug 782485 - turn nsXULPrototypeNode into a native CC class. r=smaug 2012-08-24 09:50:06 -07:00
Andrew McCreight
c063a3e54c Bug 750570, part 4 - Switch most native CC classes to use the purple buffer. r=smaug
This patch actually converts over most of the existing native CC classes
to use the participant. This is done by converting them to use
the newly generalized nsCycleCollectingAutoRefCnt instead of their usual
ref count.

This is mostly a matter of defining new macros defining AddRef() and Release()
for native CC classes with the CC ref count.

nsTimeout is left as a legacy native CC class because it is a weird class,
but hopefully eventually it too can be converted over.  See bug 774874.
2012-08-24 09:50:06 -07:00
Ehsan Akhgari
e368dc9c85 Bug 579517 - Part 1: Automated conversion of NSPR numeric types to stdint types in Gecko; r=bsmedberg
This patch was generated by a script.  Here's the source of the script for
future reference:

function convert() {
echo "Converting $1 to $2..."
find . ! -wholename "*nsprpub*" \
       ! -wholename "*security/nss*" \
       ! -wholename "*/.hg*" \
       ! -wholename "obj-ff-dbg*" \
       ! -name nsXPCOMCID.h \
       ! -name prtypes.h \
         -type f \
      \( -iname "*.cpp" \
         -o -iname "*.h" \
         -o -iname "*.c" \
         -o -iname "*.cc" \
         -o -iname "*.idl" \
         -o -iname "*.ipdl" \
         -o -iname "*.ipdlh" \
         -o -iname "*.mm" \) | \
    xargs -n 1 sed -i -e "s/\b$1\b/$2/g"
}

convert PRInt8 int8_t
convert PRUint8 uint8_t
convert PRInt16 int16_t
convert PRUint16 uint16_t
convert PRInt32 int32_t
convert PRUint32 uint32_t
convert PRInt64 int64_t
convert PRUint64 uint64_t

convert PRIntn int
convert PRUintn unsigned

convert PRSize size_t

convert PROffset32 int32_t
convert PROffset64 int64_t

convert PRPtrdiff ptrdiff_t

convert PRFloat64 double
2012-08-22 11:56:38 -04:00
Ian Melven
01a802da01 Bug 341604 - modify CheckMayLoad to allow sandboxed workers to load blob and data URIs r=jst 2012-08-20 11:34:33 -07:00
Aryeh Gregor
4e199a1679 Bug 780618 - Move all error codes to nsError.h; r=ehsan 2012-07-27 17:03:27 +03:00
Honza Bambas
15daadba69 Bug 215450: Allow uploading of files greater than 2gb in size. Involves making input streams 64-bit capable. Significant work done by Makoto Kato, finished by Honza Bambas. r=hbambas,bsmedberg,jdrew,sicking 2012-08-10 22:44:11 -04:00
David Zbarsky
05903e83e6 Bug 773842 - Fix build warnings under content/ r=mounir 2012-08-10 14:01:16 -04:00
Ms2ger
4c81482ae1 Bug 780387 - Part d: Stop using PRFloat64; r=bsmedberg 2012-08-09 09:09:42 +02:00
Ms2ger
75ab7efb95 Bug 780387 - Part b: Stop using PRIntn; r=bsmedberg 2012-08-09 09:09:40 +02:00
Benjamin Peterson
f1b4836bc8 Bug 779724 - Use finer-grain source controls in the browser. r=jorendorff, sr=jst 2012-08-07 10:39:47 -07:00
Ms2ger
94bf1722ed Bug 743573 - Fix a number of build warnings in dom/; r=mounir 2012-08-07 09:06:29 +02:00
Aryeh Gregor
2fbc523d8e Bug 780469 - Reduce unnecessary includes in some content/ header files; r=bz 2012-08-06 15:02:08 +03:00
David Zbarsky
03039446fa [Bug 780428] Don't include nsIFrame.h in places where it's not necessary r=roc 2012-08-05 23:00:56 -04:00
Ms2ger
c75eefb90d Bug 716822 - Move attributes and methods on nsIDOMNSEvent to nsIDOMEvent; r=smaug 2012-08-04 09:44:00 +02:00
Ms2ger
f37eda9fb5 Bug 672814 - Part b: Introduce nsContentUtils::IsJavascriptMIMEType; r=bz 2012-08-04 09:43:59 +02:00
Ms2ger
78e3c35a3c Bug 672814 - Part a: Move nsJSRuntime::ParseVersion to nsContentUtils; r=bz 2012-08-04 09:43:59 +02:00
Mike Hommey
70d7c821af Bug 774032 bonus - Use @DEPTH@ and @relativesrcdir@ in Makefile.in. r=ted 2012-08-04 20:26:44 +02:00
Ed Morley
f4181983a1 Revert inbound to 3d5d1daa2505 to stop OS X M5 failures (backout not clean/could have been a bad merge) on a CLOSED TREE 2012-08-04 18:05:15 +01:00
Ms2ger
27245512cd Bug 716822 - Move attributes and methods on nsIDOMNSEvent to nsIDOMEvent; r=smaug 2012-08-04 09:44:00 +02:00
Ms2ger
a5868b4e65 Bug 672814 - Part b: Introduce nsContentUtils::IsJavascriptMIMEType; r=bz 2012-08-04 09:43:59 +02:00
Ms2ger
2304ff656b Bug 672814 - Part a: Move nsJSRuntime::ParseVersion to nsContentUtils; r=bz 2012-08-04 09:43:59 +02:00
Aryeh Gregor
4ac21a407b Bug 778681 part 5 - Convert nsXULTemplateQueryProcessorRDF::mBindingDependencies from nsCOMArray to nsTArray; r=bz 2012-07-30 16:48:02 +03:00
Aryeh Gregor
123e88c916 Bug 778681 part 3 - Convert nsXULTemplateQueryProcessorRDF::mQueries from nsCOMArray to nsTArray; r=bz 2012-07-30 16:48:02 +03:00
Aryeh Gregor
b6b1141edf Bug 778681 part 2 - Convert nsXULDocument::mUnloadedOverlays from nsCOMArray to nsTArray; r=bz 2012-07-30 16:48:02 +03:00
Neil Deakin
5ae1b87a02 Bug 582719, use nsQueryFrame for menus and popups rather than GetType, r=neil 2012-07-30 20:43:28 -04:00
Aryeh Gregor
c81630fddb Bug 777292 - Convert incorrect conversions to nsresult and fix named constants; r=ehsan 2012-07-27 16:59:29 +03:00
Ehsan Akhgari
3ad40dbf10 Merge the nullptr conversion from mozilla-central into mozilla-inbound 2012-07-30 10:28:15 -04:00
Aryeh Gregor
d0ad5a7d0c Bug 777292 part 2 - Change all nsnull to nullptr 2012-07-30 17:20:58 +03:00
Aryeh Gregor
587e4453db Bug 777292 - Don't use |= on nsresult; r=ehsan 2012-07-27 17:03:08 +03:00
Ryan VanderMeulen
30fbf181d9 Merge m-c to inbound. 2012-07-20 20:19:31 -04:00
Olli Pettay
4db0612c0e Bug 775972 - crash in nsGenericElement::BindToTree, r=bz 2012-07-21 00:55:19 +03:00