Commit Graph

1441 Commits

Author SHA1 Message Date
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
L. David Baron
edbd83838f Rename nsStyleBorder::GetActualBorderWidth to GetComputedBorderWidth. (Bug 713643, patch 4) r=bzbarsky 2012-05-30 22:19:49 -07:00
Trevor Saunders
5d33ad118a bug 759033 - nsAccessible -> Accessible and nsAccessibleWrap -> AccessibleWrap r=surkov
--HG--
rename : accessible/src/atk/nsAccessibleWrap.cpp => accessible/src/atk/AccessibleWrap.cpp
rename : accessible/src/atk/nsAccessibleWrap.h => accessible/src/atk/AccessibleWrap.h
rename : accessible/src/base/nsAccessible.cpp => accessible/src/generic/Accessible.cpp
rename : accessible/src/base/nsAccessible.h => accessible/src/generic/Accessible.h
rename : accessible/src/mac/nsAccessibleWrap.h => accessible/src/mac/AccessibleWrap.h
rename : accessible/src/mac/nsAccessibleWrap.mm => accessible/src/mac/AccessibleWrap.mm
rename : accessible/src/msaa/nsAccessibleWrap.cpp => accessible/src/msaa/AccessibleWrap.cpp
rename : accessible/src/msaa/nsAccessibleWrap.h => accessible/src/msaa/AccessibleWrap.h
rename : accessible/src/other/nsAccessibleWrap.cpp => accessible/src/other/AccessibleWrap.cpp
rename : accessible/src/other/nsAccessibleWrap.h => accessible/src/other/AccessibleWrap.h
2012-05-28 21:18:45 -04:00
Ed Morley
83427f0fe0 Merge mozilla-central to mozilla-inbound 2012-05-21 13:19:38 +01:00
Gervase Markham
82ff7027aa Bug 716478 - update licence to MPL 2. 2012-05-21 12:12:37 +01:00
L. David Baron
6b3b8f9533 Remove width determination parameters from font inflation methods. (Bug 747720, patch 5) r=roc
These are no longer needed since we're getting the width from the
nsFontInflationData.
2012-05-20 22:18:28 -07:00
Matt Woodrow
8d9f67b892 Bug 722603 - Add 3d transforms debugging code to nsBlockFrame. r=roc 2012-05-11 19:49:12 +12:00
Mats Palmgren
6e43b822bd Bug 750066. r=roc 2012-05-04 02:14:01 +02:00
L. David Baron
90733eea84 Add a font inflation data structure per block formatting context. (Bug 706193, patch 2) r=roc
This structure is per block formatting context because we have to make a
single inflation decision for things like consecutive runs of paragraphs
of text.  Inflating some paragraphs and not others (within the same
sequence of adjacent paragraphs) based on the amount of text in each one
would be disastrous.  Otherwise it's ideal for the units to be as small
as possible as long as they merge such sequences; therefore this uses a
definition corresponding to CSS's idea of elements that establish new
block formatting contexts.
2012-04-16 15:32:12 -07:00
Mats Palmgren
7213c84c26 Bug 730769 - Make nsLineBox use a frame hash table for lines with many frames. part=2/2 r=bz 2012-03-11 03:32:27 +01:00
Mats Palmgren
170ef239c4 Bug 730769 - Add NewLineBox/FreeLineBox methods to nsBlockFrame. part=1/2 r=bz 2012-03-11 03:32:27 +01:00
Mats Palmgren
39a7d31397 Bug 728906 - Make nsIFrame::GetChildList return const nsFrameList&. r=bz 2012-03-08 02:57:37 +01:00
Mats Palmgren
c1f99b666b Bug 728911 - Remove the nsBlockFrame::mBullet member and store it in a frame property instead (as needed). For an outside bullet, store it as a nsFrameList* to support GetChildList(kBulletList). part 2/2 r=bz 2012-03-08 02:57:37 +01:00
Mats Palmgren
de36d93afa Bug 728911 - Add a HasPushedFloat() method and move the PushedFloatProperty declaration to the .cpp file. part 1/2 r=bz 2012-03-08 02:57:37 +01:00
Mats Palmgren
f2b543f7d7 Bug 728908 - Make the Overflow lines property have both a nsLineList and a nsFrameList for fast access to the last frame, eliminate SetNextSibling calls, and to support GetChildList(kOverflowList). part 1/2 r=bz 2012-03-08 02:57:37 +01:00
Jonathan Watt
d5cf359729 Bug 731959 - Display list support for the 'clip' property in SVG means referring to "AbsPos" clip is misleading. r=bz. 2012-03-02 08:28:56 +00:00
Simon Montagu
a4f1d6d3ac Mark the last line in the block dirty when text-align-last resolves to something other than left. Bug 726392, r=dbaron 2012-02-20 08:49:44 -08:00
Mats Palmgren
0cfc477464 Bug 728255 - Replace nsLineBox::LastChild() calls with O(1) equivalents where possible. r=bz 2012-02-18 02:34:20 +01:00
Daniel Holbert
643dbd2e39 Bug 722510: Remove unused argument from nsBlockFrame::DrainOverflowLines. r=roc 2012-01-30 15:35:03 -08:00
L. David Baron
94eb7fc6c5 Switch nsLayoutUtils inflation methods to the new setup with state on the pres context. (Bug 706609, patch 5) r=roc
This is the third of three patches to rework the way we handle getting
the font inflation container and width data during reflow, which are
needed so that we can sometimes honor inflation during intrinsic width
calculation (which we need to do to make some form controls inflate
correctly).
2012-01-24 17:21:29 -08:00
Mats Palmgren
d33bf8f71c Bug 524925 - Consolidate overflow clipping checks to nsFrame::ApplyOverflowClipping(); and fix some code style nits. part=5/6 r=roc 2012-01-18 21:04:51 +01:00
Benjamin Stover
dc9cd57308 Bug 524925 - Recompute overflow without reflowing for transforms. part=1/6 r=dbaron
Add an extra change hint, UpdateOverflow, that can be used to specify that
a frame's overflow areas may have changed and that they need to be recalculated.
When a transform on a frame changes, instead of marking it for reflow, set this
hint instead.

