Commit Graph

4002 Commits

Author SHA1 Message Date
Daniel Holbert
41c917c25a Bug 800535: Switch var to unsigned in nsSimplePageSequenceFrame::PrePrintNextPage, to fix signed/unsigned-comparison build warning. r=bdahl 2012-10-11 14:33:25 -07:00
Ehsan Akhgari
1b5ab09074 Remove some unused variables, no bug 2012-10-11 09:19:35 -04:00
Matt Woodrow
02c9d9c3ae Bug 797295 - Add support for the layer attribute to nsImageBoxFrame. r=roc 2012-10-11 18:44:59 +13:00
David Zbarsky
d70685476e [Bug 799407] Fix build warnings in layout r=roc 2012-10-10 01:00:05 -04:00
Daniel Holbert
6275701898 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
234c143d3a Bug 799196: Update signature for nsHTMLFramesetBlankFrame::List(). r=bz 2012-10-08 12:58:54 -07:00
Ed Morley
b0c7c030c3 Bug 752786 - Disable one part of test_bug469613.xul for too many intermittent failures 2012-10-08 14:10:54 +01:00
Masayuki Nakano
3df6480630 Bug 795785 part.2 Scroll editor when caret is moved even if it's specified overflow: hidden; r=smaug 2012-10-08 03:45:51 +09:00
Masayuki Nakano
5ac763afdd Bug 795785 part.1 Editor should scroll the selection into view after edit even when the editor is specified overflow: hidden; r=ehsan,smaug, sr=smaug 2012-10-08 03:45:51 +09:00
Andrew Quartey
52003ca06d Bug 792581 - part 12: Replace LL_DIV with division operator. r=ehsan 2012-10-05 01:05:28 -04:00
Andrew Quartey
1839819e70 Bug 792581 - part 10: Replace LL_SUB macro with mathematical minus operator. r=ehsan 2012-10-05 01:05:27 -04:00
Robert O'Callahan
b2f146a271 Bug 794709. Don't bother trying to compute an intelligent dirty rect when building display lists for nsSimplePageSequence and nsPageContentFrame children; it's nontrivial due to the transforms they introduce, and it doesn't matter anyway. r=mattwoodrow
--HG--
extra : rebase_source : 6e51ff9514f66e24765bae74a6348afc65367d76
2012-10-05 15:29:56 +13:00
Nathan Froyd
5375444878 Bug 796129 - remove prtypes #includes in layout/ 2012-10-01 17:12:57 -04:00
Ed Morley
0748a2405b Backout a5c50066ecbb (bug 787947), ee9f796b8416 (bug 794709) for crashtest/reftest assertions 2012-10-04 13:15:00 +01:00
Robert O'Callahan
2a7363af3b Bug 794709. Don't bother trying to compute an intelligent dirty rect when building display lists for nsSimplePageSequence and nsPageContentFrame children; it's nontrivial due to the transforms they introduce, and it doesn't matter anyway. r=mattwoodrow 2012-10-04 23:02:17 +13:00
Chris Jones
a734561c9e Bug 790505, part 4: If we're just updating the transform of a prerendered layer, then schedule an empty transaction to skip unnecessary display-list overhead. r=mattwoodrow,roc 2012-10-02 22:55:52 -07:00
Chris Jones
6a8aa4b23b Bug 790505, part 2: Add a GetLayerTransformForFrame() helper for computing a frame's layer transform outside a proper transaction, and mark frames that have been fully prerendered. r=roc 2012-10-02 22:55:50 -07:00
Ryan VanderMeulen
c7df9c8a33 Backout 0cd12dcf7f8f, 5ff5e81e6de6, and 0ae09da96f63 (bug 740580) due to bug 797391. 2012-10-03 22:13:14 -04:00
Chris Jones
263dc7d01e Back out bug 790505 for leaking 2012-10-03 00:21:08 -07:00
Chris Jones
6ed6eba931 Bug 790505, part 4: If we're just updating the transform of a prerendered layer, then schedule an empty transaction to skip unnecessary display-list overhead. r=roc 2012-10-02 22:55:52 -07:00
Chris Jones
a03ca9170e Bug 790505, part 3: Add a GetLayerTransformForFrame() helper for computing a frame's layer transform outside a proper transaction, and mark frames that have been fully prerendered. r=roc 2012-10-02 22:55:50 -07:00
Brendan Dahl
9ddfd8b66c Bug 789507 - Add watchdog for mozPrintCallbacks. r=smaug 2012-10-02 10:42:21 -07:00
Anthony Jones
5383d578e4 Bug 740580 - Add Azure support to nsCanvasFrame. r=roc 2012-10-02 22:09:12 -04:00
Steven Michaud
8650a61e2a Bug 785667 - Make plugins work with HiDPI mode on the Mac. r=bgirard 2012-10-02 14:48:05 -05:00
Matt Woodrow
adcd47a275 Bug 795796 - Fix empty transactions. r=cjones 2012-10-01 17:29:02 +13:00
Kyle Huey
1ccfbe810b 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
Mounir Lamouri
a103215fb8 Merge m-i inm-c. 2012-09-30 13:19:15 +01:00
Daniel Holbert
6649dbc51c Bug 666041 patch 8: Add special handling for "min-width: auto" value on flex items. r=dbaron 2012-09-29 23:38:46 -07:00
Daniel Holbert
9edb0fa952 Bug 666041 patch 7: implementation of flex container class for CSS3 flexbox. r=dbaron 2012-09-29 23:38:46 -07:00
Daniel Holbert
959680664c Bug 666041 patch 6.5: Add flag to nsHTMLReflowState & ComputeSize for measuring auto height. r=dbaron 2012-09-29 23:38:46 -07:00
Matt Woodrow
3a3192fe2c Bug 795611 - Call virtual InvalidateFrame from InvalidateFrameSubtree since nsTable*Frame overloads it. r=cjones 2012-09-30 19:20:25 +13:00
Matt Woodrow
ca71a58ed9 Bug 795576 - Correctly add the NS_FRAME_UPDATE_LAYER_TREE when invalidating inside a popup. r=cjones 2012-09-30 19:20:24 +13:00
Scott Johnson
fea453f734 Bug 795313: Modify order of conditionals in UpdateFontInflationDataWidthFor() for performance enhancements. [r=dbaron] 2012-09-28 14:38:33 -05:00
Isaac Aggrey
0cc4b12d36 Bug 791906: Replace NSPR integer limit constants with stdint ones; r=ehsan 2012-09-28 01:57:33 -05:00
Ed Morley
1c98ca1665 Bug 752786 - Disable one part of test_bug469613.xul on OS X 10.8 for too many intermittent failures 2012-09-28 15:45:29 +01:00
Robert O'Callahan
89111a8568 Bug 539356. Make PruneDisplayListForExtraPage prune print preview properly. r=mattwoodrow
PruneDisplayListForExtraPage wasn't pruning properly in print preview. It
was pruning to the RootReferenceFrame, which is per-page when printing normally,
but is the ancestor of all pages in print preview, so it wasn't doing anything in
print preview.
So, pass in the nsPageFrame we want to prune to. This prevents bogus
entirely-clipped-out display items appearing in the display list for the page.
2012-09-28 23:19:39 +12:00
Matt Woodrow
5b541f16bf Bug 781053 - Part 2 - Trigger empty transactions when an animated image in an ImageLayer changes frame. r=roc 2012-09-25 08:31:30 +12:00
Matt Woodrow
f4e72f1dd0 Bug 781053 - Part 1 - Allow conversion of nsImageBoxFrame to an ImageLayer. r=roc 2012-09-25 08:29:14 +12:00
Matt Woodrow
b393ee686c Bug 539356 - Avoid some causes of unnecessary painting. r=roc 2012-09-26 11:59:56 +12:00
Matt Woodrow
82f400d981 Bug 539356 - Correctly invalidate SVG observers. r=roc 2012-08-29 17:49:16 +12:00
Matt Woodrow
de918ca279 Bug 539356 - Make the table code use rect invalidation to avoid over invalidation. r=roc 2012-08-29 17:48:45 +12:00
Matt Woodrow
967a15e46e Bug 539356 - Add an option for frames to invalid just a rect instead of the frame bounds. r=roc 2012-08-29 17:48:45 +12:00
Robert O'Callahan
8243f6c21c 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
dcab94e36a Bug 769922 - Implement nsDisplayAltFeedback, since it can draw outside of the frame's overflow rect. r=roc 2012-08-29 17:48:44 +12:00
Matt Woodrow
a3f71d5ce2 Bug 539356 - Part 27 - Make nsImageFrame's overflow include the AltFeedback image if it will use one. r=roc 2012-08-29 17:48:44 +12:00
Matt Woodrow
722d9c982d Bug 539356 - Part 26 - Send invalidations for hidden documents. r=roc 2012-08-29 17:48:44 +12:00
Matt Woodrow
026c09c663 Bug 539356 - Part 18 - Mark frames with only invalid children as an optimization to use when invalidating further frames. r=roc 2012-08-29 17:48:43 +12:00
Matt Woodrow
e195484e72 Bug 539356 - Part 11 - Reimplement empty transactions. r=roc 2012-08-29 17:48:15 +12:00
Matt Woodrow
e79b288e75 Bug 539356 - Part 10 - Test changes required for DLBI. r=roc
* * *
[mq]: test-fixes
2012-08-29 17:48:13 +12:00
Matt Woodrow
12901c44ef Bug 539356 - Part 9f - Compute the invalid area of the layer tree and pass this to the widget. r=roc 2012-08-29 17:47:18 +12:00