Commit Graph

398 Commits

Author SHA1 Message Date
Mats Palmgren
83ff885997 Bug 856243 - Add missing do_QueryFrame support. r=dholbert 2013-04-01 18:45:19 +02:00
Mats Palmgren
258a52976a Backout rev 85397e0a6dba - wrong patch. r=me 2013-03-23 21:45:53 +01:00
Mats Palmgren
2da2bd888c Bug 851847 - Optimize nsBlockFrame::StealFrame when removing a normal flow child. r=bzbarsky 2013-03-23 21:10:34 +01:00
Boris Zbarsky
c0d4537026 Bug 852428 part 2. Make nsIFrame::Init infallible. r=dholbert 2013-03-19 21:47:48 -04:00
L. David Baron
ca6c366dc6 Bug 781360 patch 3: Rename {nsIFrame,nsStyleContext,nsComputedDOMStyle}::GetStyle* to Style*, since they can never return null. r=dholbert
Except for the changes in:
  layout/generic/nsIFrame.h (part)
  layout/style/nsComputedDOMStyle.h (all)
  layout/style/nsRuleNode.cpp (part)
  layout/style/nsStyleContext.cpp (part)
  layout/style/nsStyleContext.h (part)
(see patch 3b in the bug), this patch was written with the sed script:
s/\<GetStyle\(Font\|Color\|List\|Text\|Visibility\|Quotes\|UserInterface\|TableBorder\|SVG\|Background\|Position\|TextReset\|Display\|Content\|UIReset\|Table\|Margin\|Padding\|Border\|Outline\|XUL\|SVGReset\|Column\)\>/Style\1/g
2013-02-16 13:51:02 -08:00
Robert O'Callahan
b18cd55753 Bug 840902. Part 2: Remove nsresults from various display list methods. r=mattwoodrow 2013-02-15 00:12:27 +13:00
Robert O'Callahan
3ac2cf9858 Bug 840902. Part 1: Stop checking the results of various display list methods. r=mattwoodrow 2013-02-15 00:08:08 +13:00
Daniel Holbert
e33c7dc5d7 Bug 836957 part 2: Remove unnecessary nsIFrame::GetSkipSides() overrides whose implementations are in .cpp files. r=mats 2013-02-04 08:17:20 -08:00
Robert O'Callahan
67b24645e1 Bug 826632. Part 1: Merge nsIViewManager into nsViewManager. r=tnikkel 2013-01-05 16:12:24 +13:00
Phil Ringnalda
f40517090e Back out 5e76dfb1d426 (bug 826635) and 0df74b1a4543:20df426b6111 (bug 826632) for bustage
CLOSED TREE
2013-01-04 21:30:14 -08:00
Robert O'Callahan
b20214218e Bug 826632. Part 1: Merge nsIViewManager into nsViewManager. r=tnikkel 2013-01-05 16:12:24 +13:00
Robert O'Callahan
ae130ef998 Bug 825866. Part 8: Mass-rename of nsIView to nsView. r=tnikkel
This was autogenerated by basically replacing all occurrences of the word "nsIView" with nsView.
2013-01-04 02:23:11 +13:00
Peter Van der Beken
7361bf5a3c Fix for bug 824007 (Convert HTMLBodyElement, HTMLDataListElement, HTMLFontElement, HTMLFrameSetElement and HTMLLabelElement to new DOM bindings) - move some HTML element classes to mozilla::dom. r=bz. 2012-12-21 15:06:50 +01:00
Jeff Walden
8a6657de57 Bug 820570 - Move mozilla::DebugOnly into DebugOnly.h to pare down the grab-baggish Util.h. r=Ms2ger 2012-12-14 18:58:45 -05:00
Daniel Holbert
5328adc361 Bug 817744: Fix whitespace issues in nsFrameSetFrame.cpp. whitespace-only, DONTBUILD 2012-12-03 11:47:10 -08:00
Paul Adenot
e4026f753c Bug 817404 - Compilation error in layout/generic/nsFrameSetFrame.cpp with gcc 4.7. r=ehsan 2012-12-03 15:44:26 +01:00
Mats Palmgren
a7f6f4d71a Bug 814995. r=roc 2012-12-01 03:28:02 +01:00
L. David Baron
3aabaa641b Bug 809533, patch 2: Don't null-check inside NS_New*Frame. r=roc 2012-11-07 11:55:53 -08:00
Jacek Szpot
09f9b9a1c3 Bug 792180 - Replace NS_{UN,}LIKELY with MOZ_{UN,}LIKELY; r=ehsan 2012-10-26 15:32:10 +02:00
Daniel Holbert
bfe077ae6e Bug 799199: Use IndentBy() instead of looped "fputs" in nsHTMLFramesetBlankFrame's and nsLineBox's List() methods. r=bz 2012-10-08 13:06:04 -07:00
Daniel Holbert
5ec4002442 Bug 799196: Update signature for nsHTMLFramesetBlankFrame::List(). r=bz 2012-10-08 12:58:54 -07:00
Kyle Huey
0ee82049a5 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
990e90e88a Bug 791906: Replace NSPR integer limit constants with stdint ones; r=ehsan 2012-09-28 01:57:33 -05:00
Ehsan Akhgari
243c878d26 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
c8ea20cf42 Bug 780387 - Part b: Stop using PRIntn; r=bsmedberg 2012-08-09 09:09:40 +02:00
Cameron McCormack
7b1e56f1af 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
30ac972c28 Bug 655877 - Part 14: Ignore float in SVG text frames. r=roc 2012-08-02 21:38:49 +10:00
Aryeh Gregor
8b4a23fc4c Bug 777292 part 2 - Change all nsnull to nullptr 2012-07-30 17:20:58 +03:00
Gervase Markham
cb6a072c2a Bug 716478 - update licence to MPL 2. 2012-05-21 12:12:37 +01:00
Nathan Froyd
20f5ce545a Bug 731615 - Eliminate duplicate headers in layout. rs=smontagu 2012-02-29 10:57:47 -05:00
Markus Stange
8fa80356cd 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
8fe75b1c1b Bug 515530 - Remove nsHTMLContainerFrame. r=roc 2011-12-27 21:18:48 +01:00
Phil Ringnalda
23b7725580 Back out 1ac4cb2e7c32 to c631f9c3e9a9 (bug 598482) for Android reftest failures 2011-12-23 22:21:58 -08:00
Markus Stange
79453f0787 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
478ad1a412 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
0fe7772ece Bug 675553 - Switch from PRBool to bool on a CLOSED TREE , r=bsmedberg,khuey,bz,cjones 2011-09-28 23:19:26 -07:00
Atul Aggarwal
abbc120a79 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
249d3a0682 Bug 669028 part.13 layout should use mozilla::LookAndFeel rather than nsILookAndFeel r=roc 2011-09-09 11:27:13 +09:00
Mats Palmgren
4e2a044a66 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
b7b57daec8 Bug 578564. Remove nsIFrameSetElement and just use nsHTMLFrameSetElement instead. r=bzbarsky 2011-06-08 12:04:10 -07:00
Masayuki Nakano
8b335d50b1 Bug 660121 Remove all pref related methods from nsContentUtils r=roc 2011-05-29 08:42:57 +09:00
Masayuki Nakano
ccc2f5b479 Bug 659533 Replace nsContentUtils::GetBoolPref() with Preferences::GetBool() r=roc 2011-05-25 15:31:59 +09:00
Jan Küchler
8774547613 Bug 266236 part 3: Mechanical rename of nsIRenderingContext and nsThebesRenderingContext to nsRenderingContext. Mechanical substitution of nsRefPtr<nsRenderingContext> for nsCOMPtr<nsRenderingContext>. 2011-04-07 18:04:40 -07:00
Jan Küchler
ed48629385 Bug 266236 part 1: Preliminary API cleanup on nsIRenderingContext. 2011-04-07 18:04:39 -07:00
Ms2ger
cc1d294433 Bug 637864 - Give nsIViewManager::GetRootView a sane signature; r=bz 2011-03-29 22:24:54 -04:00
Boris Zbarsky
157311511c Bug 621841. Clear restyle flags in frameset kids when we process them. r=dbaron 2011-03-04 10:27:02 -05:00
Ehsan Akhgari
1fcd12338e 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
b4c3ee2ad8 Bug 623998 - Reduce frameset size limit - r=roc a=blocking2.0:final 2011-01-25 14:38:07 +13:00
L. David Baron
913a31cc5c 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
517ebe645a Bug 562698 - Part c: Pass Elements to AttributeWillChange; r=bzbarsky, a=dbaron 2010-08-24 09:06:20 +02:00