Bug 812687 part 6: Rename & invert polarity of a flexbox frame-state-bit, for consistency with grid. r=mats draft
authorDaniel Holbert <dholbert@cs.stanford.edu>
Wed, 05 Apr 2017 13:59:57 -0700
changeset 556423 564e5744222356a1750ee92dc0643ea624d5f85b
parent 556422 2e84640ba477a144997d3676ea64a4111cd6f7b3
child 556424 2ddae27815b8e53d0ca443394f0cad992ec009aa
push id52543
push userdholbert@mozilla.com
push dateWed, 05 Apr 2017 21:00:06 +0000
reviewersmats
bugs812687
milestone55.0a1
Bug 812687 part 6: Rename & invert polarity of a flexbox frame-state-bit, for consistency with grid. r=mats This patch is just flipping some logic in a way that should produce the same outcome, so it shouldn't affect behavior. MozReview-Commit-ID: LM4HbJD3D9w
layout/generic/nsFlexContainerFrame.cpp
layout/generic/nsFrameStateBits.h
--- a/layout/generic/nsFlexContainerFrame.cpp
+++ b/layout/generic/nsFlexContainerFrame.cpp
@@ -2258,19 +2258,19 @@ nsFlexContainerFrame::BuildDisplayList(n
   DisplayBorderBackgroundOutline(aBuilder, aLists);
 
   // Our children are all block-level, so their borders/backgrounds all go on
   // the BlockBorderBackgrounds list.
   nsDisplayListSet childLists(aLists, aLists.BlockBorderBackgrounds());
 
   typedef CSSOrderAwareFrameIterator::OrderState OrderState;
   OrderState orderState =
-    HasAnyStateBits(NS_STATE_FLEX_CHILDREN_REORDERED)
-    ? OrderState::eKnownUnordered
-    : OrderState::eKnownOrdered;
+    HasAnyStateBits(NS_STATE_FLEX_NORMAL_FLOW_CHILDREN_IN_CSS_ORDER)
+    ? OrderState::eKnownOrdered
+    : OrderState::eKnownUnordered;
 
   CSSOrderAwareFrameIterator iter(this, kPrincipalList,
                                   CSSOrderAwareFrameIterator::eIncludeAll,
                                   orderState,
                                   OrderingPropertyForIter(this));
   for (; !iter.AtEnd(); iter.Next()) {
     nsIFrame* childFrame = *iter;
     BuildDisplayListForChild(aBuilder, childFrame, aDirtyRect, childLists,
@@ -3576,19 +3576,19 @@ nsFlexContainerFrame::GenerateFlexLines(
   uint32_t itemIdxInContainer = 0;
 
   CSSOrderAwareFrameIterator iter(this, kPrincipalList,
                                   CSSOrderAwareFrameIterator::eIncludeAll,
                                   CSSOrderAwareFrameIterator::eUnknownOrder,
                                   OrderingPropertyForIter(this));
 
   if (iter.ItemsAreAlreadyInOrder()) {
-    RemoveStateBits(NS_STATE_FLEX_CHILDREN_REORDERED);
+    AddStateBits(NS_STATE_FLEX_NORMAL_FLOW_CHILDREN_IN_CSS_ORDER);
   } else {
-    AddStateBits(NS_STATE_FLEX_CHILDREN_REORDERED);
+    RemoveStateBits(NS_STATE_FLEX_NORMAL_FLOW_CHILDREN_IN_CSS_ORDER);
   }
 
   for (; !iter.AtEnd(); iter.Next()) {
     nsIFrame* childFrame = *iter;
     // Don't create flex items / lines for placeholder frames:
     if (childFrame->GetType() == nsGkAtoms::placeholderFrame) {
       aPlaceholders.AppendElement(childFrame);
       continue;
--- a/layout/generic/nsFrameStateBits.h
+++ b/layout/generic/nsFrameStateBits.h
@@ -302,19 +302,19 @@ FRAME_STATE_BIT(Box, 31, NS_STATE_IS_DIR
 FRAME_STATE_BIT(Box, 60, NS_FRAME_MOUSE_THROUGH_ALWAYS)
 FRAME_STATE_BIT(Box, 61, NS_FRAME_MOUSE_THROUGH_NEVER)
 
 
 // == Frame state bits that apply to flex container frames ====================
 
 FRAME_STATE_GROUP(FlexContainer, nsFlexContainerFrame)
 
-// Set for a flex container whose children have been reordered due to 'order'.
-// (Means that we have to be more thorough about checking them for sortedness.)
-FRAME_STATE_BIT(FlexContainer, 20, NS_STATE_FLEX_CHILDREN_REORDERED)
+// True iff the normal flow children are already in CSS 'order' in the
+// order they occur in the child frame list.
+FRAME_STATE_BIT(FlexContainer, 20, NS_STATE_FLEX_NORMAL_FLOW_CHILDREN_IN_CSS_ORDER)
 
 // Set for a flex container that is emulating a legacy
 // 'display:-webkit-{inline-}box' container.
 FRAME_STATE_BIT(FlexContainer, 21, NS_STATE_FLEX_IS_LEGACY_WEBKIT_BOX)
 
 // True if the container has no flex items; may lie if there is a pending reflow
 FRAME_STATE_BIT(FlexContainer, 22, NS_STATE_FLEX_SYNTHESIZE_BASELINE)