Commit Graph

1902 Commits

Author SHA1 Message Date
Robert O'Callahan
8e7070bef2 Bug 816458. Instead of removing the MAY_BE_TRANSFORMED bit in certain frame classes, add an nsIFrame::SupportsCSSTransforms method and call it when necessary. r=mats 2012-12-04 17:50:05 +13:00
Mats Palmgren
924e59e0d0 Bug 817574 - Replace NS_ABS with std::abs. r=roc 2012-12-04 13:33:33 +01:00
Mats Palmgren
e6d1b60e3b Bug 815315 - Make nsTableFrame::RemoveFrame remove all continuations of the removed child frame too. r=bz 2012-12-01 01:10:40 +01:00
Mats Palmgren
b56d966ae4 Bug 815315 - Avoid crashing if the last row-group child frame was removed. r=bz 2012-12-01 01:10:40 +01:00
Boris Zbarsky
27793548d6 Bug 776443 part 2. Support percent-less calc for internal table element widths. r=dbaron 2012-11-21 11:19:37 -05:00
Boris Zbarsky
c882c3bf6c Bug 776443 part 1. Support percent-less calc for internal table element heights. r=dbaron 2012-11-21 11:19:30 -05:00
Ryan VanderMeulen
8dd0402085 Backed out changesets 1a8b11ae0f4b, e02a02fd1208 (bug 776443), 86a3edf2960d (bug 812392), 26c59f23fd8f, and 288c74d7f87d (bug 812744) for mochitest orange.
CLOSED TREE
2012-11-21 12:47:40 -05:00
Boris Zbarsky
b7cc9710e0 Bug 776443 part 2. Support percent-less calc for internal table element widths. r=dbaron 2012-11-21 11:19:37 -05:00
Boris Zbarsky
bc4ecacb2b Bug 776443 part 1. Support percent-less calc for internal table element heights. r=dbaron 2012-11-21 11:19:30 -05:00
Robert O'Callahan
f4f4ec813d Bug 810470. Part 6: Rename nsDisplayBackground to nsDisplayBackgroundImage. r=mattwoodrow
--HG--
extra : rebase_source : c532ae41706db6c9d5488bc2b7901c3bf0f0fc25
2012-11-09 18:14:59 -05: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
Jacek Szpot
761b11160f Bug 792180 - Replace NS_{UN,}LIKELY with MOZ_{UN,}LIKELY; r=ehsan 2012-10-26 15:32:10 +02:00
Abhishek Potnis
ad50b9e765 Bug 795511: Removed usages of PR_BIT and PR_BITMASK from the tree; r=ehsan 2012-10-20 07:31:43 +05:30
Trevor Saunders
244a675d42 bug 542039 - accessible object types r=surkov, roc 2012-09-28 17:53:44 -04:00
Nathan Froyd
4519571cb1 Bug 796129 - remove prtypes #includes in layout/ 2012-10-01 17:12:57 -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
Matt Woodrow
5b90207e93 Bug 539356 - Make the table code use rect invalidation to avoid over invalidation. r=roc 2012-08-29 17:48:45 +12:00
Robert O'Callahan
030510fcb8 Bug 770058. InvalidateFrame doesn't need flags, we can just avoid calling ScheduleRepaint if we find any ancestor frame with a descendant that needs invalidation. r=mattwoodrow 2012-08-29 17:48:44 +12: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
515829e8e5 Bug 539356 - Make the table code use rect invalidation to avoid over invalidation. r=roc 2012-08-29 17:48:45 +12:00
Robert O'Callahan
8234ee38ca Bug 770058. InvalidateFrame doesn't need flags, we can just avoid calling ScheduleRepaint if we find any ancestor frame with a descendant that needs invalidation. r=mattwoodrow 2012-08-29 17:48:44 +12:00
Matt Woodrow
4d096475d2 Bug 539356 - Part 9 - Implement DLBI. r=roc,bz,jwatt 2012-08-29 17:38:58 +12:00
Arnaud Sourioux
a84a1b22ad Bug 733186: Annotate ~1000 methods with MOZ_OVERRIDE in /layout r=dholbert r=dbaron 2012-09-14 09:10:08 -07:00
Chris Lord
0f17d35c1d Bug 786502 - Separate background layers into separate items. r=roc
Separate out background layers into separate display-list items, so that
backgrounds that are a mix of fixed and non-fixed layers will be treated
individually.
2012-09-13 11:34:23 +01: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
bee6952552 Change some uses of nsChangeHint_ReflowFrame to check nsChangeHint_NeedReflow. (Bug 789592, patch 1) r=bzbarsky 2012-09-07 15:57:06 -07:00
L. David Baron
a5dd1a85d7 Distribute the width of column-spanning cells to columns with nothing in them, like we do for final table widths. (Bug 734569) r=dholbert 2012-09-07 15:57: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
Kyle Huey
0cc1845191 Merge m-c to b-s. 2012-08-15 06:25:20 -07:00
Kyle Huey
0a624c1ae1 Bug 697230: Part 0 - Make table frame classes call into their superclass in DidSetStyleContext. r=bz 2012-08-13 14:13:34 -07: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
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
Tal Aloni
9ce6580447 Bug 778413 - Fix table cell automatic width calculation when using box-sizing:border-box. r=dbaron 2012-08-03 09:05:01 +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
Tal Aloni
cd2c292374 Bug 778413 - Fix table cell automatic width calculation when using box-sizing:border-box. r=dbaron 2012-08-03 09:05:01 +02: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
bc9c83fb09 Bug 777292 - Return -1 from nsTableRowGroupFrame::FindLineContaining on null param; r=roc 2012-07-27 17:03:25 +03:00
Aryeh Gregor
d0ad5a7d0c Bug 777292 part 2 - Change all nsnull to nullptr 2012-07-30 17:20:58 +03:00
Rafael Ávila de Espíndola
530ddac475 Bug 774040 - remove unused field. r=roc. 2012-07-15 00:20:24 -04:00
Tal Aloni
36815deeaa Bug 338554 - Honor -moz-box-sizing on table cells in standards mode (we ignore it in quirks mode). r=dbaron 2012-07-12 19:28:52 -04:00
Nathan Froyd
bfff055672 Bug 370750 - consolidate mochitest files installation; r=glandium
With assistance on the patch from Ms2ger, Waldo, and Mossop.
2012-07-03 16:49:02 -04:00
Ehsan Akhgari
cf18ee9122 Backout changeset f568fc280fb0 (bug 539356) because of performance and correctness regressions 2012-07-03 20:24:55 -04:00
Ehsan Akhgari
d57e83e441 Backout changeset 071d6332729b (bug 770058 part 1) because DLBI is being backed out 2012-07-03 19:38:00 -04:00
Robert O'Callahan
eeb0b9d4de Bug 770058. InvalidateFrame doesn't need flags, we can just avoid calling ScheduleRepaint if we find any ancestor frame with a descendant that needs invalidation. r=mattwoodrow 2012-07-03 14:24:14 +12:00
Tal Aloni
4096278930 Bug 248239 - Change standards mode height calculations for table cells to use content-box sizing rather than border-box sizing by default (and to honor -moz-box-sizing, which we do not do in quirks mode). Also remove -moz-box-sizing: border-box from default style for caption element (all modes). r=dbaron 2012-06-30 12:01:31 -04:00
Matt Woodrow
31125260ee Bug 539356 - Part 9 - Implement DLBI. r=roc,bz,jwatt 2012-06-30 15:06:11 +12:00