Bug 1528940 - convert NS_STYLE_FLEX_DIRECTION to an enum class in nsStyleConsts.h r=emilio

Converted the #define variable NS_STYLE_FLEX_DIRECTION to an enum class in nsStyleConsts.h and made changes in other files that access it

Differential Revision: https://phabricator.services.mozilla.com/D20291

--HG--
extra : moz-landing-system : lando
This commit is contained in:
Asfiya 2019-02-19 17:01:59 +00:00
Родитель 87df459a63
Коммит 2b8ec74bf6
6 изменённых файлов: 19 добавлений и 15 удалений

Просмотреть файл

@ -3627,7 +3627,7 @@ void FlexboxAxisTracker::InitAxesFromLegacyProps(
void FlexboxAxisTracker::InitAxesFromModernProps(
const nsFlexContainerFrame* aFlexContainer) {
const nsStylePosition* stylePos = aFlexContainer->StylePosition();
uint32_t flexDirection = stylePos->mFlexDirection;
StyleFlexDirection flexDirection = stylePos->mFlexDirection;
// Inline dimension ("start-to-end"):
// (NOTE: I'm intentionally not calling these "inlineAxis"/"blockAxis", since
@ -3640,22 +3640,22 @@ void FlexboxAxisTracker::InitAxesFromModernProps(
// Determine main axis:
switch (flexDirection) {
case NS_STYLE_FLEX_DIRECTION_ROW:
case StyleFlexDirection::Row:
mMainAxis = inlineDimension;
mIsRowOriented = true;
mIsMainAxisReversed = false;
break;
case NS_STYLE_FLEX_DIRECTION_ROW_REVERSE:
case StyleFlexDirection::RowReverse:
mMainAxis = GetReverseAxis(inlineDimension);
mIsRowOriented = true;
mIsMainAxisReversed = true;
break;
case NS_STYLE_FLEX_DIRECTION_COLUMN:
case StyleFlexDirection::Column:
mMainAxis = blockDimension;
mIsRowOriented = false;
mIsMainAxisReversed = false;
break;
case NS_STYLE_FLEX_DIRECTION_COLUMN_REVERSE:
case StyleFlexDirection::ColumnReverse:
mMainAxis = GetReverseAxis(blockDimension);
mIsRowOriented = false;
mIsMainAxisReversed = true;
@ -3667,8 +3667,8 @@ void FlexboxAxisTracker::InitAxesFromModernProps(
// Determine cross axis:
// (This is set up so that a bogus |flexDirection| value will
// give us blockDimension.
if (flexDirection == NS_STYLE_FLEX_DIRECTION_COLUMN ||
flexDirection == NS_STYLE_FLEX_DIRECTION_COLUMN_REVERSE) {
if (flexDirection == StyleFlexDirection::Column ||
flexDirection == StyleFlexDirection::ColumnReverse) {
mCrossAxis = inlineDimension;
} else {
mCrossAxis = blockDimension;
@ -4447,8 +4447,8 @@ bool nsFlexContainerFrame::IsItemInlineAxisMainAxis(nsIFrame* aFrame) {
// whether the flex container's main axis is its inline axis.)
auto flexDirection = flexContainer->StylePosition()->mFlexDirection;
bool flexContainerIsRowOriented =
flexDirection == NS_STYLE_FLEX_DIRECTION_ROW ||
flexDirection == NS_STYLE_FLEX_DIRECTION_ROW_REVERSE;
flexDirection == StyleFlexDirection::Row ||
flexDirection == StyleFlexDirection::RowReverse;
// aFrame's inline axis is its flex container's main axis IFF the above
// questions have the same answer.

Просмотреть файл

@ -134,6 +134,7 @@ rusty-enums = [
"mozilla::StyleWhiteSpace",
"mozilla::StyleTextRendering",
"mozilla::StyleColorAdjust",
"mozilla::StyleFlexDirection",
"nsStyleImageType",
"nsStyleSVGPaintType",
"nsStyleSVGFallbackType",

Просмотреть файл

@ -385,10 +385,12 @@ enum class StyleContent : uint8_t {
#define NS_STYLE_JUSTIFY_ALL_SHIFT NS_STYLE_ALIGN_ALL_SHIFT
// See nsStylePosition
#define NS_STYLE_FLEX_DIRECTION_ROW 0
#define NS_STYLE_FLEX_DIRECTION_ROW_REVERSE 1
#define NS_STYLE_FLEX_DIRECTION_COLUMN 2
#define NS_STYLE_FLEX_DIRECTION_COLUMN_REVERSE 3
enum class StyleFlexDirection : uint8_t {
Row,
RowReverse,
Column,
ColumnReverse,
};
// See nsStylePosition
#define NS_STYLE_FLEX_WRAP_NOWRAP 0

Просмотреть файл

@ -1311,7 +1311,7 @@ nsStylePosition::nsStylePosition(const Document& aDocument)
mSpecifiedJustifyItems(NS_STYLE_JUSTIFY_LEGACY),
mJustifyItems(NS_STYLE_JUSTIFY_NORMAL),
mJustifySelf(NS_STYLE_JUSTIFY_AUTO),
mFlexDirection(NS_STYLE_FLEX_DIRECTION_ROW),
mFlexDirection(StyleFlexDirection::Row),
mFlexWrap(NS_STYLE_FLEX_WRAP_NOWRAP),
mObjectFit(NS_STYLE_OBJECT_FIT_FILL),
mOrder(NS_STYLE_ORDER_INITIAL),

Просмотреть файл

@ -1291,7 +1291,7 @@ struct MOZ_NEEDS_MEMMOVABLE_MEMBERS nsStylePosition {
uint8_t mSpecifiedJustifyItems;
uint8_t mJustifyItems;
uint8_t mJustifySelf;
uint8_t mFlexDirection; // NS_STYLE_FLEX_DIRECTION_*
mozilla::StyleFlexDirection mFlexDirection;
uint8_t mFlexWrap; // NS_STYLE_FLEX_WRAP_*
uint8_t mObjectFit; // NS_STYLE_OBJECT_FIT_*
int32_t mOrder;

Просмотреть файл

@ -75,6 +75,7 @@ ${helpers.single_keyword(
extra_prefixes="webkit",
animation_value_type="discrete",
servo_restyle_damage = "reflow",
gecko_enum_prefix = "StyleFlexDirection",
)}
${helpers.single_keyword(