Commit Graph

1667 Commits

Author SHA1 Message Date
Xidorn Quan
6f4d77ea15 Bug 994418 - Renumber list items when computing intrinsic isize. r=roc 2015-11-20 15:29:27 +11:00
Mats Palmgren
c3bca5a645 Bug 1153695 - Wrap nsAutoOOFFrameList in a scope to ensure its dtor runs before the VerifyOverflowSituation() call (to avoid frames appearing to be on two child lists). r=roc 2015-11-16 17:32:39 +01:00
Wes Kocher
77ea04e3a0 Backed out changeset 1fc0ecca3e9b (bug 1153695) for test_value_cloning.html bustage CLOSED TREE 2015-11-16 11:00:28 -08:00
Mats Palmgren
2b5ebdff78 Bug 1153695 - Wrap nsAutoOOFFrameList in a scope to ensure its dtor runs before the VerifyOverflowSituation() call (to avoid frames appearing to be on two child lists). r=roc 2015-11-16 17:32:39 +01:00
Jonathan Kew
e418782b93 Bug 1224230 - Explicitly store the lineContainer's writing mode in InlineIntrinsicISizeData. r=dbaron 2015-11-14 08:46:11 +00:00
Jonathan Kew
58a8d723ee Bug 1122918 - Part 3 - Use the resolved physical values of 'float' and 'clear' properties during layout. r=heycam 2015-09-18 16:25:21 +01:00
Kyle Zentner
75a3923e77 Bug 1170781 - Patch 1: Implement CSS 'contain: paint'. r=dholbert 2015-11-09 13:32:00 +01:00
Nathan Froyd
4e6d8f6705 Bug 1207245 - part 6 - rename nsRefPtr<T> to RefPtr<T>; r=ehsan; a=Tomcat
The bulk of this commit was generated with a script, executed at the top
level of a typical source code checkout.  The only non-machine-generated
part was modifying MFBT's moz.build to reflect the new naming.

CLOSED TREE makes big refactorings like this a piece of cake.

 # The main substitution.
find . -name '*.cpp' -o -name '*.cc' -o -name '*.h' -o -name '*.mm' -o -name '*.idl'| \
    xargs perl -p -i -e '
 s/nsRefPtr\.h/RefPtr\.h/g; # handle includes
 s/nsRefPtr ?</RefPtr</g;   # handle declarations and variables
'

 # Handle a special friend declaration in gfx/layers/AtomicRefCountedWithFinalize.h.
perl -p -i -e 's/::nsRefPtr;/::RefPtr;/' gfx/layers/AtomicRefCountedWithFinalize.h

 # Handle nsRefPtr.h itself, a couple places that define constructors
 # from nsRefPtr, and code generators specially.  We do this here, rather
 # than indiscriminantly s/nsRefPtr/RefPtr/, because that would rename
 # things like nsRefPtrHashtable.
perl -p -i -e 's/nsRefPtr/RefPtr/g' \
     mfbt/nsRefPtr.h \
     xpcom/glue/nsCOMPtr.h \
     xpcom/base/OwningNonNull.h \
     ipc/ipdl/ipdl/lower.py \
     ipc/ipdl/ipdl/builtin.py \
     dom/bindings/Codegen.py \
     python/lldbutils/lldbutils/utils.py

 # In our indiscriminate substitution above, we renamed
 # nsRefPtrGetterAddRefs, the class behind getter_AddRefs.  Fix that up.
find . -name '*.cpp' -o -name '*.h' -o -name '*.idl' | \
    xargs perl -p -i -e 's/nsRefPtrGetterAddRefs/RefPtrGetterAddRefs/g'

if [ -d .git ]; then
    git mv mfbt/nsRefPtr.h mfbt/RefPtr.h
else
    hg mv mfbt/nsRefPtr.h mfbt/RefPtr.h
fi
2015-10-18 01:24:48 -04:00
Mats Palmgren
901b911c7d Bug 790260 - Make CollectFloats remove the IS_PUSHED_FLOAT bit in case the float was collected from the PushedFloats list. r=roc 2015-10-07 00:54:51 +02:00
L. David Baron
ca65a72c62 Bug 1207157 patch 3 - Don't bother passing around the inline-end margin of replaced elements we consider clearing past floats, since we don't need it any more. r=jfkthame 2015-09-27 02:19:14 -07:00
Mats Palmgren
3e3cf3cc2b Bug 1174553 part 3 - [css-grid] Implement the 'min-content' / 'max-content' sizing functions in layout. r=dholbert 2015-09-04 22:06:57 +02:00
L. David Baron
0b90b534c9 Bug 451791 patch 1 - Remove write-only nsHTMLReflowState::mFlags::mHasClearance. r=roc
This was introduced in bug 209694 (gecko-dev 13a65028) but became unused
through bug 292295 (gecko-dev 4593df2a57) and bug 300030 (gecko-dev
31f18988).
2015-08-05 21:04:38 -07:00
L. David Baron
a65f690e5b 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
ea2020c582 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
7e8bda5a72 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
4bdbe39881 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
a45bc02094 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
ff417fc7d4 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
2292ed70cf Backed out changeset b857e7a2ab26 (bug 1174521) for timeouts in test_bug1174521.html 2015-06-17 10:12:21 +02:00
Ehsan Akhgari
c46b4622b0 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
5771a14553 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
0f1f7b9479 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
40ea1871a6 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
b45f261251 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
3e2448b32a Bug 1160784 - Remove a misleading declaration r=smontagu 2015-05-03 17:49:37 +02:00
Jonathan Kew
9ca5648c8f 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
0280e62037 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
3385e6aeac 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
d6efdd3e75 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
6479974254 Backed out changeset 2bf6b633b054 (bug 1145218) 2015-04-01 11:36:17 -07:00
Jonathan Kew
827e909a7a 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
3f92be8fe8 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
91680250c8 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
158738f738 Bug 1143218 patch 1: Back out the fix for bug 1105137, r=jfkthame 2015-03-22 11:44:48 +02:00
Xidorn Quan
d59168f5f4 Bug 1141842 - Add LastOptionalBreakPriority to nsLineLayout to simplify some code. r=roc 2015-03-11 14:14:48 +11:00
Andrea Marchesini
40ecc85b89 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
6b10d5e43e 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
bd37fe09a6 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
f9ca39cffa 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
0247de46d8 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
e048a7df33 Back out Bug 1127201 (part 2) for various problems. 2015-02-06 15:04:32 -08:00
Nicholas Nethercote
40ab0270d5 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
9a3eb6d1ee 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
c240ff5f6f Bug 1122366 - pt 1 - Make nsBlockFrame::IsSelfEmpty aware of vertical writing modes. r=dbaron 2015-01-17 08:50:56 +00:00
Mats Palmgren
d649abadd9 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
055fe56a7c 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
1fbb37e7fe 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
bc6e480dcc 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
5bf0898828 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
875b40bd56 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