Daniel Holbert
3f348ab8ad
Bug 799196: Update signature for nsHTMLFramesetBlankFrame::List(). r=bz
2012-10-08 12:58:54 -07: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
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
Ms2ger
75ab7efb95
Bug 780387 - Part b: Stop using PRIntn; r=bsmedberg
2012-08-09 09:09:40 +02:00
Cameron McCormack
5e22f14219
Bug 655877 - Part 15: Don't treat SVG text frames as being positioned. r=roc
2012-08-02 21:38:50 +10:00
Cameron McCormack
d7e9a93257
Bug 655877 - Part 14: Ignore float in SVG text frames. r=roc
2012-08-02 21:38:49 +10:00
Aryeh Gregor
d0ad5a7d0c
Bug 777292 part 2 - Change all nsnull to nullptr
2012-07-30 17:20:58 +03:00
Gervase Markham
82ff7027aa
Bug 716478 - update licence to MPL 2.
2012-05-21 12:12:37 +01:00
Nathan Froyd
68a79f10ae
Bug 731615 - Eliminate duplicate headers in layout. rs=smontagu
2012-02-29 10:57:47 -05:00
Markus Stange
5d6bf29b6f
Bug 598482 part 7 - Remove NS_VMREFRESH_* flags. NS_VMREFRESH_NO_SYNC is now the unchangable default. r=roc
2011-12-23 22:52:22 -05:00
Mats Palmgren
78d0f2c7ca
Bug 515530 - Remove nsHTMLContainerFrame. r=roc
2011-12-27 21:18:48 +01:00
Phil Ringnalda
2e8e3cc006
Back out 1ac4cb2e7c32 to c631f9c3e9a9 (bug 598482) for Android reftest failures
2011-12-23 22:21:58 -08:00
Markus Stange
87e56d30a9
Bug 598482 part 7 - Remove NS_VMREFRESH_* flags. NS_VMREFRESH_NO_SYNC is now the unchangable default. r=roc
2011-12-23 22:52:22 -05:00
Ehsan Akhgari
92064e6d3f
Bug 690892 - Replace PR_TRUE/PR_FALSE with true/false on mozilla-central; rs=dbaron
...
Landing on a CLOSED TREE
2011-10-17 10:59:28 -04:00
Michael Wu
d2b70213ac
Bug 675553 - Switch from PRBool to bool on a CLOSED TREE , r=bsmedberg,khuey,bz,cjones
...
--HG--
rename : tools/trace-malloc/bloatblame.c => tools/trace-malloc/bloatblame.cpp
2011-09-28 23:19:26 -07:00
Atul Aggarwal
55091f006e
Bug 653295 - Fixing warning of comparision between signed and unsigned integer expressions in nsFrameSetFrame.cpp. r=bz
2011-09-26 01:47:43 +05:30
Masayuki Nakano
6c3d3da0c3
Bug 669028 part.13 layout should use mozilla::LookAndFeel rather than nsILookAndFeel r=roc
2011-09-09 11:27:13 +09:00
Mats Palmgren
f1c56f2e22
Bug 653649 - New way of getting child lists from frames. (part 4/5) r=roc
...
Remove the nsIAtom* child list names and use child list ID enum instead.
2011-08-24 22:54:30 +02:00
Sebastian Kromp
5df1ec26bf
Bug 578564. Remove nsIFrameSetElement and just use nsHTMLFrameSetElement instead. r=bzbarsky
...
--HG--
rename : content/html/content/public/nsIFrameSetElement.h => content/html/content/src/nsHTMLFrameSetElement.h
2011-06-08 12:04:10 -07:00
Masayuki Nakano
4a5030c91a
Bug 660121 Remove all pref related methods from nsContentUtils r=roc
2011-05-29 08:42:57 +09:00
Masayuki Nakano
caee4cc73f
Bug 659533 Replace nsContentUtils::GetBoolPref() with Preferences::GetBool() r=roc
2011-05-25 15:31:59 +09:00
Jan Küchler
c510bc3046
Bug 266236 part 3: Mechanical rename of nsIRenderingContext and nsThebesRenderingContext to nsRenderingContext. Mechanical substitution of nsRefPtr<nsRenderingContext> for nsCOMPtr<nsRenderingContext>.
...
--HG--
rename : gfx/src/nsThebesRenderingContext.cpp => gfx/src/nsRenderingContext.cpp
extra : rebase_source : 34884bfcafd885feaf73300bc7246cd192062a48
2011-04-07 18:04:40 -07:00
Jan Küchler
ebb2f0c7ec
Bug 266236 part 1: Preliminary API cleanup on nsIRenderingContext.
...
--HG--
extra : rebase_source : a21ffad484f47103e403b8316eae5fdfd815c2cb
2011-04-07 18:04:39 -07:00
Ms2ger
4b1168a59f
Bug 637864 - Give nsIViewManager::GetRootView a sane signature; r=bz
2011-03-29 22:24:54 -04:00
Boris Zbarsky
c79bd4569e
Bug 621841. Clear restyle flags in frameset kids when we process them. r=dbaron
2011-03-04 10:27:02 -05:00
Ehsan Akhgari
9fcbeaa4c7
Bug 579767 - Frame borders are sometimes not redrawn correctly after dragging them or resizing the window; r,a=roc
2011-01-26 00:41:52 -05:00
Chris Double
1c3dccdfaa
Bug 623998 - Reduce frameset size limit - r=roc a=blocking2.0:final
2011-01-25 14:38:07 +13:00
L. David Baron
5a012f3090
Fix miscellaneous reflow methods to use new overflow area APIs. (Bug 542595, patch 19) r=roc a2.0=blocking2.0:beta8
2010-10-06 21:25:46 -07:00
Ms2ger
70a57ce50d
Bug 562698 - Part c: Pass Elements to AttributeWillChange; r=bzbarsky, a=dbaron
2010-08-24 09:06:20 +02:00
Ms2ger
007a644125
Bug 562698 - Part b: Pass Elements to nsNodeUtils::AttributeChanged; r=bzbarsky, a=dbaron
2010-08-24 09:06:07 +02:00
Robert O'Callahan
7be62af7f1
Bug 584282. Use nsDisplayItem::ToReferenceFrame() instead of calling nsDisplayListBuilder::ToReferenceFrame, wherever possible. r=tnikkel,a=dbaron
...
--HG--
extra : rebase_source : 730ba8640cb37bd8484ff069b5d6fd46d9bc3e84
2010-08-13 22:01:58 +12:00
Robert O'Callahan
33a0aec926
Bug 584282. Add nsDisplayItem::mToReferenceFrame and initialize it in the constructor. r=tnikkel,a=dbaron
...
--HG--
extra : rebase_source : 496cbde7c495eb8872c3d0ffc0ca4c57c2a6a777
2010-08-13 22:01:13 +12:00
Michael Ventnor
56ba116210
Bug 564991. Part 3: Create unique nsDisplayItem types for every single display item. r=tnikkel
2010-07-16 09:07:49 +12:00
Timothy Nikkel
cd6a9cc251
Bug 564368. Clear lazy frame construction bits when constructing framesets. r=bzbarsky
2010-05-11 19:30:42 -05:00
Timothy Nikkel
7ba76a2011
back out e40cbab6a972 (Bug 564705) 590da60fd253 (Bug 507628 and bug 507991) b166415b8c3f (Bug 564368) 0dac5d3eeb97 (Bug 564063) 116e56d84770 (Bug 563407) c51c93f5240f (Bug 536495) for some orange
2010-05-11 22:01:08 -05:00
Timothy Nikkel
f2f4be1345
Bug 564368. Clear lazy frame construction bits when constructing framesets. r=bzbarsky
2010-05-11 19:30:42 -05:00
Boris Zbarsky
d136b98028
Bug 562688 part 11. Eliminate eELEMENT usage in layout/generic. r=dbaron
2010-04-30 09:12:06 -04:00
Felipe Gomes
e4fb76d330
Bug 489127 - nodesFromRect required for better usability on mobile devices (part 1+2) [r=roc]
2010-04-07 20:31:26 -04:00
Ehren Metcalfe
a791e19cc4
Bug 556446: Remove dead code in layout. r=roc,bz
2010-04-03 07:36:19 -04:00
Robert O'Callahan
cff7965f83
Bug 526394. Part 15: Convert various random chunks of layout code. r=mats
2009-09-03 16:26:00 +12:00
Boris Zbarsky
b0ba4290ce
Bug 500882 part 2. Switch setting of primary frames to the new API; switch nsFrameManager::GetPrimaryFrameFor to the new API; remove resulting gobs of dead code. r=roc
2009-12-24 16:20:05 -05:00
Boris Zbarsky
5132d64872
Bug 525608 part 3. Change all style set consumers that ask for a pseudo style context to indicate what they're actually asking for (pseudo-element, anonymous box, or xul tree thing). r=dbaron
2009-12-11 02:37:40 -05:00
Boris Zbarsky
c1d4ecaf51
Bug 525608 part 1. Introduce an enum for keeping track of pseudo-elements. r=dbaron
2009-12-11 02:37:40 -05:00
Boris Zbarsky
8202b90f61
Backing out bug 525608 and bug 525952
2009-12-10 18:28:08 -08:00
Boris Zbarsky
6eb3c28de7
Bug 525608 part 3. Change all style set consumers that ask for a pseudo style context to indicate what they're actually asking for (pseudo-element, anonymous box, or xul tree thing). r=dbaron
2009-12-10 14:36:05 -08:00
Boris Zbarsky
8616f91258
Bug 525608 part 1. Introduce an enum for keeping track of pseudo-elements. r=dbaron
2009-12-10 14:36:04 -08:00
Boris Zbarsky
b694bf4f11
Bug 523294 part 3. Get rid of the now-unused aStateMask argument to AttributeChanged. r=dbaron
2009-12-10 14:36:04 -08:00
Robert O'Callahan
c2f7a1e950
Bug 513082. Instead of passing aDirtyRect to nsDisplayItem::Paint, have nsDisplayList::OptimizeVisibility (renamed to ComputeVisibility) compute the intersection of the visible region with the bounds of each display item and store the result in the item's mVisibleRect. This lets us do less work to paint display items which have a small intersection with the visible region but a large intersection with the bounding-box of the visible region. r=dbaron
...
--HG--
extra : rebase_source : 76db4b87ef9e5a6e9de7677edc08c26e2cbc462e
2009-09-07 12:35:14 +12:00
David Zbarsky
3d96b7b4a7
Bug 488249. Replace IsNodeOfType(eHTML) checks with namespace checks. r+sr=jst
2009-08-24 16:02:07 -04:00