L. David Baron
bdfefc6a91
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).
2015-08-02 21:03:09 -07:00
L. David Baron
554d404844
Bug 538194 patch 1 - Refactor some code dealing with fitting block formatting contexts around floats into separate functions. r=roc
2015-08-02 21:03:09 -07:00
Jonathan Kew
e96446a347
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
Daniel Holbert
fbbaf1f5d6
Bug 1177925: Use range-based "for" loops for nsFrameList iteration, in various places in layout. r=tn
2015-06-29 13:02:21 -07:00
Jonathan Kew
0b62970330
Bug 1174507 - Replace the frame flag CONTAINS_RELATIVE_HEIGHT with CONTAINS_RELATIVE_BSIZE, and adjust callsites appropriately. r=dholbert
2015-06-18 07:33:50 +01:00
Ehsan Akhgari
a0223619b6
Bug 1174521 - Backout the second part of bug 1143570 to fix the regression; r=roc
2015-06-17 17:45:51 -04:00
Carsten "Tomcat" Book
3081e613f4
Backed out changeset b857e7a2ab26 (bug 1174521) for timeouts in test_bug1174521.html
2015-06-17 10:12:21 +02:00
Ehsan Akhgari
81f06d4520
Bug 1174521 - Backout the second part of bug 1143570 to fix the regression; r=roc
2015-06-17 01:34:00 -04:00
Simon Montagu
adbff86748
Bug 1172774: for a box with a writing mode orthogonal to its containing block, calculate positioning values (margin, padding and offsets) in the writing mode of the containing block, r=jfkthame
2015-06-10 23:42:56 -07:00
Ehsan Akhgari
ef668caf26
Bug 1143570 - Part 2: Update the block frame's line cursor every time that nsBlockInFlowLineIterator's constructor finds a new line; r=roc
2015-06-09 15:58:56 -04:00
Jonathan Kew
5da31e3168
Bug 1167145 - Check result of PrevInFlow() before trying to call a method on it. r=dbaron
2015-05-22 08:49:30 +01:00
Jonathan Kew
2b7fc6a599
Bug 1159305 - patch 2 - Clean up layout code by using the new accessors. r=smontagu
2015-05-11 11:37:46 +01:00
Sylvestre Ledru
9d5d9ce04e
Bug 1160784 - Remove a misleading declaration r=smontagu
2015-05-03 17:49:37 +02:00
Jonathan Kew
d8aec4b603
Bug 1158549 - Properly apply min/max constraints to block-size in vertical writing modes. r=smontagu
2015-04-27 09:41:37 +01:00
Mats Palmgren
d702825225
Bug 1143299 - Make frame insertion methods deal with aPrevFrame being on an overflow list. r=roc a=abillings
2015-04-11 00:21:06 +00:00
Mats Palmgren
a123a6957c
Bug 1145768 - Use the right begin() iterator to compare with. r=roc
...
Using the wrong begin() means that RFindLineContaining would hang
in the case the frame isn't on the overflow list. We should always
find it there though, if it wasn't found on the principal list, so
the bug is harmless apart from the assertion.
2015-04-09 17:57:34 +00:00
Jonathan Kew
1f14b0f75c
Bug 1145218 - Require a new float manager if a block frame has a different writing-mode to its parent's. r=dbaron
2015-04-01 16:43:59 +01:00
Wes Kocher
6104b981f6
Backed out changeset 2bf6b633b054 (bug 1145218)
2015-04-01 11:36:17 -07:00
Jonathan Kew
66747eeaae
Bug 1145218 - Require a new float manager if a block frame has a different writing-mode to its parent's. r=dbaron
2015-04-01 16:43:59 +01:00
Mats Palmgren
3f5a5b4fa1
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
df9611b0c1
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
c8f20338de
Bug 1143218 patch 1: Back out the fix for bug 1105137, r=jfkthame
2015-03-22 11:44:48 +02:00
Xidorn Quan
b7ff3ed97e
Bug 1141842 - Add LastOptionalBreakPriority to nsLineLayout to simplify some code. r=roc
2015-03-11 14:14:48 +11:00
Andrea Marchesini
00dbe99756
Bug 1134280 - Get rid of Tag() - patch 2.7 - layout/generic - Fix all the occurrences, m=smaug, r=surkov
2015-03-03 11:09:00 +00:00
Andrea Marchesini
5a32f7fa5a
Bug 1134280 - Get rid of Tag() - patch 1 - Is{HTML,XUL,MathML,SVG}Element and IsAnyOf{HTML,XUL,MathML,SVG}Elements, r=smaug
2015-03-03 11:08:59 +00:00
L. David Baron
9e6abc06e5
Bug 718157 - Fix dynamic changes of percentage text-indent when the parent's size changes and the element's size does not. r=jfkthame
...
This code needs to move out of PrepareResizeReflow() (and things that
trigger code in it) because PrepareResizeReflow is conditioned on the
block itself resizing.
The reftest is based on a test by Jesse Ruderman <jruderman@gmail.com>.
The reftest fails without the patch and passes with the patch.
2015-02-11 22:43:05 +11:00
Simon Montagu
2664780918
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
Nicholas Nethercote
ee41df7dc2
Bug 1127201 (attempt 2, part 1) - Replace most NS_ABORT_IF_FALSE calls with MOZ_ASSERT. r=Waldo.
2015-02-09 14:34:50 -08:00
Andrew McCreight
1ee96e7527
Back out Bug 1127201 (part 2) for various problems.
2015-02-06 15:04:32 -08:00
Nicholas Nethercote
0a02b5d31c
Bug 1127201 (part 2) - Convert all NS_ABORT_IF_FALSE calls to MOZ_ASSERT. r=Waldo.
2015-02-04 20:05:36 -08:00
Jonathan Kew
d791fdd6d9
Bug 1126420 - Don't assert when intrinsic size values are used for a block-size property, just pretend they're 'auto' for now. r=dbaron
2015-01-28 09:07:59 +00:00
Jonathan Kew
0ae35653bf
Bug 1122366 - pt 1 - Make nsBlockFrame::IsSelfEmpty aware of vertical writing modes. r=dbaron
2015-01-17 08:50:56 +00:00
Mats Palmgren
7421199fa6
Bug 1117596 - Simplify the code in nsBlockFrame::AddFrames somewhat to avoid a false positive warning ('Uninitialized variable: overflowLines'). r=roc
2015-01-06 11:46:26 +00:00
Mats Palmgren
dbdebb3cf0
Bug 1109571 part 3 - Implement table caption specific code for ComputeAutoSize(), GetCorrectedParent() (for getting the style parent frame) and AccessibleType(). r=roc
2014-12-26 07:21:32 +00:00
Mats Palmgren
78bec85183
Bug 447660 part 3 - When collecting / pushing a float, make sure to also pick up its next-in-flows that are in same block. r=roc
...
Move the AssertNoDuplicateContinuations in DrainPushedFloats earlier because
DrainOverflowLines() sometimes picks up overflow line with a placeholder for
a float that has a next-in-flow in this block and unmark those floats as
pushed floats because they aren't anymore.
Change AppendPushedFloat to push any next-in-flows that are in the same block
as the given float too.
Make DoCollectFloats collect next-in-flows in the same block.
Make VerifyOverflowSituation check some float list invariants too.
2014-12-19 16:28:43 +00:00
Mats Palmgren
9cdb4225c3
Bug 447660 part 2 - Mark an existing next-in-flow of a float that is split due to it being NOT_COMPLETE as NOT being an overflow container. r=roc
2014-12-19 16:28:43 +00:00
Mats Palmgren
4e045019f8
Bug 447660 part 1 - Replace the #define DISABLE_FLOAT_BREAKING_IN_COLUMNS with a pref to enable fragmenting of floats inside columns. Set the pref enabled by default in non-RELEASE builds only. r=roc
2014-12-19 16:28:43 +00:00
Jonathan Kew
c62bf329cd
Bug 1111517 - Use new method UpdateLineContainerWidth instead of SlideLine when finalizing the width of a vertical-rl block. r=smontagu
2014-12-16 09:45:41 +00:00
Mats Palmgren
c9551802ea
Bug 1108104 part 5 - Don't report a reflow as NS_FRAME_NOT_COMPLETE when it's actually complete. Because it will give the frame the wrong BSize. r=roc
2014-12-14 17:22:07 +00:00
Mats Palmgren
b3ae921e1b
Bug 1108104 part 4 - Don't use the current next-sibling as a reference point where to continue the loop, since that frame may be pushed if it's also the next-in-flow. Instead, use the frame from the last iteration (the prev-sibling) and query its (potentially new) next-sibling. r=roc
2014-12-14 17:22:06 +00:00
Xidorn Quan
6c0457d6ef
Bug 1107721 - Add pointer to the base line layout in nsLineLayout. r=dbaron
...
--HG--
extra : source : 7b1b90d6bba043a68a84bb2faeba95096fa15ca5
2014-12-05 15:05:51 -08:00
Simon Montagu
5d705fe564
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
3ce2dbcf85
Bug 1106083 - Record the new containerWidth on lines when finalizing their placement in vertical-rl mode, so that they maintain their proper positioning during subsequent block-dir resize reflows. r=smontagu
2014-11-29 19:24:10 +00:00
Simon Montagu
64a57837a3
Bug 1105828 patch 2: Don't set UNCONSTRAINEDSIZE in an availSpace that we aren't going to use, r=jfkthame
2014-11-28 06:53:59 -08:00
Jonathan Kew
da7618ba61
Bug 1077528 - part 2 - Make nsBlockFrame consider resize flags logically instead of physically. r=smontagu
2014-11-28 09:44:05 +00:00
Jonathan Kew
b64255768e
Bug 1077528 - part 1 - Provide physical and logical accessors for the m{HV}Resize flags in nsHTMLReflowState, and convert all flag users to the accessor methods. r=smontagu
2014-11-28 09:44:02 +00:00
Mats Palmgren
089be9eaf0
Bug 399262, part 2 - Exclude <select> because ::first-letter is not supported there. r=roc
2014-11-20 13:07:58 +00:00
Mats Palmgren
b4f21ec977
Bug 399262, part 1 - The -moz-button-content pseudo is also allowed to have a ::first-letter. r=roc
2014-11-20 13:07:57 +00:00
Jonathan Kew
0568cfe8b9
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
d6a828685b
Bug 1093684 - part 2 - Handle vertical writing mode when computing overflow areas in nsBlockFrame. r=smontagu
2014-11-17 08:49:37 +00:00