L. David Baron
bb57d7d42e
Bug 451791 patch 2 - Report block non-empty to its parent block during margin collapsing if we encounter clearance. r=roc
...
The goal of ComputeCollapsedBStartMargin is to collapse all of the
margins that collapse with a block's top margin. It does this by
scanning forward through the child list until it finds something that
blocks collapsing; it descends into children through recursion. When we
find a non-empty block or line, we stop collapsing and report to the
parent that the child is non-empty so that it stops collapsing as well.
This patch changes our behavior when we have clearance to do the same
thing that we do for non-empty lines or blocks (which makes both
occurrences of |goto done| be preceded by the same code). Without the
patch we would fail to report being non-empty to the parent (and instead
report emptiness based on the IsEmpty() method). This meant that,
without the patch, if a block has a child with clearance but also has
IsEmpty() true, we would stop scanning margins in that block after the
clearance, but start searching again for margins in the block's parent,
starting with the block's bottom margin. This patch sets *aBlockIsEmpty
to true in that case so that we do not pick up again in the block's
parent (or, potentially, grandparent, etc.).
--HG--
extra : commitid : LCMTvXvZT3G
2015-08-05 21:04:38 -07:00
L. David Baron
119b557460
Bug 538194 patch 2 - Redo block reflow below floats when the height of a block that does not intersect floats pushes it into the way of other floats. r=roc
...
This adds an additional retry loop in block reflow that we can only
trigger when reflowing a block formatting context (replacedBlock
non-null). It can retry in two different ways, either with a narrower
width but at the same vertical position (when
ReplacedBlockFitsInAvailSpace is still true) or at a new vertical
position (which is treated as a form of clearance).
Fortunately we don't have to worry about margins collapsing *through*
such a boundary since we're dealing with a new block formatting context.
Note that Chromium passes all of the new bfc-displace-* tests, although
it moves the block formating context down unnecessarily in
bfc-shrink-1.html (which we do neither before nor after the patch),
though agrees with the width we have after the patch (but not before the
patch).
--HG--
extra : commitid : FgDc4hjTxHp
2015-08-02 21:03:09 -07:00
L. David Baron
dc94df9c46
Bug 478834 - Record that we need to look for clearance if we encounter a block that might need to be pushed down for intersecting floats (i.e., one that establishes a BFC). r=roc
...
Without this change, nsBlockFrame::ReflowBlockFrame will fail to have
mayNeedRetry true, which means that it won't set
blockHTMLRS.mDiscoveredClearance, which means that on a descendant
replaced block we will fail to fall into any of the cases that call
ClearFloats. This change will cause us to hit the first ClearFloats
call and discover the need for clearance.
I tested locally that the new reftest fails without the patch and passes
with the patch.
2015-07-27 20:23:56 -07:00
Jonathan Kew
4e6c40d7ea
Bug 1131451 part 1 - Replace containerWidth with containerSize in logical-coordinate classes and APIs, frame classes, etc. r=dholbert
2015-07-16 10:07:57 +01:00
Jonathan Kew
a97792aed1
Bug 1144501 - Take account of orthogonal writing modes when adjusting available size to reflow a child frame. r=smontagu
2015-04-07 15:35:30 +01:00
Mats Palmgren
ed9ed2d61a
Bug 1148833 part 3 - Remove nsIFrame::WillReflow and add a non-virtual MarkInReflow method instead that sets NS_FRAME_IN_REFLOW. Call it at the start of Reflow(). r=roc
2015-03-29 22:38:40 +00:00
Simon Montagu
13be932c72
Bug 1143218 patch 3: a better fix for bug 1105137 using line-left and line-right to place floats, r=jfkthame
2015-03-22 11:44:48 +02:00
Simon Montagu
4454a1b4b5
Bug 1143218 patch 1: Back out the fix for bug 1105137, r=jfkthame
2015-03-22 11:44:48 +02:00
Simon Montagu
9cdb41a6f4
Bug 1131013: when setting the position of inline frames in vertical writing modes with right-to-left direction, subtract the inline start from the container height to get the correct vertical position. r=jfkthame
2015-02-11 01:43:03 -08:00
Simon Montagu
2df582470e
Bug 1121748 - patch 1 - Make sure to update the frame dimensions before calling ApplyRelativePositioning. r=jfkthame
2015-01-18 22:01:57 -08:00
Simon Montagu
32d27c84d2
Bug 1063471: finish off converting nsBlockReflowContext to logical coordinates (comment-only change), r=jfkthame
2015-01-08 02:10:24 -08:00
Simon Montagu
1eacdee679
Bug 1079154 patch 5: convert callers of ApplyRelativePosition, ReflowChild and FinishReflowChild in layout/generic to the logical versions, r=jfkthame
2015-01-06 23:10:07 -08:00
Simon Montagu
33a271e5bd
Bug 1105137: treat nsFloatManager's mOrigin as an offset, not a point, and rename it to mOffset to make that clearer, r=jfkthame
2014-12-11 03:56:03 -08:00
Jonathan Kew
1c2aa200a8
Bug 1096224 - part 2 - Fix writing mode mismatch in margin calculation in PlaceBlock. r=smontagu
2014-11-26 10:24:16 +00:00
Jonathan Kew
bc30822def
Bug 1093684 - part 3 - Replace |bottom| with |block-end| in a bunch of comments, and rename mCarriedOutBottomMargin to mCarriedOutBEndMargin. r=smontagu
2014-11-17 08:49:38 +00:00
Jonathan Kew
bb857cabb0
Bug 1086883 - Convert writing modes where necessary for orthogonal flows when collapsing margins in nsBlockReflowContext methods. r=smontagu
2014-10-24 12:24:38 +01:00
Simon Montagu
8d64967541
Bug 1079139: make nsFlowAreaRect.mRect a LogicalRect. r=jfkthame
2014-10-21 15:16:13 -07:00
Simon Montagu
e753ab75a0
Bug 1062963 patch 3: make nsFloatManager's origin a LogicalPoint, adapt GetFlowAreas, AddFloats, ClearFloats, etc. to use it and make nsFloatManager region functions work with logical region. r=jfkthame
2014-10-21 15:16:12 -07:00
Phil Ringnalda
b2eb743d9b
Backed out 4 changesets (bug 1062963, bug 1079139) for failures in 427129-table-caption.html in b2g reftest-6 and Android 2.3 reftest-5
...
Backed out changeset a9672db96a5d (bug 1079139)
Backed out changeset 241c23570a62 (bug 1062963)
Backed out changeset 90172cc0b012 (bug 1062963)
Backed out changeset 71211c4a4acc (bug 1062963)
2014-10-19 18:44:16 -07:00
Simon Montagu
3134a81fca
Bug 1079139: make nsFlowAreaRect.mRect a LogicalRect. r=jfkthame
2014-10-19 12:32:17 -07:00
Simon Montagu
3f0d7f2fcc
Bug 1062963 patch 3: make nsFloatManager's origin a LogicalPoint, adapt GetFlowAreas, AddFloats, ClearFloats, etc. to use it and make nsFloatManager region functions work with logical region. r=jfkthame
2014-10-19 12:32:17 -07:00
Mats Palmgren
0ddbded605
Bug 1042489 - Call DrainOverflowColumns() to pick up any overflow frames from our prev-in-flow. r=roc
2014-08-25 04:25:00 +02:00
Simon Montagu
18c9f2f61a
Bug 789096 patch 10: make Reflow set nsHTMLReflowMetrics.ISize and BSize instead of Width and Height. r=jfkthame
2014-07-24 01:30:07 -07:00
Simon Montagu
c3b44c4dad
Bug 789096 patch 9: use logical coordinates in nsHTMLReflowState available size. r=jfkthame
2014-07-24 01:28:46 -07:00
Simon Montagu
f3e261c3a0
Bug 789096 patch 7: Use logical coordinates in nsBlockReflowContext. r=jfkthame
2014-06-17 07:41:35 -07:00
Mats Palmgren
75bad2215e
Bug 508665 - part 9, Remove now redundant static_cast<nsContainerFrame*> and do_QueryFrame() calls. r=roc
2014-05-24 22:20:40 +00:00
Mats Palmgren
9795aca511
Bug 1008917 - part 2,3,4, make Reflow() return type 'void', and make a few reflow related helper methods 'void' too. r=roc
2014-05-13 00:47:52 +00:00
Wes Kocher
42253715d7
Backed out 11 changesets (bug 1008917) for apparently introducing an intermittent failure of B2G Crashtest-2 on a CLOSED TREE
...
Backed out changeset e2ab653f688a (bug 1008917)
Backed out changeset b52154d8d900 (bug 1008917)
Backed out changeset 2ab5b01da4de (bug 1008917)
Backed out changeset f7a38df1d44f (bug 1008917)
Backed out changeset 80304bb9a572 (bug 1008917)
Backed out changeset 10ed89a302e9 (bug 1008917)
Backed out changeset 161c41991d46 (bug 1008917)
Backed out changeset 25b2475d2368 (bug 1008917)
Backed out changeset b8000b31277c (bug 1008917)
Backed out changeset 9afa5e7715e1 (bug 1008917)
Backed out changeset 5c380c21351f (bug 1008917)
2014-05-12 15:47:41 -07:00
Mats Palmgren
a722b491f1
Bug 1008917 - part 2,3,4, make Reflow() return type 'void', and make a few reflow related helper methods 'void' too. r=roc
2014-05-12 17:40:28 +00:00
Simon Montagu
f8a68ec80e
Make nsLineBox.mBounds a LogicalRect. Bug 789096, r=jfkthame
2014-04-16 01:03:28 -07:00
Simon Montagu
2110ef8dc6
Use logical text layout API in nsLineLayout. Bug 789096, r=jfkthame
2014-03-11 13:23:50 -07:00
Carsten "Tomcat" Book
b99f5df532
Backed out changeset aeff4052ef00 (bug 789096)
2014-03-11 09:22:52 +01:00
Simon Montagu
5e0cf76c45
Use logical text layout API in nsLineLayout. Bug 789096, r=jfkthame
2014-03-10 22:19:03 -07:00
Daniel Holbert
03c54ea5eb
Bug 967287 part 1: Remove unnecessary nsPresContext* argument from functions defined in nsContainerFrame.h. r=mats
2014-02-06 14:07:47 -08:00
Peiyong Lin
14bf63554d
Bug 959874 - Reorder two parameters in nsContainerFrame::FinishReflowChild(), for consistency with nsContainerFrame::ReflowChild(). r=dholbert
2014-01-16 17:34:44 -08:00
Jonathan Kew
a7837e1ffa
bug 735577 - pt 4.1 - use accessor functions for some physical-coordinate fields in nsHTMLReflowMetrics, in preparation for logicalization. r=smontagu
2013-12-27 17:59:52 +00:00
Jonathan Kew
954a119d07
bug 735577 - pt 3.2 - update the rest of layout code to use the new accessors on nsHTMLReflowState. r=smontagu
2013-12-27 17:59:21 +00:00
Ehsan Akhgari
baf3a129ad
Bug 907883 - Minimize #includes in layout/generic; r=roc
...
--HG--
extra : rebase_source : 5e87b764a12b05aff477c71547e2131be67ca93b
2013-08-22 14:32:52 -04:00
Corey Ford
703e3044b9
Bug 893962 - Refactor the application of relative positioning. r=dbaron
2013-07-15 17:28:09 -07:00
Mats Palmgren
c93c63103c
Bug 863935. r=roc
2013-06-10 18:31:59 +00:00
Masatoshi Kimura
957042f394
Bug 859018 - Remove the MSVC exemption for FAIL_ON_WARNINGS in layout. r=dbaron
2013-04-28 19:02:35 +09:00
Trevor Saunders
efd4042c8d
bug 846487 - remove remaining usage of some nsIDOMFooElement r=Ms2Ger
2013-02-14 10:33:16 -05: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
Ehsan Akhgari
c284cd4124
Bug 810355 - Convert nsDidReflowStatus into an enum class; r=dholbert
2012-11-13 22:47:33 -08:00
Ms2ger
75ab7efb95
Bug 780387 - Part b: Stop using PRIntn; r=bsmedberg
2012-08-09 09:09:40 +02:00
Aryeh Gregor
d0ad5a7d0c
Bug 777292 part 2 - Change all nsnull to nullptr
2012-07-30 17:20:58 +03: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
Jonathan Watt
970e60a384
Bug 767388 - Kill NS_DEBUG. r=bz.
...
--HG--
extra : rebase_source : d045208a26345712dbb4628c973c616cd9504f28
2012-06-25 20:59:42 +01:00
Gervase Markham
82ff7027aa
Bug 716478 - update licence to MPL 2.
2012-05-21 12:12: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