From f0015a059f5d02bdcf9645a1e937eafeeb094f03 Mon Sep 17 00:00:00 2001 From: Ting-Yu Lin Date: Thu, 16 Mar 2023 23:19:10 +0000 Subject: [PATCH] Bug 1270891 - Don't honor forced break properties when generating flex lines. r=dholbert This behavior was based on the old spec. See the spec changes in https://drafts.csswg.org/css-flexbox-1/#change-201409-algo-breaks Differential Revision: https://phabricator.services.mozilla.com/D172697 --- layout/generic/nsFlexContainerFrame.cpp | 16 ---------------- .../flexbox-break-request-horiz-001a.html.ini | 2 -- .../flexbox-break-request-horiz-001b.html.ini | 2 -- .../flexbox-break-request-vert-001a.html.ini | 2 -- .../flexbox-break-request-vert-001b.html.ini | 2 -- 5 files changed, 24 deletions(-) delete mode 100644 testing/web-platform/meta/css/css-flexbox/flexbox-break-request-horiz-001a.html.ini delete mode 100644 testing/web-platform/meta/css/css-flexbox/flexbox-break-request-horiz-001b.html.ini delete mode 100644 testing/web-platform/meta/css/css-flexbox/flexbox-break-request-vert-001a.html.ini delete mode 100644 testing/web-platform/meta/css/css-flexbox/flexbox-break-request-vert-001b.html.ini diff --git a/layout/generic/nsFlexContainerFrame.cpp b/layout/generic/nsFlexContainerFrame.cpp index bd46fbfc4a94..36790ce602a1 100644 --- a/layout/generic/nsFlexContainerFrame.cpp +++ b/layout/generic/nsFlexContainerFrame.cpp @@ -3964,7 +3964,6 @@ void nsFlexContainerFrame::GenerateFlexLines( AddOrRemoveStateBits(NS_STATE_FLEX_NORMAL_FLOW_CHILDREN_IN_CSS_ORDER, iter.ItemsAreAlreadyInOrder()); - bool prevItemRequestedBreakAfter = false; const bool useMozBoxCollapseBehavior = StyleVisibility()->UseLegacyCollapseBehavior(); @@ -3976,15 +3975,6 @@ void nsFlexContainerFrame::GenerateFlexLines( continue; } - // If we're multi-line and current line isn't empty, create a new flex line - // to satisfy the previous flex item's request or to honor "break-before". - if (!isSingleLine && !curLine->IsEmpty() && - (prevItemRequestedBreakAfter || - childFrame->StyleDisplay()->BreakBefore())) { - curLine = ConstructNewFlexLine(); - prevItemRequestedBreakAfter = false; - } - const bool collapsed = childFrame->StyleVisibility()->IsCollapse(); aHasCollapsedItems = aHasCollapsedItems || collapsed; @@ -4034,12 +4024,6 @@ void nsFlexContainerFrame::GenerateFlexLines( // Update the line's bookkeeping about how large its items collectively are. curLine->AddLastItemToMainSizeTotals(); - - // Honor "break-after" if we're multi-line. If we have more children, we - // will create a new flex line in the next iteration. - if (!isSingleLine && childFrame->StyleDisplay()->BreakAfter()) { - prevItemRequestedBreakAfter = true; - } itemIdxInContainer++; } } diff --git a/testing/web-platform/meta/css/css-flexbox/flexbox-break-request-horiz-001a.html.ini b/testing/web-platform/meta/css/css-flexbox/flexbox-break-request-horiz-001a.html.ini deleted file mode 100644 index 88b0e3f1aa9d..000000000000 --- a/testing/web-platform/meta/css/css-flexbox/flexbox-break-request-horiz-001a.html.ini +++ /dev/null @@ -1,2 +0,0 @@ -[flexbox-break-request-horiz-001a.html] - expected: FAIL diff --git a/testing/web-platform/meta/css/css-flexbox/flexbox-break-request-horiz-001b.html.ini b/testing/web-platform/meta/css/css-flexbox/flexbox-break-request-horiz-001b.html.ini deleted file mode 100644 index cfecd9e45e0d..000000000000 --- a/testing/web-platform/meta/css/css-flexbox/flexbox-break-request-horiz-001b.html.ini +++ /dev/null @@ -1,2 +0,0 @@ -[flexbox-break-request-horiz-001b.html] - expected: FAIL diff --git a/testing/web-platform/meta/css/css-flexbox/flexbox-break-request-vert-001a.html.ini b/testing/web-platform/meta/css/css-flexbox/flexbox-break-request-vert-001a.html.ini deleted file mode 100644 index c93bf8347306..000000000000 --- a/testing/web-platform/meta/css/css-flexbox/flexbox-break-request-vert-001a.html.ini +++ /dev/null @@ -1,2 +0,0 @@ -[flexbox-break-request-vert-001a.html] - expected: FAIL diff --git a/testing/web-platform/meta/css/css-flexbox/flexbox-break-request-vert-001b.html.ini b/testing/web-platform/meta/css/css-flexbox/flexbox-break-request-vert-001b.html.ini deleted file mode 100644 index 3e447e342d16..000000000000 --- a/testing/web-platform/meta/css/css-flexbox/flexbox-break-request-vert-001b.html.ini +++ /dev/null @@ -1,2 +0,0 @@ -[flexbox-break-request-vert-001b.html] - expected: FAIL