There is an added virtual function on nsIFrame, UpdateOverflow, which is called
recursively on a frame when the corresponding hint is set, to allow it to
update its overflow areas.
2011-06-15 14:03:49 -07:00
Benjamin Stover
e7ccba6648 Bug 665597 - Include margin calculations in FinishAndStoreOverflow. part=1/5 r=roc 2011-06-20 10:03:09 -07:00
Simon Montagu
a05832e834 Implement text-align-last. Bug 536557, r=dbaron 2012-01-12 19:52:21 +02:00
Ed Morley
afde8417a5 Backout 6605cc311ec5 & 9217303c2e5c (bug 536557) for M4 orange 2012-01-12 15:33:00 +00:00
Simon Montagu
ad89de3591 Implement text-align-last. Bug 536557, r=dbaron 2012-01-12 16:29:20 +02:00
Nicholas Nethercote
24d2c81ee1 Bug 711908 - Fix a bunch of GCC warnings in layout. r=dbaron. 2011-12-19 19:46:39 -08:00
Simon Montagu
1b14fe5a56 Don't assume that text is left-aligned when unicode-bidi=plaintext. Bug 698291, r=dbaron 2011-12-07 13:21:09 +02:00
L. David Baron
0e6b37ad63 Make other users of font metrics (other than MathML and XUL) honor font size inflation. (Bug 627842, patch 15) r=roc
This does not address users of font metrics in layout/mathml/ (for text
size and alignment issues) or in layout/xul (for text size and sizing of
listbox and tree widgets):  see all the callers of GetFontMetricsFor*
in those directories.
2011-11-23 18:48:23 -08:00
L. David Baron
1e5ca9ce1a Apply font size inflation to line heights. (Bug 627842, patch 11) r=roc
Since font size inflation applies to the text after style data
computation, we must separately apply this inflation to line heights.
2011-11-23 18:48:23 -08:00
Mats Palmgren
6b86a5076d Bug 699383 - Remove unused 'aboveTextDecorations'. r=roc 2011-11-04 19:05:35 +01:00
Robert O'Callahan
2db71e8621 Bug 681867. text-overflow only needs to affect the scrolling behavior of the block container with text-overflow. r=mats 2011-10-21 14:41:36 +13:00
Simon Montagu
23fcb4824f Implement unicode-bidi: -moz-plaintext in layout. Bug 662288, r=roc 2011-10-18 14:51:58 +02:00
Ehsan Akhgari
92064e6d3f Bug 690892 - Replace PR_TRUE/PR_FALSE with true/false on mozilla-central; rs=dbaron
Landing on a CLOSED TREE
2011-10-17 10:59:28 -04:00
Ehsan Akhgari
4b84fe41d5 Bug 659828 - Part 1: Apply table margins to the outer table frame instead of the inner table frame (also fixes bug 87277); r=dbaron
Outer table frames act as CSS2.1 table wrapper boxes.  We used to lay them out
without taking their margins into the account, which meant that their width was
always equal to the available width.  This breaks horizontal positioning of
absolutely positioned kids of a table frame.

The main purpose of this patch is to apply the margins of tables to their outer
frame, instead of the inner frame.  This means that the inner table frame will
always have a zero margin, which means that a lot of the stuff which used to
rely on the fact that table margins are applied to the inner frame need to
change.

In particular, in order to get the computed margins of a table, we used to query
the inner table frame, and this patch corrects that.  Also, when shrink wrapping
tables, we used to not take the margins of the inner table frame into account,
which is fixed by this patch too.  nsBlockReflowState::
ComputeReplacedBlockOffsetsForFloats also needed to be changed to read the
margin values from the outer frame too.

Also, as part of this patch, we start to respect the CSS2.1 margin model for
captions on all sides.  This means that in particular, the top/bottom margins on
the top-outside and bottom-outside captions will not be collapsed with the
top/bottom margins of the table, and that the margins of the caption element
contribute to the width and height of the outer table frame.  The
427129-table-caption reftest has been modified to match this new behavior.

