Mats Palmgren
063882b856
Bug 843332 - Don't pass the nsBlockReflowState to PullFrameFrom that doesn't use it. Add some assertions. r=bzbarsky
2013-02-28 00:05:46 +01:00
Mats Palmgren
76d488f34c
Bug 843332 - Make PullFrame drain the overflow list before calling PullFrameFrom that can then be simplified to only deal with mList/mFrames (should be minor perf win too). r=bzbarsky
2013-02-28 00:05:45 +01:00
Mats Palmgren
ef83cb78bb
Bug 840818 - Simplify PullFrameFrom when the last frame was removed from an overflow list (avoiding an assertion). r=bzbarsky
2013-02-28 00:05:45 +01:00
Mats Palmgren
5aeae652ec
Bug 838688 - Optimize CollectFloats by doing an early return if this block doesn't have any floats. r=bzbarsky
2013-02-28 00:05:45 +01:00
Mats Palmgren
68ac87f2e4
Bug 838688 - Make ReparentFloats/CollectFloats not require a priori knowledge of which child list a float is expected to be on. r=bzbarsky
2013-02-28 00:05:45 +01:00
Mats Palmgren
6010571f8e
Bug 838671 - Make nsBlockFrame::RemoveFloat O(1) and make it just do the frame removal bit and let DoRemoveOutOfFlowFrame do the Destroy part (with the intent of making RemoveFloat reusable for other code). r=bzbarsky
2013-02-28 00:05:45 +01:00
Mats Palmgren
1b85e9545e
Bug 838642 - Introduce nsFrameList::StartRemoveFrame/ContinueRemoveFrame that can be used in concert to remove a frame in O(1) time from a set of frame lists when its exact frame list is unknown. Use them to make nsContainerFrame::StealFrame O(1). r=bzbarsky
2013-02-28 00:05:44 +01:00
L. David Baron
26263ff77c
Bug 839809: Make counter-increments and list counting that would go past our internal (int32_t) limit keep the counter at its current value rather than wrapping. r=dholbert
...
Per CSS WG resolution regarding counter-styles-3, afternoon of 2013-02-05:
http://krijnhoetmer.nl/irc-logs/css/20130205#l-1590
http://lists.w3.org/Archives/Public/www-style/2013Feb/0392.html
2013-02-22 10:13:37 -08:00
L. David Baron
3c1573c7b5
Backout changeset b968708558b9 (bug 839809) for reftest failures.
2013-02-21 19:25:54 -08:00
L. David Baron
61dc418096
Bug 839809: Make counter-increments and list counting that would go past our internal (int32_t) limit keep the counter at its current value rather than wrapping. r=dholbert
...
Per CSS WG resolution regarding counter-styles-3, afternoon of 2013-02-05:
http://krijnhoetmer.nl/irc-logs/css/20130205#l-1590
http://lists.w3.org/Archives/Public/www-style/2013Feb/0392.html
Note that this patch depends on signed integer overflow behavior in C++,
which I believe is portable despite being unspecified.
2013-02-21 18:10:59 -08:00
Mats Palmgren
e337bf4714
Bug 822910. r=roc
2013-02-19 02:44:14 +01:00
L. David Baron
c5b9eee040
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
42e294f8cb
Bug 840902. Part 2: Remove nsresults from various display list methods. r=mattwoodrow
...
--HG--
extra : rebase_source : de498510bf8d85d9b0b2fab0137ef3be01c9adfa
2013-02-15 00:12:27 +13:00
Robert O'Callahan
5c77da3630
Bug 840902. Part 1: Stop checking the results of various display list methods. r=mattwoodrow
...
--HG--
extra : rebase_source : 50a3d6809ef76a25a3d02d91f2873d9ba11fdc56
2013-02-15 00:08:08 +13:00
L. David Baron
50d4e367af
Bug 841789, patch 1: Rename nsIFrame::GetStyleContext() to nsIFrame::StyleContext() since it can never return null. r=dholbert
...
This makes it conform to our convention that getters returning pointers
that can never be null do not begin with "Get".
2013-02-15 21:38:33 -08:00
Cameron McCormack
2885f1362f
Bug 655877 - Part 45: Fixes for DLBI. r=roc,jwatt
2013-02-11 17:22:20 +11:00
Daniel Holbert
99698ae1d8
Bug 839302: Simplify logic in nsBlockFrame::DrainSelfOverflowList, and replace delete w/ nsAutoPtr. r=mats
2013-02-07 17:19:57 -08:00
Mats Palmgren
aa5d71d116
Bug 837007 - Make CollectFloats ignore floats that belong to some other block. r=roc
2013-02-07 02:13:34 +01:00
Daniel Holbert
57c05d58e1
Bug 836899: Remove nsBlockReflowState constructor unused parameter 'aMetrics'. r=dbaron
2013-01-31 14:40:05 -08:00
Mats Palmgren
b7ae90666d
Bug 786533 - Replace NS_MIN/NS_MAX with std::min/std::max and #include <algorithm> where needed. r=ehsan
2013-01-15 13:22:03 +01:00
David Zbarsky
fd7bd329e5
Bug 827149 - Remove some uses of nsIDOMHTMLBodyElement r=bz
2013-01-12 16:53:01 -05:00
L. David Baron
82502ba1e3
Bug 588237, patch 5: remove the optimization of skipping FlowAndPlaceFloat for some pushed floats, simply because the optimization looks fishy to me. r=roc
2013-01-11 14:51:21 -08:00
L. David Baron
1ada7edf5b
Bug 588237, patch 4: Pull pushed floats back from the next-in-flow at the start of reflow. r=roc
2013-01-11 14:51:21 -08:00
L. David Baron
e2afcf2e7d
Bug 588237, patch 2: Fix comment that is now incorrect due to work in bug 563584 or followups. r=roc
2013-01-11 14:51:21 -08:00
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