Commit Graph

1281 Commits

Author SHA1 Message Date
Mats Palmgren
5e9420f6c3 Bug 734777 - Call NoteFrameRemoved also when it's the last frame on the line to avoid an assertion. r=roc 2013-01-06 03:04:59 +01:00
Robert O'Callahan
943cb99eff 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.

--HG--
rename : view/public/nsIView.h => view/public/nsView.h
2013-01-04 02:23:11 +13:00
Alexander Surkov
9ca55cbd90 Bug 810572, part 2.5 - rename AccType constants again, r=tbsaunde, sr=roc 2012-12-18 10:25:52 +09:00
Jeff Walden
120886ca73 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
Trevor Saunders
8d7e7dd8d7 bug 781409 - remove nsITableLayout r=roc,davidb 2012-08-08 09:05:17 -04:00
Alexander Surkov
f52aca4834 Bug 810572, part2 - remove 'Accessible' postfix from AccTypes constants, r=tbsaunde, sr=roc 2012-12-12 19:04:12 +09:00
Mats Palmgren
9c310a2c9f Bug 806284 - Resizing a RTL block with text-align:left does not reposition the lines. r=roc 2012-12-05 23:26:28 +01:00
Daniel Holbert
200a4ad7d0 Bug 815972: Remove unneeded nsDisplayListCollection from nsBlockFrame.cpp's DisplayLine() helper-function. r=roc 2012-11-28 00:08:30 -08:00
Ehsan Akhgari
c284cd4124 Bug 810355 - Convert nsDidReflowStatus into an enum class; r=dholbert 2012-11-13 22:47:33 -08:00
Mats Palmgren
ddad154fe9 Bug 685012 - Implement page-break-inside:avoid in layout. r=fantasai,sr=roc 2012-11-08 17:09:38 +01:00
Ehsan Akhgari
2ec85750e6 Bug 775350 - Update the overflow areas of the lines containing floats based on the overflow areas of the floats in the containing block; r=dbaron 2012-11-06 12:11:50 -05:00
L. David Baron
bc5cfc9648 Bug 809533, patch 2: Don't null-check inside NS_New*Frame. r=roc 2012-11-07 11:55:53 -08:00
Jacek Szpot
761b11160f Bug 792180 - Replace NS_{UN,}LIKELY with MOZ_{UN,}LIKELY; r=ehsan 2012-10-26 15:32:10 +02:00
Andrew Quartey
5d03f6af91 Bug 792581 - part 22: Replace LL_ZERO and LL_Zero() macros with 0. r=ehsan 2012-10-25 19:25:59 -04:00
Trevor Saunders
244a675d42 bug 542039 - accessible object types r=surkov, roc 2012-09-28 17:53:44 -04:00
Robert O'Callahan
a268d55cd8 Bug 786740. When destroying all the frames in a line list, keep the line list and frame list valid at each step in case someone tries to walk the frame tree during frame destruction. r=mats
--HG--
extra : rebase_source : 7045daffc35fdaca02a74caa52a93a270c94cf74
2012-10-15 14:34:23 +13:00
Andrew Quartey
00edc52f9c Bug 792581 - part 19: Replace LL_I2L macro with int64_t cast. r=ehsan 2012-10-12 13:29:11 -04:00
David Zbarsky
4085f74a3f [Bug 799407] Fix build warnings in layout r=roc 2012-10-10 01:00:05 -04:00
Andrew Quartey
58aa97ec8b Bug 792581 - part 12: Replace LL_DIV with division operator. r=ehsan 2012-10-05 01:05:28 -04:00
Andrew Quartey
6a3e28f73b Bug 792581 - part 10: Replace LL_SUB macro with mathematical minus operator. r=ehsan 2012-10-05 01:05:27 -04: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
Matt Woodrow
cee1aa3599 Bug 539356 - Part 9c - Remove old invalidation code. r=bz 2012-08-29 17:39:31 +12:00
Ed Morley
aba3a8f5ef Revert mozilla-inbound to e4dd1fa6d222 for crashes and test failures on a CLOSED TREE 2012-09-27 16:34:46 +01:00
Matt Woodrow
4d096475d2 Bug 539356 - Part 9 - Implement DLBI. r=roc,bz,jwatt 2012-08-29 17:38:58 +12:00
Chris Lord
b38c2c5cad Bug 788202 - Add optional subdocument traversal to nsIFrame::List. r=bz
Add subdocument frame traversal to nsIFrame::List, controlled via an optional
flag.
2012-09-19 15:36:35 +01:00
Chris Lord
d5bcfa09f8 Backout bug 788202 for build failures. 2012-09-19 14:05:26 +01:00
Chris Lord
f89f65818b Bug 788202 - Add optional subdocument traversal to nsIFrame::List. r=bz
Add subdocument frame traversal to nsIFrame::List, controlled via an optional
flag.
2012-09-19 12:39:53 +01:00
Mats Palmgren
5efcc4ab00 Bug 765621 - Drain the parent frame's overflow list before attempting to insert/append new child frames. r=bz 2012-09-18 01:05:05 +02:00
Boris Zbarsky
942cc93041 Bug 601912. Implement <ol reversed>. r=dholbert 2012-09-07 22:30:24 -04: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
Aryeh Gregor
4e199a1679 Bug 780618 - Move all error codes to nsError.h; r=ehsan 2012-07-27 17:03:27 +03:00
Ms2ger
75ab7efb95 Bug 780387 - Part b: Stop using PRIntn; r=bsmedberg 2012-08-09 09:09:40 +02:00
Cameron McCormack
7670328c6c Bug 655877 - Part 16: Treat all values of display other than 'none' as 'inline' in SVG text frames. r=roc 2012-08-02 21:38:51 +10: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
Cameron McCormack
8ca909c0ed Bug 655877 - Part 13: Make :first-letter apply to <svg:text>. r=roc 2012-08-02 21:38:48 +10:00
Cameron McCormack
bd8a092ab9 Bug 655877 - Part 10: Ignore text-align and text-align-end in SVG text frames. r=roc 2012-08-02 21:38:47 +10:00
Aryeh Gregor
d0ad5a7d0c Bug 777292 part 2 - Change all nsnull to nullptr 2012-07-30 17:20:58 +03:00
Daniel Holbert
c3ebc87501 Bug 748646 patch 2: Remove no-longer-needed parameter aLists from a few TextOverflow functions. r=mats 2012-07-22 23:08:24 -07:00
Daniel Holbert
3232915300 Bug 748646 patch 1: Put a block's text-overflow markers in PositionedDescendants() before the rest of the block's display items. r=roc 2012-07-22 23:08:20 -07:00
Mats Palmgren
a78a2aa885 Bug 616722 - Make ColumnSetFrame a block margin root. Make the first column a margin root at the top edge, and the last column at the bottom. r=roc 2012-07-20 14:27:04 -04:00
Mats Palmgren
8b5f370306 Bug 774794 - Make the aLineList param for MarkLineDirty mandatory; make nsBlockInFlowLineIterator have a valid mLineList for its mLine. r=roc 2012-07-20 14:27:03 -04:00
Elika Etemad
5186834e80 Bug 774835: Refactor nsHTMLReflowState::ApplyMinMaxConstraints to separate behavior of width and height. [r=roc]
--HG--
extra : rebase_source : c6a25e9c19c65d86013ddf8afc15026ca02321c4
2012-07-18 10:26:05 -04:00
Mats Palmgren
60c32db945 Bug 774548. r=roc 2012-07-17 15:56:04 -04:00
Ehsan Akhgari
cf18ee9122 Backout changeset f568fc280fb0 (bug 539356) because of performance and correctness regressions 2012-07-03 20:24:55 -04:00
Matt Woodrow
31125260ee Bug 539356 - Part 9 - Implement DLBI. r=roc,bz,jwatt 2012-06-30 15:06:11 +12:00
L. David Baron
4ae65b30d1 Fix two pieces of cached information that were preventing font size inflation from applying correctly during intrinsic width calculation when intrinsic width calculation had already been done without font size inflation. (Bug 748434) r=roc
The first of these pieces of information is the intrinsic widths cached
on a block.

The second of them is the font inflation cached on a text frame (which
might be set to 1.0 at this point if a text frame has previously had
intrinsic width calculation done on it, but hasn't been reflowed).
2012-06-05 19:13:41 -07:00
L. David Baron
81169b19ae Back out changeset 81f6b1cfbba5627425837ff993ca7012db22b23b (bug 748434) due to reftest failures. 2012-06-05 16:55:48 -07:00
L. David Baron
2a07b15c44 Fix two pieces of cached information that were preventing font size inflation from applying correctly during intrinsic width calculation when intrinsic width calculation had already been done without font size inflation. (Bug 748434) r=roc
The first of these pieces of information is the intrinsic widths cached
on a block.

The second of them is the font inflation cached on a text frame (which
might be set to 1.0 at this point if a text frame has previously had
intrinsic width calculation done on it, but hasn't been reflowed).
2012-06-05 15:52:28 -07:00