gecko-dev/layout/generic
Ting-Yu Lin 27be7e6ac4 Bug 1441048 Part 2 - Use NS_FRAME_HAS_MULTI_COLUMN_ANCESTOR to detect block-fragmented context when marking a line dirty. r=emilio
We can move a float frame into its block parent's PushedFloatsList during column
balancing when it cannot fit in the available block-size.

Later, when the column balancing algorithm reflows the last column in an
unconstrained block-size (in the very last reflow if needed [1]), we have to
reflow the line which contains the float's placeholder. The old code uses
`GetPrevInFlow() || GetNextInFlow()` to detect this scenario, which is
insufficient because the float's block parent might not have any continuation.
This patch uses `NS_FRAME_HAS_MULTI_COLUMN_ANCESTOR` bit to detect this instead.

[1] https://searchfox.org/mozilla-central/rev/5c04fc7016eb7f52cf835d482f1125c8f139c959/layout/generic/nsColumnSetFrame.cpp#1144-1154

Differential Revision: https://phabricator.services.mozilla.com/D154860
2022-08-17 17:18:00 +00:00
..
crashtests Bug 1784208 Part 1 - Remove ColumnBalanceData::mHasExcessBSize flag. r=emilio 2022-08-12 05:04:02 +00:00
test Bug 1783940 - Remove -moz-* display values enabled-in-content prefs. r=dholbert 2022-08-10 15:43:51 +00:00
AnonymousContentKey.h Bug 1735797 - Fix scrollbar caching on macOS. r=mstange 2021-10-18 18:25:31 +00:00
AspectRatio.cpp
AspectRatio.h
AutoCopyListener.h
BRFrame.cpp Bug 1464761 Part 4 - Remove nsReflowStatus::mTruncated bit. r=dholbert 2022-07-27 21:55:18 +00:00
BlockReflowState.cpp Bug 1464761 Part 1 - Remove IsTruncated() in FlowAndPlaceFloat(). r=dholbert 2022-07-27 21:55:17 +00:00
BlockReflowState.h Bug 1323517 Part 7 - Fix the placement of an orthogonal float with an auto block-size. r=jfkthame 2022-07-07 19:01:56 +00:00
CSSAlignUtils.cpp
CSSAlignUtils.h
CSSOrderAwareFrameIterator.cpp
CSSOrderAwareFrameIterator.h
ColumnSetWrapperFrame.cpp Bug 1783953 - Obey contain-intrinsic-size in multicol containers. r=emilio 2022-08-10 14:53:30 +00:00
ColumnSetWrapperFrame.h
ColumnUtils.cpp
ColumnUtils.h
DetailsFrame.cpp
DetailsFrame.h
FrameChildList.cpp Bug 1768157 - Remove kSelectPopupList. r=jwatt 2022-05-06 15:46:49 +00:00
FrameChildList.h
FrameClass.py Bug 1758564 - Allow rendering children of <img>'s shadow root. r=dholbert 2022-03-10 05:11:38 +00:00
FrameClasses.py Bug 1694056 - Remove (XUL) nsTitleBarFrame since it's no longer used. r=emilio 2022-06-07 09:30:03 +00:00
GenerateFrameLists.py
JustificationUtils.h
LayoutMessageUtils.h Bug 1595491 - Part 1: Make <embed> and <object> behave more like <iframe>. r=smaug,emilio 2022-08-16 16:42:58 +00:00
MathMLTextRunFactory.cpp Bug 1773558 - Move fixed-point font types to Rust. r=layout-reviewers,jfkthame 2022-06-13 00:59:23 +00:00
MathMLTextRunFactory.h
PrintedSheetFrame.cpp Bug 1681183: Ignore unwriteable margins user specifies `Margins: None` for printing. r=dholbert,mstriemer 2022-08-15 19:55:08 +00:00
PrintedSheetFrame.h
ReflowInput.cpp Bug 1780264 Part 3 - Remove ReflowInput::mStyleText. r=emilio 2022-07-20 00:48:22 +00:00
ReflowInput.h Bug 1778931 Part 1 - Create a float's ReflowInput in FlowAndPlaceFloat() and pass it into ReflowFloat(). r=dholbert 2022-07-26 04:54:36 +00:00
ReflowOutput.cpp Bug 1770729 - Fix IntersectionObserver overflow: clip on zero-sized elements. r=jwatt 2022-05-23 13:52:48 +00:00
ReflowOutput.h Bug 1770729 - Fix IntersectionObserver overflow: clip on zero-sized elements. r=jwatt 2022-05-23 13:52:48 +00:00
RubyUtils.cpp
RubyUtils.h
ScrollAnchorContainer.cpp Bug 1761239. Use an EnumSet for nsIScrollableFrame::IsScrollAnimating. r=botond 2022-03-26 02:22:57 +00:00
ScrollAnchorContainer.h Bug 1738781 - Invalidate anchor after layout if we can find a better one. r=dholbert 2021-11-02 10:59:50 +00:00
ScrollAnimationBezierPhysics.cpp
ScrollAnimationBezierPhysics.h
ScrollAnimationMSDPhysics.cpp Bug 1759958 - Implement ScrollAnimationMSDPhysics::ApplyContentShift() correctly. r=hiro 2022-03-18 05:13:59 +00:00
ScrollAnimationMSDPhysics.h Bug 1759958 - Implement ScrollAnimationMSDPhysics::ApplyContentShift() correctly. r=hiro 2022-03-18 05:13:59 +00:00
ScrollAnimationPhysics.h Bug 1759958 - Add comments to clarify the purpose of ScrollAnimationPhysics::Update() and ApplyContentShift(). r=hiro 2022-03-18 05:13:59 +00:00
ScrollGeneration.cpp Bug 1571758 - Introduce scroll generation in APZC and SampledAPZCState and inform it to the scrollable frame on the main-thread via RepaintRequest. r=botond 2022-01-31 09:40:33 +00:00
ScrollGeneration.h Bug 1767131: run clang-format on the layout/ directory. r=emilio DONTBUILD 2022-04-30 15:25:29 +00:00
ScrollOrigin.h
ScrollPositionUpdate.cpp Bug 1774537 - Propagate snap target ids for async scroll operations triggered on the main-thread, but will be processed in APZ. r=botond 2022-07-15 06:47:37 +00:00
ScrollPositionUpdate.h Bug 1774537 - Propagate snap target ids for async scroll operations triggered on the main-thread, but will be processed in APZ. r=botond 2022-07-15 06:47:37 +00:00
ScrollSnap.cpp Bug 1777649 - Factor out some utility functions for scroll snap. r=botond 2022-07-31 22:51:56 +00:00
ScrollSnap.h Bug 1777649 - Factor out some utility functions for scroll snap. r=botond 2022-07-31 22:51:56 +00:00
ScrollSnapTargetId.h Bug 1774537 - Propagate last snap target id(s) from APZ to the content. r=botond 2022-07-15 06:47:37 +00:00
ScrollVelocityQueue.cpp
ScrollVelocityQueue.h
ScrollbarActivity.cpp Bug 1756831. When considering mousemoves over scroll frames to show overlay scrollbars rejects mousemove over content descendants that aren't frame descandants. r=emilio 2022-03-22 15:31:45 +00:00
ScrollbarActivity.h
ScrollbarPreferences.h
StickyScrollContainer.cpp Bug 1472602 - Sticky/relative position fixes in nsTableWrapperFrame. r=dholbert 2022-05-23 23:40:42 +00:00
StickyScrollContainer.h
TextDrawTarget.h Bug 1768983 - Add prim flag for checkerboarding backgrounds r=gfx-reviewers,lsalzman 2022-05-15 21:54:25 +00:00
TextOverflow.cpp Bug 1714584 - Part 2: Remove nsDisplayList::RemoveBottom() r=mstange 2022-02-22 23:42:18 +00:00
TextOverflow.h
ViewportFrame.cpp Bug 1464761 Part 4 - Remove nsReflowStatus::mTruncated bit. r=dholbert 2022-07-27 21:55:18 +00:00
ViewportFrame.h
Visibility.h
WBRFrame.cpp Bug 1730774 part 2: Add includes and forward-decls to fix non-unified-build bustage in layout/generic. r=TYLin 2021-09-15 16:15:02 +00:00
WritingModes.h Bug 1769512 - Implement overflow-clip-margin: <length>. r=jwatt 2022-05-23 07:21:43 +00:00
broken-image.png
folder.png
frame-graph.py
jar.mn
loading-image.png
moz.build Bug 1530253 - Assign an id to each scroll snap target for tracking the last snapped element. r=botond,emilio 2022-07-01 01:35:29 +00:00
nsAbsoluteContainingBlock.cpp Bug 793686 Part 2 - Call SetNextInFlowNeedsReflow() when an absolute containing block is incomplete. r=emilio 2022-08-10 16:19:06 +00:00
nsAbsoluteContainingBlock.h
nsAtomicContainerFrame.h
nsBackdropFrame.cpp Bug 1730774 part 2: Add includes and forward-decls to fix non-unified-build bustage in layout/generic. r=TYLin 2021-09-15 16:15:02 +00:00
nsBackdropFrame.h
nsBlockDebugFlags.h Bug 1323517 Part 2 - Remove float debug log that requires manual #define. r=jfkthame 2022-07-07 19:01:54 +00:00
nsBlockFrame.cpp Bug 1441048 Part 2 - Use NS_FRAME_HAS_MULTI_COLUMN_ANCESTOR to detect block-fragmented context when marking a line dirty. r=emilio 2022-08-17 17:18:00 +00:00
nsBlockFrame.h Bug 1778931 Part 3 - Tweak floatRI's mIsTopOfPage bit in FlowAndPlaceFloat(). r=dholbert 2022-07-26 04:54:37 +00:00
nsBlockReflowContext.cpp Bug 1778178 - Convert ReflowInput's available size write-accessors to setters. r=layout-reviewers,jfkthame 2022-07-06 17:39:57 +00:00
nsBlockReflowContext.h Bug 1777627 Part 2 - Remove aIsAdjacentWithBStart argument on nsBlockReflowContext::ReflowBlock(). r=emilio 2022-07-05 23:43:52 +00:00
nsCanvasFrame.cpp Bug 1464761 Part 4 - Remove nsReflowStatus::mTruncated bit. r=dholbert 2022-07-27 21:55:18 +00:00
nsCanvasFrame.h Bug 1778286: declare `aEvent` of `nsIFrame::GetContentForEvent` `const`. r=emilio 2022-07-06 10:22:30 +00:00
nsColumnSetFrame.cpp Bug 1441048 Part 1 - Clarify variable naming and log when we reflow last column with unconstrained available bsize. r=emilio 2022-08-17 17:18:00 +00:00
nsColumnSetFrame.h Bug 1784208 Part 2 - Remove nsColumnSetFrame::ReflowChildren. r=emilio 2022-08-12 05:04:02 +00:00
nsContainerFrame.cpp Bug 1778931 Part 2 - Revise two if branches checking float's reflow status. r=dholbert 2022-07-26 04:54:37 +00:00
nsContainerFrame.h
nsContainerFrameInlines.h Bug 1733952 - When computing inline intrinsic sizes, resolve with a 0 percentage basis rather than just resolving to zero if there's a percentage. r=jfkthame 2021-10-04 15:20:30 +00:00
nsDirection.h
nsFirstLetterFrame.cpp Bug 1464761 Part 4 - Remove nsReflowStatus::mTruncated bit. r=dholbert 2022-07-27 21:55:18 +00:00
nsFirstLetterFrame.h
nsFlexContainerFrame.cpp Backed out changeset 7538d23ee88e (bug 1767262) for causing failures at content-visibility-081.html. CLOSED TREE 2022-08-15 20:37:49 +03:00
nsFlexContainerFrame.h Bug 1758020 - Revise MoveFlexItemToFinalPosition(). r=dholbert 2022-03-10 19:17:44 +00:00
nsFloatManager.cpp Bug 1323517 Part 3 - Rename GetLowestFloatTop to LowestFloatBStart. r=jfkthame 2022-07-07 19:01:55 +00:00
nsFloatManager.h Bug 1323517 Part 3 - Rename GetLowestFloatTop to LowestFloatBStart. r=jfkthame 2022-07-07 19:01:55 +00:00
nsFontInflationData.cpp Bug 1744009 - Simplify combobox <select> code. r=mconley,dholbert 2022-01-17 11:10:05 +00:00
nsFontInflationData.h
nsFrameList.cpp Bug 1771609 - patch 3 - Remove nsAutoLineIterator, as it no longer serves any useful purpose since the iterator is owned by the target frame. r=emilio 2022-06-03 22:05:36 +00:00
nsFrameList.h Bug 1768157 - Remove kSelectPopupList. r=jwatt 2022-05-06 15:46:49 +00:00
nsFrameSelection.cpp Bug 1773070 - Unify Gecko and Servo EventState/ElementState bits. r=smaug 2022-06-07 23:09:52 +00:00
nsFrameSelection.h Bug 1713050 - P1: Add granularity to selection change notification. r=smaug 2022-03-16 05:56:25 +00:00
nsFrameSetFrame.cpp Bug 1464761 Part 4 - Remove nsReflowStatus::mTruncated bit. r=dholbert 2022-07-27 21:55:18 +00:00
nsFrameSetFrame.h
nsFrameState.cpp
nsFrameState.h
nsFrameStateBits.h Bug 1756008 Part 4 - Replace "BlockReflowInput" with "BlockReflowState". r=layout-reviewers,emilio 2022-02-23 21:22:43 +00:00
nsGfxScrollFrame.cpp Bug 1782303 - Don't generate root filters when generating a glyph mask. r=mstange 2022-08-09 21:59:42 +00:00
nsGfxScrollFrame.h Bug 1777649 - Honor scroll snap properties on ScrollFrameRectIntoView call. r=emilio 2022-07-31 22:51:56 +00:00
nsGridContainerFrame.cpp Backed out changeset 7538d23ee88e (bug 1767262) for causing failures at content-visibility-081.html. CLOSED TREE 2022-08-15 20:37:49 +03:00
nsGridContainerFrame.h Bug 1740702 - Ensure grid's cached measurement won't prevent reflow from happending when its subtree is dirty r=dholbert 2022-01-12 21:51:45 +00:00
nsHTMLCanvasFrame.cpp Bug 1782589 - Obey contain-intrinsic-size in canvas. r=emilio 2022-08-01 23:27:22 +00:00
nsHTMLCanvasFrame.h Bug 1751806. Remove active content tracking from ActiveLayerTracker as it is unused. r=mstange 2022-01-26 11:39:13 +00:00
nsHTMLParts.h
nsIAnonymousContentCreator.h
nsIFrame.cpp Backed out changeset 7538d23ee88e (bug 1767262) for causing failures at content-visibility-081.html. CLOSED TREE 2022-08-15 20:37:49 +03:00
nsIFrame.h Backed out changeset 7538d23ee88e (bug 1767262) for causing failures at content-visibility-081.html. CLOSED TREE 2022-08-15 20:37:49 +03:00
nsIFrameInlines.h Bug 1758018 Part 2 - Add helpers testing only "position:relative", and adapt them at some callsites. r=emilio 2022-03-04 03:02:01 +00:00
nsILineIterator.h Bug 1771609 - patch 3 - Remove nsAutoLineIterator, as it no longer serves any useful purpose since the iterator is owned by the target frame. r=emilio 2022-06-03 22:05:36 +00:00
nsIScrollPositionListener.h
nsIScrollableFrame.h Bug 1777649 - Honor scroll snap properties on ScrollFrameRectIntoView call. r=emilio 2022-07-31 22:51:56 +00:00
nsIStatefulFrame.h
nsImageFrame.cpp Bug 1781096 - Fix decoding="sync" when the frame is created after the image attribute. r=tnikkel 2022-08-17 10:10:26 +00:00
nsImageFrame.h Bug 1781096 - Fix decoding="sync" when the frame is created after the image attribute. r=tnikkel 2022-08-17 10:10:26 +00:00
nsImageMap.cpp Bug 1751473 Part 2 - Use CSSIntPoint instead of nsIntPoint in image event handling code. r=emilio 2022-01-22 01:07:19 +00:00
nsImageMap.h Bug 1751473 Part 2 - Use CSSIntPoint instead of nsIntPoint in image event handling code. r=emilio 2022-01-22 01:07:19 +00:00
nsInlineFrame.cpp Bug 1464761 Part 4 - Remove nsReflowStatus::mTruncated bit. r=dholbert 2022-07-27 21:55:18 +00:00
nsInlineFrame.h
nsIntervalSet.cpp
nsIntervalSet.h
nsLeafFrame.cpp
nsLeafFrame.h
nsLineBox.cpp Bug 1732674 - Make nsLineIterator a lightweight wrapper for an nsLineList_iterator instead of building a separate array. r=emilio 2021-11-09 15:55:54 +00:00
nsLineBox.h Bug 1771609 - patch 3 - Remove nsAutoLineIterator, as it no longer serves any useful purpose since the iterator is owned by the target frame. r=emilio 2022-06-03 22:05:36 +00:00
nsLineLayout.cpp Bug 1778178 - Convert ReflowInput's available size write-accessors to setters. r=layout-reviewers,jfkthame 2022-07-06 17:39:57 +00:00
nsLineLayout.h Bug 1758018 Part 1 - Rename the helpers testing "position:relative" or "position:sticky". r=emilio 2022-03-04 03:02:00 +00:00
nsPageContentFrame.cpp Bug 1464761 Part 4 - Remove nsReflowStatus::mTruncated bit. r=dholbert 2022-07-27 21:55:18 +00:00
nsPageContentFrame.h
nsPageFrame.cpp Bug 1681183: Ignore unwriteable margins user specifies `Margins: None` for printing. r=dholbert,mstriemer 2022-08-15 19:55:08 +00:00
nsPageFrame.h Bug 1774307 - Remove unused member of nsPageBreakFrame and make some variables in nsPageBreakFrame::Reflow const r=dholbert 2022-06-15 00:34:02 +00:00
nsPageSequenceFrame.cpp Bug 1464761 Part 4 - Remove nsReflowStatus::mTruncated bit. r=dholbert 2022-07-27 21:55:18 +00:00
nsPageSequenceFrame.h
nsPlaceholderFrame.cpp Bug 1464761 Part 4 - Remove nsReflowStatus::mTruncated bit. r=dholbert 2022-07-27 21:55:18 +00:00
nsPlaceholderFrame.h
nsQueryFrame.h
nsRubyBaseContainerFrame.cpp Bug 1757230 - Add missing includes elsewhere to unbust hybrid builds. 2022-02-26 01:08:16 +01:00
nsRubyBaseContainerFrame.h
nsRubyBaseFrame.cpp
nsRubyBaseFrame.h
nsRubyContentFrame.cpp
nsRubyContentFrame.h
nsRubyFrame.cpp Bug 1730774 part 2: Add includes and forward-decls to fix non-unified-build bustage in layout/generic. r=TYLin 2021-09-15 16:15:02 +00:00
nsRubyFrame.h
nsRubyTextContainerFrame.cpp Bug 1730774 part 2: Add includes and forward-decls to fix non-unified-build bustage in layout/generic. r=TYLin 2021-09-15 16:15:02 +00:00
nsRubyTextContainerFrame.h
nsRubyTextFrame.cpp
nsRubyTextFrame.h
nsSplittableFrame.cpp
nsSplittableFrame.h
nsSubDocumentFrame.cpp Bug 1595491 - Part 1: Make <embed> and <object> behave more like <iframe>. r=smaug,emilio 2022-08-16 16:42:58 +00:00
nsSubDocumentFrame.h Bug 1595491 - Part 1: Make <embed> and <object> behave more like <iframe>. r=smaug,emilio 2022-08-16 16:42:58 +00:00
nsTextFrame.cpp Bug 1464761 Part 4 - Remove nsReflowStatus::mTruncated bit. r=dholbert 2022-07-27 21:55:18 +00:00
nsTextFrame.h Bug 1757230 - Avoid unneeded includes in nsTextFrame.h. r=longsonr 2022-02-25 22:18:11 +00:00
nsTextFrameUtils.cpp Bug 1744009 - Simplify combobox <select> code. r=mconley,dholbert 2022-01-17 11:10:05 +00:00
nsTextFrameUtils.h Bug 1744009 - Simplify combobox <select> code. r=mconley,dholbert 2022-01-17 11:10:05 +00:00
nsTextRunTransformations.cpp Bug 1744152 - Make the aAllUpperCase parameter of TransformString more generic. r=jfkthame 2021-12-03 11:45:48 +00:00
nsTextRunTransformations.h Bug 1747922 - Rename StyleMathMLMathVariant -> StyleMathVariant. 2021-12-30 02:35:54 +01:00
nsVideoFrame.cpp Bug 1783069 - Make aspect-ratio work on <video> properly. r=boris,Oriol,layout-reviewers 2022-08-16 12:20:15 +00:00
nsVideoFrame.h Bug 1783069 - Make aspect-ratio work on <video> properly. r=boris,Oriol,layout-reviewers 2022-08-16 12:20:15 +00:00