Daniel Holbert
06b33bf856
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
3f348ab8ad
Bug 799196: Update signature for nsHTMLFramesetBlankFrame::List(). r=bz
2012-10-08 12:58:54 -07:00
Ed Morley
42c894c446
Bug 752786 - Disable one part of test_bug469613.xul for too many intermittent failures
2012-10-08 14:10:54 +01:00
Masayuki Nakano
7718f4b75d
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
985cc75710
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
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
Robert O'Callahan
fc36d68166
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
4519571cb1
Bug 796129 - remove prtypes #includes in layout/
2012-10-01 17:12:57 -04:00
Ed Morley
1c8a7ade37
Backout a5c50066ecbb (bug 787947), ee9f796b8416 (bug 794709) for crashtest/reftest assertions
2012-10-04 13:15:00 +01:00
Robert O'Callahan
35db8fe81d
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
d069aa6366
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
bae3518548
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
657d66adaf
Backout 0cd12dcf7f8f, 5ff5e81e6de6, and 0ae09da96f63 (bug 740580) due to bug 797391.
2012-10-03 22:13:14 -04:00
Chris Jones
38cde694be
Back out bug 790505 for leaking
2012-10-03 00:21:08 -07:00
Chris Jones
3d0d3d6cab
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
6f9a885d04
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
45e10cee30
Bug 789507 - Add watchdog for mozPrintCallbacks. r=smaug
2012-10-02 10:42:21 -07:00
Anthony Jones
fadf9023d4
Bug 740580 - Add Azure support to nsCanvasFrame. r=roc
2012-10-02 22:09:12 -04:00
Steven Michaud
144130a844
Bug 785667 - Make plugins work with HiDPI mode on the Mac. r=bgirard
2012-10-02 14:48:05 -05:00
Matt Woodrow
c398cd266e
Bug 795796 - Fix empty transactions. r=cjones
2012-10-01 17:29:02 +13: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
Mounir Lamouri
38529e6433
Merge m-i inm-c.
2012-09-30 13:19:15 +01:00
Daniel Holbert
8d95ac617b
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
e71e5f4161
Bug 666041 patch 7: implementation of flex container class for CSS3 flexbox. r=dbaron
2012-09-29 23:38:46 -07:00
Daniel Holbert
8f5c5c9f3f
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
930cae2bd2
Bug 795611 - Call virtual InvalidateFrame from InvalidateFrameSubtree since nsTable*Frame overloads it. r=cjones
2012-09-30 19:20:25 +13:00
Matt Woodrow
6f574cafa6
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
5c7b6d0bc2
Bug 795313: Modify order of conditionals in UpdateFontInflationDataWidthFor() for performance enhancements. [r=dbaron]
2012-09-28 14:38:33 -05:00
Isaac Aggrey
481e7dfb0b
Bug 791906: Replace NSPR integer limit constants with stdint ones; r=ehsan
2012-09-28 01:57:33 -05:00
Ed Morley
aed12527c9
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
6c9ec69e94
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
638b4002cb
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
17610240f2
Bug 781053 - Part 1 - Allow conversion of nsImageBoxFrame to an ImageLayer. r=roc
2012-09-25 08:29:14 +12:00
Matt Woodrow
a382cc1373
Bug 539356 - Avoid some causes of unnecessary painting. r=roc
2012-09-26 11:59:56 +12:00
Matt Woodrow
30f635b6f8
Bug 539356 - Correctly invalidate SVG observers. r=roc
2012-08-29 17:49:16 +12: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
Matt Woodrow
daef8103fd
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
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
26e7634f2d
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
d5505976c0
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
16e9c4f1eb
Bug 539356 - Part 26 - Send invalidations for hidden documents. r=roc
2012-08-29 17:48:44 +12:00
Matt Woodrow
5542e52aa1
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
b542e0240d
Bug 539356 - Part 11 - Reimplement empty transactions. r=roc
2012-08-29 17:48:15 +12:00
Matt Woodrow
7507512379
Bug 539356 - Part 10 - Test changes required for DLBI. r=roc
...
* * *
[mq]: test-fixes
2012-08-29 17:48:13 +12:00
Matt Woodrow
5730a3f4b2
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
Matt Woodrow
c36e8e6c82
Bug 539356 - Part 9e - FrameLayerBuilder changes for display list invalidation. r=roc
...
* * *
imported patch move-by-correctly
2012-08-29 17:47:15 +12:00
Matt Woodrow
cee1aa3599
Bug 539356 - Part 9c - Remove old invalidation code. r=bz
2012-08-29 17:39:31 +12:00
Matt Woodrow
2d57efa896
Bug 539356 - Part 9b - Add new frame invalidation API. r=roc
2012-08-29 17:39:01 +12:00
Matt Woodrow
a67ae37664
Bug 539356 - Part 9a - Add new display list invalidation API to nsDisplayItem and implement it. r=roc
2012-08-29 17:39:01 +12:00