Another side effect of this bug is fixing bug 87277, and the reftests for that
bug are marked as passing in this patch.
2011-05-31 19:02:56 -04:00
Ehsan Akhgari
2b29cd6201 Bug 10209 - Part 6: Implement the CSS "containing block" concept correctly as a binary relation, as opposed to a unary relation; r=bzbarsky 2011-05-12 00:04:30 -04:00
Ehsan Akhgari
461fab9117 Bug 10209 - Part 2: Implement the absolute positioning support for all frames; r=roc 2011-04-29 19:02:33 -04:00
Michael Wu
d2b70213ac Bug 675553 - Switch from PRBool to bool on a CLOSED TREE , r=bsmedberg,khuey,bz,cjones
--HG--
rename : tools/trace-malloc/bloatblame.c => tools/trace-malloc/bloatblame.cpp
2011-09-28 23:19:26 -07:00
Mats Palmgren
f1c56f2e22 Bug 653649 - New way of getting child lists from frames. (part 4/5) r=roc
Remove the nsIAtom* child list names and use child list ID enum instead.
2011-08-24 22:54:30 +02:00
Mats Palmgren
2c56109b0d Bug 653649 - New way of getting child lists from frames. (part 3/5) r=roc
Update GetAdditionalChildListName consumers to use the new
child list iterator instead.
2011-08-24 22:54:29 +02:00
Mats Palmgren
605a290f3b Bug 653649 - New way of getting child lists from frames. (part 2/5) r=roc sr=dbaron
Implement GetChildList(ChildListID) and GetChildLists(nsTArray<ChildList>*)
for various frame classes.  Remove GetAdditionalChildListName(PRInt32)
methods and associated macros and list index constants.
2011-08-24 22:54:29 +02:00
L. David Baron
056a511714 Remove overflow handling that should have been removed along with the standards-mode text-shadow of text-decoration handling in bug 403524, changeset 83b2648ee442. (Bug 680505, patch 1) r=roc
Since this affects only the *visual* overflow and not the *scrollable*
overflow, this patch should result in no behavior changes, since the
necessary visual overflow is added in
nsTextFrame::UnionAdditionalOverflow (since the text frame now draws the
shadows of text decorations, just like it draws text decorations
themselves).
2011-08-20 21:35:56 -04:00
L. David Baron
84b8b6bf64 Replace all uses of nsLayoutUtils::SetFontFromStyle with GetFontMetricsForFrame or GetFontMetricsForStyleContext and remove SetFontFromStyle. (Bug 678671, patch 2) r=roc
There was nothing wrong with SetFontFromStyle, except that it's just one
more API to think about (and one more API to audit and modify for font
inflation work to happen in bug 627842).
2011-08-14 10:08:04 -07:00
Vitor Menezes
f82cd17bcb Bug 403524: Remove the standards-mode text-decoration code and use the quirks-mode code in all modes. r=dbaron 2011-08-03 11:30:58 -07:00
Mats Palmgren
e790b4f010 Bug 673770 - Also search overflow lines for aPrevSibling. r=roc 2011-08-03 17:55:00 +02:00
arno renevier
8ed39834bd Bug 669299 - Remove unneeded nsPrintfCString.h includes. r=bsmedberg 2011-07-21 04:37:31 +02:00
Simon Montagu
c5979d144a Make all nsBidiPresUtils methods static. Bug 624798, r=roc 2011-04-13 12:23:49 +03:00
Ehsan Akhgari
2a3dbb4205 Back out bug 10209 and bug 656875 (its regression fix) from Aurora because the work on this bug has not been finished yet
--HG--
extra : transplant_source : t%9F%EB%2Aa%A4%C0%9Ab%A5%DDQ%3EMD%5E%01h%E7%2A
2011-06-01 16:18:15 -04:00
Mats Palmgren
e757474795 Bug 312156 - Implement CSS3 text-overflow. r=roc 2011-06-22 20:11:48 +02:00
Ed Morley
089654ad1f Bug 665723 - Fix unused variable warnings in layout/generic/; r=roc 2011-06-21 17:37:47 +02:00
Simon Montagu
135dbf4440 Don't adjust the horizontal position for text-indent on right-to-left lines. Bug 641444, r=dbaron 2011-05-31 11:03:27 +03:00
Robert O'Callahan
1037e78cf0 Bug 650228. Invalidate ThebesLayers when a linebox is moved. r=dbaron 2011-05-13 02:59:15 +12:00
Ed Morley
314ae63769 Bug 545261 - Remove the debug "yikes! spinning on a line over 1000 times!" abort; r=roc 2011-05-10 20:24:48 +02:00
Ehsan Akhgari
e66b9024c8 Bug 10209 - Part 2: Implement the absolute positioning support for all frames; r=roc 2011-04-29 19:02:33 -04:00
L. David Baron
8c5dc15b9c When we know a block can't fit, end ReflowBlockFrame early, in case a zero-height block tries to. (Bug 652178) r=roc 2011-04-28 10:21:36 -07:00
Simon Montagu
f213cf876f Back out bug 263359 and bug 624798 because of performance regressions (bug 650189) 2011-04-27 11:47:18 +03:00
Masayuki Nakano
1adf21f3e7 Bug 647421 -moz-text-decoration-color and -moz-text-decoration-style should be reset by text-decoration r=dbaron, sr=bzbarsky 2011-04-23 14:16:41 +09:00
Jonathan Watt
a5b747bfa7 Bug 649726 - Move nsHTMLContainerFrame static view methods to nsContainerFrame. r=bz. 2011-04-19 12:55:11 +01:00
Robert O'Callahan
a7b4f1246b Bug 641426. Part 5: Avoid operator== where possible to distinguish between 'equal edges' and 'equal areas' for rectangles. r=dbaron,sr=cjones 2011-04-19 15:07:23 +12:00
Zack Weinberg
b6b73ad75a Bug 174055, part 4: mechanical fixups outside gfx. 2011-04-07 18:05:49 -07:00
Zack Weinberg
9f143f420f Bug 174055, part 1: minimize inclusion of nsI(Thebes)FontMetrics.h. 2011-04-07 18:04:41 -07:00
Zack Weinberg
1628ea1551 Bug 266236 part 9: Move nsBoundingMetrics to its own header and prune inclusions of nsRenderingContext.h.
--HG--
rename : gfx/src/nsThebesRenderingContext.cpp => gfx/src/nsRenderingContext.cpp
rename : gfx/src/nsThebesRenderingContext.h => gfx/src/nsRenderingContext.h
extra : rebase_source : 92660748436f03475e011184e2828f1db0ad63e0
2011-04-07 18:04:40 -07:00
Zack Weinberg
86131020a5 Bug 266236 part 8: Change nsRenderingContext::GetDeviceContext and ::GetFontMetrics to return bare pointers.
--HG--
rename : gfx/src/nsThebesRenderingContext.cpp => gfx/src/nsRenderingContext.cpp
rename : gfx/src/nsThebesRenderingContext.h => gfx/src/nsRenderingContext.h
extra : rebase_source : 36dd32d715cb75e99cd3a69e460c000c1777d6a6
2011-04-07 18:04:40 -07:00
Jan Küchler
c510bc3046 Bug 266236 part 3: Mechanical rename of nsIRenderingContext and nsThebesRenderingContext to nsRenderingContext. Mechanical substitution of nsRefPtr<nsRenderingContext> for nsCOMPtr<nsRenderingContext>.
--HG--
rename : gfx/src/nsThebesRenderingContext.cpp => gfx/src/nsRenderingContext.cpp
extra : rebase_source : 34884bfcafd885feaf73300bc7246cd192062a48
2011-04-07 18:04:40 -07:00
Jan Küchler
ebb2f0c7ec Bug 266236 part 1: Preliminary API cleanup on nsIRenderingContext.
--HG--
extra : rebase_source : a21ffad484f47103e403b8316eae5fdfd815c2cb
2011-04-07 18:04:39 -07:00
Simon Montagu
c808d636dc Make all nsBidiPresUtils methods static. Bug 624798, r=roc 2011-04-13 12:23:49 +03:00
Mats Palmgren
c28204bb2d Bug 614969 - Use the primary frame for the display style test. r=bzbarsky 2011-04-04 13:41:02 +02:00
Masayuki Nakano
fcb9c01bf9 Bug 59109 Part 3: Implement text-decoration-color and text-decoration-style rendering r=dbaron 2011-03-31 21:27:03 +09:00
Masayuki Nakano
8de7beda92 Bug 59109 Part 2: Cleaning up current text decoration implementation r=dbaron 2011-03-31 21:26:49 +09:00
Alexander Surkov
0ba17ebe91 Bug 629114 - crash on add comment link in review board [@ nsBulletFrame::GetListItemText ] [@ nsBulletFrame::GetListItemText(nsStyleList const&, nsString&) ], r=davidb, marcoz, sr=bz, a=blocking2.x+ 2011-03-28 22:59:54 +09:00
Alexander Surkov
5029052452 Bug 628922 - layout should use cached nsIAccessibilityService, r=davidb, sr=roc, a=roc 2011-01-28 12:38:14 +08:00
Boris Zbarsky
414c08eb55 Bug 626395. Make sure that when we're clipping our kids we don't create overflow containers for their overflow. Force the kids to lay out within our size instead. Also don't include overflowing kids in our overflow area if we're clipping them. r=roc, a=blocker 2011-01-19 17:39:31 -05:00
L. David Baron
4793ae3bb5 Report incomplete reflow status as appropriate when frame tree is too deep. (Bug 619021) r=roc a2.0=blocking 2011-01-11 17:09:22 -08:00
L. David Baron
798ba3541e Issue console warning when we abort reflow because the frame tree is too deep. (Bug 619021) r=roc a2.0=blocking 2011-01-11 17:09:22 -08:00
L. David Baron
407079645b Add assertions that the frame tree is safe to destroy (i.e., doesn't contain any first-in-flows or other things we should never destroy) when we call DeleteNextInFlowChild. (Bug 619021) r=roc a2.0=blocking 2011-01-11 17:09:22 -08:00
L. David Baron
08650a41ac Handle multiple continuations of the same float being out-of-order in the same float list. (Bug 595740) r=roc a2.0=blocking 2011-01-11 17:09:21 -08:00
L. David Baron
b55b0a70f8 Move assertion about continuations of floats so that it is valid. (Bug 595740) r=roc a2.0=blocking
When we do multiple reflow passes inside a container with page or column
breaks, we might hit this assertion for legitimate reasons.  In
particular, if a reflow places the first-in-flow of a float in a later
continuation of its containing block than it was in before, or if a
reflow reflows a float that was split and then pushes the line
containing the float's placeholder, then during reflow we push the
continuations of the float back through the continuations of the
containing block, and in intermediate states of this process (such as
when this assertion fires), we have two continuations of the same float
within the same parent.
2011-01-11 17:09:21 -08:00
Boris Zbarsky
9d901fdd66 Bug 614397. Always descend through all placeholders while doing any sort of selection display list. r=roc, a=roc 2010-12-07 08:54:50 -05:00
Dave Townsend
8f548dcd1c Backing out changeset 2719d97b6766 from bug 609227 due to unexpected reftest failures. a=backout 2010-12-02 10:57:26 -08:00
Boris Zbarsky
4bff48c2bb Bug 609227. Always place a line at y<=0 in the block; there's no point in pushing such a line to the next block. r=roc, a=blocker 2010-12-02 12:32:41 -05:00
Ehsan Akhgari
db2d8e7cb6 Bug 389321 - Part 3: Use a centralized algorithm for caret positioning; r=roc a=blocking-betaN+ 2010-08-31 14:54:44 -04:00
Alexander Surkov
e2435552e0 Bug 604587 - bullets of nested not ordered lists have one and the same character, r=davidb, sr=roc, a=roc 2010-10-16 00:34:24 +09:00
Alexander Surkov
57c9906674 Bug 557795 - wrong list bullet text of accessible for the first numbered HTML:li in CKEditor, r=davidb, sr=roc, a=blocking
--HG--
rename : accessible/tests/mochitest/tree/test_list_invalidate.html => accessible/tests/mochitest/treeupdate/test_list.html
2010-10-14 18:05:22 +09:00
L. David Baron
86a617e692 Change callers to use new nsIFrame overflow APIs. (Bug 542595, patch 20) r=roc a2.0=blocking2.0:beta8 2010-10-06 21:25:47 -07:00
L. David Baron
44ad3bb392 Now that overflow areas are split, change nsIFrame::ComputeTightBounds to use visual overflow. While it really only needs to include frame bounds, glyph bounds, and text decorations, since glyph bounds are not part of scrollable overflow, it must use visual overflow. (Bug 542595, patch 15) r=roc a2.0=blocking2.0:beta8 2010-10-06 21:25:46 -07:00
L. David Baron
f2d0213cb0 Remaining nsBlockFrame changes for split overflow areas. (Bug 542595, patch 14) r=roc a2.0=blocking2.0:beta8 2010-10-06 21:25:45 -07:00
L. David Baron
5ca0a89262 Change nsBlockReflowContext::PlaceBlock for split overflow areas. (Bug 542595, patch 13) r=roc a2.0=blocking2.0:beta8 2010-10-06 21:25:45 -07:00
L. David Baron
65fcd4c12c Split overflow areas for block frame float continuations. (Bug 542595, patch 12) r=roc a2.0=blocking2.0:beta8 2010-10-06 21:25:45 -07:00
L. David Baron
bd2bd8bb96 Compute nsBlockFrame.cpp's ComputeCombinedArea to split overflow areas. (Bug 542595, patch 11) r=roc a2.0=blocking2.0:beta8 2010-10-06 21:25:45 -07:00
L. David Baron
8c6cf1d539 Compute nsBlockFrame::ComputeCombinedArea to split overflow areas. (Bug 542595, patch 10) r=roc a2.0=blocking2.0:beta8 2010-10-06 21:25:45 -07:00
L. David Baron
3ab4906eba Convert nsBlockReflowState::mFloatCombinedArea and part of nsBlockFrame to split overflow areas. (Bug 542595, patch 9) r=roc a2.0=blocking2.0:beta8 2010-10-06 21:25:45 -07:00
L. David Baron
dd079acd74 Make nsLineLayout track two separate overflow areas. (Bug 542595, patch 7) r=roc a2.0=blocking2.0:beta8 2010-10-06 21:25:45 -07:00
L. David Baron
553a77eec8 Make ReflowOverflowContainerChildren handle split overflow areas. (Bug 542595, patch 3) r=roc a2.0=blocking2.0:beta8 2010-10-06 21:25:45 -07:00
L. David Baron
c9b79769d1 Use split overflow areas in nsAbsoluteContainer::Reflow. Fixes overflow handling bug in nsPositionedInlineFrame where non-positioned overflow was ignored. (Bug 542595, patch 2) r=roc a2.0=blocking2.0:beta8 2010-10-06 21:25:45 -07:00
Robert O'Callahan
0cf14ffe41 Bug 596710. Increment (not decrement) rline to skip checking the cursor line twice. r=dbaron a=blocking 2010-09-17 12:09:08 -07:00
Ehsan Akhgari
2f6c2a4baa Bug 593211 - Part 3: Optimize nsBlockInFlowLineIterator by using the line cursor if present; r,a=roc
--HG--
extra : rebase_source : 03f9f9532373592b415e622788204a7766d998f6
2010-09-08 20:15:24 -04:00
Robert O'Callahan
8c37d3bfef Bug 584494 - Regression: Transform rotation testcase performs significantly worse - r=dbaron 2010-09-02 14:07:37 -04:00
L. David Baron
b221c0b0c0 Add support for calc() to 'vertical-align' and 'text-indent'. (Bug 585715) r=bzbarsky a2.0=blocking:beta6+ 2010-08-31 12:05:12 -04:00
L. David Baron
73db7cd5c4 Share IsPaddingZero between nsBlockFrame and nsInlineFrame by putting it in nsLayoutUtils. (Bug 585715) r=bzbarsky a2.0=blocking:beta6+ 2010-08-31 12:05:12 -04:00
L. David Baron
374fca8e4f Add support for calc() to the '{margin,padding}-{top,right,bottom,left}' and '-moz-margin-{start,end}' properties. (Bug 585715) r=bzbarsky a2.0=blocking:beta6+ 2010-08-31 12:05:12 -04:00
Robert O'Callahan
a376dd008e Bug 579323. Part 3: Fix invalidation of lines to update layers as necessary. r=dbaron
--HG--
extra : rebase_source : 6a043bda5f16f9a257fa4bfa272d8362facef4c2
2010-08-31 12:49:13 +12:00
L. David Baron
fce97072e6 Add support for calc() to the 'height', 'min-height', and 'max-height' properties. (Bug 585715) r=bzbarsky a2.0=blocking+ 2010-08-25 12:17:55 +02:00
L. David Baron
750b5eeb63 We might need to collect pushed floats from the overflow out-of-flows list too, just like normal floats. (Bug 586806) r=roc a2.0=blocking 2010-08-19 09:38:00 -04:00
L. David Baron
f7f2374e3e Don't construct an nsFrameList whose first child has a previous sibling. (Bug 586806) r=roc a2.0=blocking 2010-08-19 09:38:00 -04:00
L. David Baron
f4944f292c Destroy the pushed floats list in nsBlockFrame::DestroyFrom. (Bug 585598) r=roc a2.0=blocking 2010-08-19 09:38:00 -04:00
L. David Baron
219e24a238 Rename a frame property that I missed in a mass-rename. a2.0=blocking (Bug 563584) 2010-08-19 09:37:59 -04:00
fantasai
d65a7e96aa Change coordinate system in the float manager from content box (most of the time, but sometimes border box) to always border box. (Bug 551425) r=dbaron a2.0=blocking+ 2010-08-11 12:32:53 -07:00
L. David Baron
7afdbd9a59 Rename float continuations to pushed floats. (Bug 563584, patch 33) r=roc
This patch was generated with the following sed commands on layout/generic/*.{h,cpp}: 's/FLOAT_CONTINUATION/PUSHED_FLOAT/g;s/FloatContinuation/PushedFloat/g;s/float continuation/pushed float/g' plus whitespace fixup where the frame state bits are defined.
2010-08-05 21:59:20 -07:00
L. David Baron
0e4d5cd3d9 Set incomplete status when we have continuations that we shouldn't destroy. Fixes assertion on layout/generic/crashtests/469859-1.xhtml . (Bug 563584, patch 30) r=roc 2010-08-05 21:59:20 -07:00
L. David Baron
8b2e645003 Don't switch a constrained height to an unconstrained one due to infinite clearance. Fixes layout/reftests/bugs/563584-10b.html . (Bug 563584, patch 29) r=roc 2010-08-05 21:59:20 -07:00
L. David Baron
0d14c6f6b1 In a constrained height situation, we need to reflow anything with floats. (Bug 563584, patch 25) Fixes assertion on layout/generic/crashtests/408883-1.html . r=roc 2010-08-05 21:59:20 -07:00
L. David Baron
e8ca3f4e21 Add bit to lines indicating that they may have a placeholder for a float that was pushed to the next line (and bump the child count up to 32 bits). (Bug 563584, patch 24) r=roc 2010-08-05 21:59:20 -07:00
L. David Baron
729eb4ac32 Remove aReflowStatus parameters made unnecessary by previous patch. (Bug 563584, patch 20) r=roc 2010-08-05 21:59:20 -07:00
L. David Baron
5d647fbf31 Rename PushTruncatedPlaceholderLine since the remaining reasons for lines being truncated are related to being next to floats, not having truncated floats. (Bug 563584, patch 19) r=roc 2010-08-05 21:59:20 -07:00
L. David Baron
a918ee7979 Do the same for PlaceBelowCurrentLineFloats: don't propagate the truncation of a float into the line's reflow status. (Bug 563584, patch 18) r=roc 2010-08-05 21:59:20 -07:00
L. David Baron
f5631fb91d Don't propagate the float's reflow status through places that expect an inline's reflow status, to avoid the assertion for which bug 563584 was filed. This separates pushing of floats from pushing of lines, and allows first-in-flow floats to be pushed to the next page without their associated line. (Bug 563584, patch 17) r=roc 2010-08-05 21:59:19 -07:00
L. David Baron
87e57de265 Save float's next sibling since reflowing it could change the next sibling. (Bug 563584, patch 16) r=roc 2010-08-05 21:59:19 -07:00
L. David Baron
7811dafa89 Steal float back before reflowing it, in order to allow first continuation of a float to be pushed to the next page. (Bug 563584, patch 15) r=roc 2010-08-05 21:59:19 -07:00
L. David Baron
5e7f097aa8 nsBlockFrame::ReflowFloatContinuations doesn't need anything in AddFloat other than FlowAndPlaceFloat. (Bug 563584, patch 14) r=roc 2010-08-05 21:59:19 -07:00
L. David Baron
83f95abb0c Manage float continuations to-be-pulled by the next-in-flow better by keeping them in a separate frame list until they're actually pulled. (Bug 563584, patch 13) r=roc 2010-08-05 21:59:19 -07:00
L. David Baron
e24a4a847e Track which frames were float continuations that need to be pulled to the next block rather than figuring it out again when it's time to pull them. (This allows first-in-flows to be float continuations.) (Bug 563584, patch 12) r=roc 2010-08-05 21:59:19 -07:00
L. David Baron
62189e853d Don't try to clear pushed floats when computing the final size of blocks. Fixes scrollbar on layout/reftests/bugs/563584-6-columns.html . (Bug 563584, patch 11) r=roc 2010-08-05 21:59:19 -07:00
L. David Baron
771fb25729 Add the optimization mentioned in the previous patch, so we don't have to iterate all floats to determine if one was split. (Bug 563584, patch 10) r=roc 2010-08-05 21:59:19 -07:00
L. David Baron
f6db316887 Remove initialization to value that doesn't make much sense and never matters. (Bug 563584, patch 8) r=roc 2010-08-05 21:59:19 -07:00
L. David Baron
5dbb4fc493 Replace force-fit with setting mIsTopOfPage correctly. (Bug 563584, patch 5) r=roc 2010-08-05 21:59:19 -07:00
L. David Baron
91606392a2 Make nsBlockReflowState::FlowAndPlaceFloat reflow the float after computing its vertical position, so we know how much height is actually available. (Bug 563584, patch 4) r=roc
Test coverage for this is in the future patch "Add reftests for bug 563584.".
2010-08-05 21:59:18 -07:00
L. David Baron
bf246f7401 Remove aForceFit/aRelaxHeightConstraint concept from float reflow, since we now split floats rather than push them to the next page (and correct propagation of nsHTMLReflowState::mFlags::mIsTopOfPage will force fitting when we need to). (Bug 563584, patch 2) r=roc 2010-08-05 21:59:18 -07:00
Alexander Surkov
65c355c8a7 Bug 573706 - make frame based accessible creation more pellucid, r=davidb, sr=roc 2010-06-28 21:02:03 +09:00
Boris Zbarsky
524cd98ad3 Bug 571618. Fix asertion to match reality. r=roc 2010-06-14 16:06:48 -04:00
Boris Zbarsky
1043caa71e Bug 571281. Make list-style-position:inside + display:list-item + non-visible overflow work again. r=roc 2010-06-11 15:23:13 -04:00
Daniel Holbert
f0ce4494a7 Bug 571059: Update debugging printfs to treat nsFrameState objects as 64-bit & fix build warnings. r=dbaron 2010-06-10 11:26:57 -07:00
Mats Palmgren
f0c140c1bb Check each next-in-flow if it's an overflow container. b=564968 r=fantasai 2010-06-02 01:32:59 +02:00
Robert O'Callahan
ee648ea91a Bug 489477. Part 1: reflow lines again for clearance while we pull lines from the next-in-flow. r=mats 2010-05-13 12:56:08 +12:00
Boris Zbarsky
d136b98028 Bug 562688 part 11. Eliminate eELEMENT usage in layout/generic. r=dbaron 2010-04-30 09:12:06 -04:00
Simon Montagu
5a1b8e74ab Force logical ordering in XUL elements on visual bidi pages. Bug 558403, r=roc 2010-04-25 15:15:17 +03:00
Mats Palmgren
c155b1f205 Use NSCoordSaturatingAdd to avoid integer overflow. b=541714 r=roc 2010-04-14 21:35:36 +02:00
Ehren Metcalfe
a791e19cc4 Bug 556446: Remove dead code in layout. r=roc,bz 2010-04-03 07:36:19 -04:00
Robert O'Callahan
0fd1837981 Bug 551660. Switch layout code from using nsPropertyTable to FramePropertyTable. r=mats,sr=dbaron 2010-03-29 14:46:55 +13:00
Boris Zbarsky
372157e378 Bug 522632. Make cellContent blocks returns false from IsContainingBlock. r=dbaron 2010-03-03 18:53:18 -05:00
Jonas Sicking
5310e41295 Bug 545059: Remove unneeded/non-working bidi.controlstextmode pref. r=smontagu 2010-02-24 21:58:17 -08:00
Timothy Nikkel
9979737bc3 Bug 542136. If we are going to stop reflowing the children of a line, split the line even if we just finished a first letter or placeholder. r=roc
--HG--
extra : rebase_source : 3c3d54119f839c412a85930190f247bae07b10c7
2010-01-27 22:12:45 -06:00
Mats Palmgren
d637043263 Simplify PullFrame()/PullFrameFrom(). b=538525 r=roc 2010-01-11 15:08:23 +01:00
Timothy Nikkel
c2ea34e5ea Bug 499841. Pass the block frame that contains the first letter style to RemoveFirstLetterFrames so that the NS_BLOCK_HAS_FIRST_LETTER_CHILD bit can be unset on it. Always set the NS_BLOCK_HAS_FIRST_LETTER_CHILD bit on the first continuation only. r=bzbarsky
--HG--
extra : rebase_source : 411297490d6d18244fa7caa3194facfedc28ea86
2009-12-22 17:44:35 -06:00
L. David Baron
19af9d4ec0 Set iterators to valid position after deleting overflow lines. (Bug 534082) r=tnikkel 2009-12-25 08:59:08 -05:00
fantasai
3027a2127b Bug 508473 part III: Pass destruction root to frame destruction methods r=bz sr=roc 2009-12-24 00:21:15 -05:00
fantasai
b27eacbc1d Bug 508473 Part II: Remove DeletingFrameSubtree r=bz sr=roc 2009-12-24 00:20:41 -05:00
Mats Palmgren
162c4e9965 Don't try to get a nsLineBox* from an empty line list, it aborts a debug build. b=533379 r=bzbarsky 2009-12-18 10:02:10 +01:00
Olli Pettay
423522c88b Bug 487667 - Clone documents for printing, r=roc+jst+joe+dbaron
--HG--
extra : rebase_source : dbab242066ba97c0d7f34a2fb701a1c465f26ec4
2009-12-10 20:02:13 -08:00
Boris Zbarsky
5132d64872 Bug 525608 part 3. Change all style set consumers that ask for a pseudo style context to indicate what they're actually asking for (pseudo-element, anonymous box, or xul tree thing). r=dbaron 2009-12-11 02:37:40 -05:00
Boris Zbarsky
8202b90f61 Backing out bug 525608 and bug 525952 2009-12-10 18:28:08 -08:00
Boris Zbarsky
6eb3c28de7 Bug 525608 part 3. Change all style set consumers that ask for a pseudo style context to indicate what they're actually asking for (pseudo-element, anonymous box, or xul tree thing). r=dbaron 2009-12-10 14:36:05 -08:00
Boris Zbarsky
cac46ff131 Bug 518114 part 1. Don't force a virtual GetType call in GetFloatFromPlaceholder. r=roc 2009-11-16 16:00:07 -05:00
Timothy Nikkel
2cfab880b5 Bug 515811. mPrevChild needs to be set on early exit from nsBlockFrame::ReflowBlockFrame. r=fantasai sr=dbaron
--HG--
extra : rebase_source : a0a457fa9348f48ac4f491610098f7488501faf7
2009-10-15 21:41:58 -05:00
Robert O'Callahan
132bf4d93d Bug 523468. Make sure we reflow the next line when content is pushed or pulled from an inline frame. r=dbaron 2009-10-27 14:43:56 +13:00
Timothy Nikkel
57fe60c878 Bug 520427. Improvements to debug output List for frames. r=dbaron
--HG--
extra : rebase_source : f7723925a24937bb1989344805e9fda01ae0eded
2009-10-15 21:47:03 -05:00
Boris Zbarsky
7813eeb6d1 Bug 525295. Rename nsStyleContext::GetPseudoType to GetPseudo. r=dbaron 2009-10-29 17:17:56 -04:00
Robert O'Callahan
c3e1864c33 Backed out changeset 9f5177a978ac 2009-10-27 21:46:18 +13:00
Robert O'Callahan
182a9bcb4b Bug 523468. Force next line to be reflowed whenever we push or pull children from an inline frame. r=dbaron 2009-10-27 14:43:56 +13:00
Robert O'Callahan
c41769107b Bug 504524. Don't reflow the line after an incomplete frame unless we really need to. r=bz 2009-10-19 01:01:40 -07:00
Simon Montagu
3ee173e3c1 Don't propagate the FRAMES_ARE_EMPTY flag when continuations cross block frame boundaries. Bug 495875, r+sr=roc 2009-10-13 00:12:54 -07:00
Boris Zbarsky
9c7ed6f55d Bug 516742. Make RFindLineContaining walk backwards along the lines' frames too, not just along the lines. r=roc,fantasai 2009-10-02 12:31:43 -04:00
Boris Zbarsky
ba8c31506f Bug 512336. Make frame lists doubly-linked. r=roc,fantasai 2009-10-02 12:27:37 -04:00
David Zbarsky
3d96b7b4a7 Bug 488249. Replace IsNodeOfType(eHTML) checks with namespace checks. r+sr=jst 2009-08-24 16:02:07 -04:00
Boris Zbarsky
7761f7af77 Bug 512471. Make nsBlockFrame's mFrames track its principal child list. r=roc,fantasai 2009-09-29 15:47:05 -04:00
Timothy Nikkel
dec90dd61b Bug 499607. Stop leaking nsBlockFrame's overflow nsLineList's. r=fantasai sr=dbaron
--HG--
extra : rebase_source : 925847bda80e1b917af99119a11d0fb90ec479e8
2009-09-28 20:23:33 -05:00
Mats Palmgren
ce915e403f Store the overflow out of flows as an nsFrameList. b=516974 r=bzbarsky 2009-09-24 04:39:21 +02:00
Michael Ventnor
e18537e820 Bug 512988 - Text-shadow blur and underline messes up with padding-left. r+sr=roc 2009-09-18 20:18:35 +02:00
Mats Palmgren
2c137c2022 Bug 233463, patch 5 - Remove nsFrameList(nsIFrame*) ctor. r=bzbarsky 2009-09-18 13:09:36 +02:00
Mats Palmgren
eb7a0b3a40 Bug 233463, patch 4 - Make nsIFrame::mNextSibling private. r=bzbarsky 2009-09-18 13:09:36 +02:00
Mats Palmgren
c3fb633256 Bug 233463, patch 3 - Make Destroy/RemoveFrame() methods void and assert that the frame to remove is present. r=bzbarsky 2009-09-18 13:09:36 +02:00
Mats Palmgren
1a7f096af8 Bug 233463, patch 2 - Introduce nsFrameList::mLastChild member for fast access to the last sibling frame. r=bzbarsky 2009-09-18 13:09:36 +02:00
Mats Palmgren
7a3be46e9e Bug 233463, patch 0 - Use nsFrameList methods instead of nsIFrame::SetNextSibling. r=bzbarsky 2009-09-18 13:09:35 +02:00
Mats Palmgren
dea07412a1 Replace PR_MIN/PR_MAX with NS_MIN/NS_MAX. b=512106 r=roc 2009-09-16 17:01:36 +02:00
Daniel Holbert
f690307cc5 Bug 503961: Initialize block-reflow-state's nsOverflowContinuationTracker a little later, so that it doesn't end up with stale overflow-list pointers. r=fantasai r=roc 2009-09-13 17:26:01 -07:00
Zack Weinberg
d47e0f433b Bug 497495 part 3: Add methods to every nsFrame subclass that expose the as-allocated identity of every frame object. Also some cleanups to the QueryFrame implementation. r=dbaron sr=roc 2009-09-12 17:49:24 +01:00
L. David Baron
2ee74123ac Make empty bullets (i.e., those for list-style-type:none) not contribute to layout. (Bug 512631) r=roc 2009-09-11 06:46:36 -04:00
Timothy Nikkel
b2aa5f5c99 Bug 514634. Remove unneeded second call to SetNextSibling, add some assertions, and fix a comment. r=fantasai
--HG--
extra : rebase_source : ab9ca9100ae41a022c4a0c129f98d5918d3c8c44
2009-09-11 10:26:30 +12:00
Mats Palmgren
56f9427ab3 Don't fall off the edge without returning a value. b=514689 r=fantasai 2009-09-04 23:07:30 +02:00
Timothy Nikkel
d687d462a3 Bug 513394. Make sure that mPrevChild gets set on nsBlockReflowState. r=dbaron 2009-09-02 11:33:15 -04:00
fantasai
05cab6329e Bug 492627 - Remove Placeholder Continuations [Part VII: More intelligent deletion of floats and overflow containers] r=roc 2009-08-31 11:25:37 -07:00
fantasai
0a8cd46b1a Bug 492627 - Remove Placeholder Continuations [Part VI: Handle <br clear>] r=roc 2009-08-31 11:25:36 -07:00
fantasai
1f4c53a304 Bug 492627 - Remove Placeholder Continuations [Part V: Reimplement float splitting without placeholder continuations] r=roc 2009-08-31 11:25:36 -07:00
fantasai
b2ea1d69bb Bug 492627 - Remove Placeholder Continuations [Part IV: Switch float layout APIs to pass float directly, without placeholder] r=roc 2009-08-31 11:25:35 -07:00
fantasai
87bc18b4e2 Bug 492627 - Remove Placeholder Continuations [Part III: Remove current float-splitting code.] r=roc 2009-08-31 11:25:35 -07:00
Jesse Ruderman
5e9bd401e7 Fix typo in assertion message 2009-08-25 21:50:41 -07:00
Boris Zbarsky
8f435d226b Backed out changeset 4aa19414e651 (bug 488249) to fix test orange.
--HG--
extra : rebase_source : ae1c0155ec32b0887eff27ded77c6ba2b37dda64
2009-08-24 20:51:57 -04:00
David Zbarsky
0aa6350041 Bug 488249. Replace IsNodeOfType(eHTML) checks with namespace checks. r+sr=jst 2009-08-24 16:02:07 -04:00
Zack Weinberg
430c5ceb95 Bug 510651: Fold nsIFrameDebug into nsFrame. r=dbaron sr=mrbkap 2009-08-20 14:52:48 -07:00
L. David Baron
814000c9e5 When a block without lines has a bullet, give the line we fake its full line height. (Bug 179596) r=roc 2009-08-10 19:48:42 -07:00
Boris Zbarsky
811394b5da Bug 281387. Make nsIFrame::Append/InsertFrames use nsFrameList. r=bernd,roc, sr=dbaron 2009-07-30 13:23:32 -04:00
Boris Zbarsky
1a72918d23 Bug 496500. Don't try to interrupt on lines we're not actually reflowing, since during a resize on Windows HasPendingInputEvent returns true while the mouse is down. r+sr=roc 2009-07-30 11:53:36 -04:00
Boris Zbarsky
2a78273130 Relanding bug 496823 in the hopes that it's not causing the XP Txul issue.
--HG--
extra : rebase_source : 593d43b5c229e077e4454d848dba59265dee6b58
2009-07-29 08:53:27 -04:00
Boris Zbarsky
51ea3f4f6e Backed out changeset 622a29736f33 to see whether bug 496823 causes the WinXP Txul regression.
--HG--
extra : rebase_source : 450a2a83442a2326e303f97ad82d8213fbe11490
2009-07-28 14:35:28 -04:00
Boris Zbarsky
1ef12b64a7 Bug 504221 part 12. Switch SetInitialChildList to nsFrameList. r=fantasai, r+sr=roc 2009-07-28 08:53:20 -04:00
Boris Zbarsky
ba5826b152 Bug 504221 part 6. Switch nsBlockFrame::AddFrames to nsFrameList. r=fantasai,roc 2009-07-28 08:51:10 -04:00
Boris Zbarsky
cf7d0b6141 Bug 504221 part 5. Switch from GetFirstChild to GetChildList (returning an nsFrameList). For now, keep a GetFirstChild shim so callers don't have to be updated. r=fantasai, r+sr=roc 2009-07-28 08:51:09 -04:00
Boris Zbarsky
1950f2e7c4 Bug 496823. Blocks can implement GetLastChild() much faster than by just getting first child and iterating its siblings. r=roc 2009-07-26 21:27:32 -04:00
Boris Zbarsky
09eadb9ca6 Bug 505482. Make sure to not leave frames on overflow lists when we interrupt reflow. Also fixes bug 478527 and bug 496742. r=roc 2009-07-24 09:32:32 -04:00
fantasai
1816bcdd46 Bug 499377 - Store float region on frame r+sr=roc 2009-07-14 22:19:31 -07:00
fantasai
ee45e23e42 Bug 503183 - Use Overflow Containers for float continuations beyond end of containing block r=roc 2009-07-13 09:50:54 -07:00
fantasai
ed9e1a5bd5 Bug 389462 - columns don't reflow on resize r=roc 2009-07-06 18:23:24 -07:00
Daniel Holbert
ab655b31be Bug 465651: Move ReflowOverflowContainerChildren earlier in nsBlockFrame::Reflow. r+sr=roc 2009-06-28 20:56:13 -07:00
L. David Baron
98b2b4a981 Don't reduce the height we're checking while we reflow for floats. (Bug 494332) r+sr=roc 2009-06-16 08:00:20 -07:00
Timothy Nikkel
465a4821c7 Bug 491700 - "hang while resizing windows (CPU hits 100%, no interaction is possible)." r+sr=bzbarsky 2009-06-12 21:28:41 -04:00
L. David Baron
803e2f944a Fix bug 25888 for inline frames other than bullets: redo line reflow when the line's height pushes it into the way of other floats. (Bug 25888) r+sr=roc 2009-05-20 07:21:34 -04:00
Jonas Sicking
7ac1da9ded Bug 481566: Add prefs to control making the content sink more responsive. r/sr=mrbkap 2009-05-19 08:54:42 -07:00
Robert O'Callahan
ce9f80f759 Bug 492480. Unregister placeholder relationship when we destroy out-of-flow frames, instead of trying to do it earlier in many places and not always doing it right. r+sr=dbaron
--HG--
extra : rebase_source : c9bedc1d7482b9c7ccf2878caded9320b92eb652
2009-05-14 09:35:02 +12:00
Daniel Holbert
42f2f94d22 Bug 490909: Remove old layout debugging code, patch #2: remove 'VerifyTree' & related code. r+sr=dbaron 2009-05-12 12:03:09 -07:00
Simon Montagu
3c67dd2a7e Do bidi reordering for visual RTL frames in the same way as other bidi frames. Bug 492231, r+sr=roc 2009-05-11 03:36:01 -07:00
Boris Zbarsky
3202c50376 Bug 492080. More correct marking of dirty bits on floats when we interrupt. r+sr=dbaron 2009-05-09 22:51:34 -05:00
Daniel Holbert
191500c58e Bug 490909: Remove old debugging functions InLineList & InSiblingList, since they're not used by anything. r+sr=dbaron 2009-05-06 10:03:59 -07:00
Boris Zbarsky
346daa82d1 Bug 67752. Implement interruptible reflow. r=roc,dbaron 2009-04-21 19:53:52 -04:00
Joe Drew
633b99bd32 Backed out changeset 6a452e522e07 - Boris Zbarsky – Bug 67752. Implement interruptible reflow. r=roc,dbaron - because of apparent Tp hangs. 2009-04-21 23:02:17 -04:00
Boris Zbarsky
5c5eb9c3ea Bug 67752. Implement interruptible reflow. r=roc,dbaron 2009-04-21 19:53:52 -04:00
L. David Baron
0000423887 Use a struct containing a rectangle and a boolean for float available space rather than passing them around separately. (Bug 25888) r+sr=roc 2009-04-08 13:52:37 -07:00
L. David Baron
5e964b0336 Switch away from nsBlockReflowState::mAvailSpaceRect in nsBlockFrame::PropagateFloatDamage. (Bug 25888) r+sr=roc 2009-04-08 13:52:37 -07:00
L. David Baron
f1e122cbd0 Switch away from nsBlockReflowState::mAvailSpaceRect for reflow of child blocks. (Bug 25888) r+sr=roc 2009-04-08 13:52:37 -07:00
L. David Baron
8477c70501 Switch away from nsBlockReflowState::mAvailSpaceRect for inline reflow. (Bug 25888) r+sr=roc 2009-04-08 13:52:37 -07:00
L. David Baron
53fb256319 Switch away from nsBlockReflowState::mAvailSpaceRect for reflow of child floats. (Bug 25888) r+sr=roc 2009-04-08 13:52:36 -07:00
L. David Baron
a44af1082d Switch away from nsBlockReflowState::mAvailSpaceRect in bullet reflow, and simultaneously refix bug 427370 in a way that also fixes bug 428810. (Bug 25888) r+sr=roc 2009-04-08 13:52:36 -07:00
Jonathan Kew
68b13a1a71 Bug 475968. Eliminate NS_FRAME_OUTSIDE_CHILDREN flag, store small overflow areas cheaply within the frame. r+sr=roc 2009-04-06 12:31:50 +12:00
Masayuki Nakano
0066bb8330 Bug 338209 Make spellchecker use thicker wavy underlines instead of dotted underlines r+sr=roc 2009-04-03 16:26:28 +09:00
L. David Baron
35f444d782 Remove check for block being impacted by float that should no longer be needed given float damage propagation. (Bug 25888) r+sr=roc 2009-03-11 07:51:32 -07:00
L. David Baron
5730c69e4f Fix nsBlockFrame warning about child being used uninitialized in FindLineContaining by switching while to do-while. (Bug 477963) r+sr=roc 2009-02-19 09:48:37 -08:00
L. David Baron
3d090560b0 Revert (back out) the previous 11 changesets (bugs 477959, 477961, 477963, 477962, 322475, 478899, 475215, 478156), due to Mac talos orange with (as usual) no useful diagnostic. 2009-02-18 18:59:47 -08:00
L. David Baron
d4769188fe Fix nsBlockFrame warning about child being used uninitialized in FindLineContaining by switching while to do-while. (Bug 477963) r+sr=roc 2009-02-18 17:13:24 -08:00
Mats Palmgren
36729e6796 Keep track of the line container and forget the current line if it's for a different container. b=444027 r+sr=roc 2009-02-10 10:23:05 +01:00
L. David Baron
9122459f14 Avoid calling PlaceBlock and unsetting dirty bits that we still need when an ancestor is going to reflow for clearance. (Bug 476357) r+sr=roc 2009-02-09 20:36:54 -08:00
Boris Zbarsky
f4cb3086ac Bug 299837. Implement text-align:end. r+sr=dbaron 2009-02-05 22:48:30 -05:00
Arpad Borsos
c0f2dadc80 Bug 474369 - get rid of nsVoidArray; layout part; r+sr=roc 2009-02-03 15:42:18 +01:00
Daniel Holbert
4ace9611a5 Bug 465928 followup: correct typo in enum name - s/PERSERVE/PRESERVE/. No functional changes. r=roc 2009-01-13 12:28:28 -08:00
Benjamin Smedberg
3498a5f86e Bug 396185 - Make nsIFrame derivatives and helper abstract classes use a different dynamic-cast system than nsISupports:
* we know all types frames may be cast to at compile time, so instead of extensible GUID IIDs, use a big enum (see nsQueryFrame::FrameIID)
* eliminate all vestiges of refcounting, since frames aren't refcounted

Some frames (SVG frames in particular) still implement nsISupports-derived interfaces, for example nsISVGValue. There is a FrameIID for nsISVGValue that lets you go from a frame to the XPCOM interface, but you can't query back.

r+sr=roc

nsITextControlFrame didn't have an IID the first time around, but this wasn't a compile error because nsITextControlFrame::kFrameIID inherited from nsIFormControlFrame::kFrameIID. I've added a static analysis pass to verify the correct behavior, since I can't figure out a way to make the compiler do it.

--HG--
extra : rebase_source : 4894a2ca0278e2ab92f27459db77165f8348cf41
2009-01-12 14:20:59 -05:00
Benjamin Smedberg
73a6fab34b Backed out changeset 4c4df6ed1b41 - Bug 396185 - Make nsIFrame not inherit from nsISupports due to mochitest failures... these appear to be crashes in nsGenericHTMLElement::GetEditorInternal. 2009-01-09 11:35:24 -05:00
Benjamin Smedberg
802d1a10c7 Bug 396185 - Make nsIFrame derivatives and helper abstract classes use a different dynamic-cast system than nsISupports:
* we know all types frames may be cast to at compile time, so instead of extensible GUID IIDs, use a big enum (see nsQueryFrame::FrameIID)
* eliminate all vestiges of refcounting, since frames aren't refcounted

Some frames (SVG frames in particular) still implement nsISupports-derived interfaces, for example nsISVGValue. There is a FrameIID for nsISVGValue that lets you go from a frame to the XPCOM interface, but you can't query back.

r+sr=roc

This patch locally causes two REFTEST-UNEXPECTED-PASS for Bidi stuff. It's possible that I accidentally fixed a bug, but I'm not sure, so I'm going to wait for the tinderboxes to confirm my local results.
2008-11-05 14:25:30 -05:00
Mats Palmgren
319385ddc7 DEBUG: Make nsBlockFrame::List really print the overflow lines. b=472193 r+sr=roc 2009-01-08 22:17:53 +01:00
L. David Baron
f6824a9fa5 Replace space manager with a more limited float manager. (Bug 191448) r+sr=roc
--HG--
rename : layout/generic/nsSpaceManager.cpp => layout/generic/nsFloatManager.cpp
rename : layout/generic/nsSpaceManager.h => layout/generic/nsFloatManager.h
2009-01-04 19:39:54 -05:00
L. David Baron
ad5d856ae6 Rename flags and methods from space manager to float manager. (Bug 191448) r+sr=roc 2009-01-04 19:39:54 -05:00
L. David Baron
9cefaf0382 Remove the VerifyReflow code that checked the space manager state. (Bug 191448) r+sr=roc 2009-01-04 14:52:38 -05:00
L. David Baron
4872871d0b Fix some missed renames from bug 471356. r+sr=bzbarsky 2009-01-04 14:52:38 -05:00
Robert O'Callahan
9d2aaab3a6 Bug 458296. When a block doesn't carry out the bottom-margin of its children, add that bottom-margin to its overflow area. Also, add the bottom-padding of a scrolled block to its overflow area. r+sr=dbaron 2008-12-29 21:18:40 +13:00
Simon Montagu
de66e73152 Delete all text frame continuations when deleting first letter frame. Bug 466763, r+sr=roc 2008-12-02 22:56:53 -08:00