Diff
Modified: trunk/Source/WebCore/ChangeLog (266690 => 266691)
--- trunk/Source/WebCore/ChangeLog 2020-09-07 01:33:30 UTC (rev 266690)
+++ trunk/Source/WebCore/ChangeLog 2020-09-07 02:22:02 UTC (rev 266691)
@@ -1,3 +1,73 @@
+2020-09-06 Wenson Hsieh <wenson_hs...@apple.com>
+
+ Make `WebCore::WritingMode` an 8-bit enum class
+ https://bugs.webkit.org/show_bug.cgi?id=216233
+
+ Reviewed by Darin Adler.
+
+ Narrow WebCore::WritingMode to an 8-bit enum class; no change in behavior.
+
+ * css/CSSPrimitiveValueMappings.h:
+ (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
+ (WebCore::CSSPrimitiveValue::operator WritingMode const):
+ * css/CSSProperty.cpp:
+ (WebCore::resolveToPhysicalProperty):
+ * dom/Element.cpp:
+ (WebCore::toScrollAlignmentForInlineDirection):
+ (WebCore::toScrollAlignmentForBlockDirection):
+ * page/FrameView.cpp:
+ (WebCore::paginationModeForRenderStyle):
+ * platform/text/WritingMode.h:
+ * rendering/GridBaselineAlignment.cpp:
+ (WebCore::BaselineGroup::isOppositeBlockFlow const):
+ (WebCore::BaselineGroup::isOrthogonalBlockFlow const):
+ * rendering/RenderBlock.cpp:
+ (WebCore::RenderBlock::adjustBorderBoxRectForPainting):
+ (WebCore::RenderBlock::paintRectToClipOutFromBorder):
+ (WebCore::RenderBlock::borderTop const):
+ (WebCore::RenderBlock::borderLeft const):
+ (WebCore::RenderBlock::borderBottom const):
+ (WebCore::RenderBlock::borderRight const):
+ * rendering/RenderBox.cpp:
+ (WebCore::shouldFlipBeforeAfterMargins):
+ (WebCore::RenderBox::visualOverflowRectForPropagation const):
+ (WebCore::RenderBox::layoutOverflowRectForPropagation const):
+ * rendering/RenderDetailsMarker.cpp:
+ (WebCore::RenderDetailsMarker::orientation const):
+ * rendering/RenderFlexibleBox.cpp:
+ (WebCore::RenderFlexibleBox::isLeftToRightFlow const):
+ (WebCore::RenderFlexibleBox::transformedWritingMode const):
+ (WebCore::RenderFlexibleBox::flowAwareBorderBefore const):
+ (WebCore::RenderFlexibleBox::flowAwareBorderAfter const):
+ (WebCore::RenderFlexibleBox::flowAwarePaddingBefore const):
+ (WebCore::RenderFlexibleBox::flowAwarePaddingAfter const):
+ (WebCore::RenderFlexibleBox::flowAwareMarginBeforeForChild const):
+ * rendering/RenderTableCell.cpp:
+ (WebCore::RenderTableCell::paddingTop const):
+ (WebCore::RenderTableCell::paddingBottom const):
+ (WebCore::RenderTableCell::paddingLeft const):
+ (WebCore::RenderTableCell::paddingRight const):
+ * rendering/RenderTreeAsText.cpp:
+ (WebCore::RenderTreeAsText::writeRenderObject):
+ * rendering/SimpleLineLayout.cpp:
+ (WebCore::SimpleLineLayout::canUseForStyle):
+ * rendering/shapes/ShapeOutsideInfo.cpp:
+ (WebCore::borderBeforeInWritingMode):
+ (WebCore::borderAndPaddingBeforeInWritingMode):
+ * rendering/style/RenderStyle.cpp:
+ (WebCore::RenderStyle::RenderStyle):
+ (WebCore::RenderStyle::borderBefore const):
+ (WebCore::RenderStyle::borderAfter const):
+ (WebCore::RenderStyle::borderBeforeWidth const):
+ (WebCore::RenderStyle::borderAfterWidth const):
+ * rendering/style/RenderStyle.h:
+ (WebCore::RenderStyle::initialWritingMode):
+ (WebCore::RenderStyle::setWritingMode):
+ * style/StyleAdjuster.cpp:
+ (WebCore::Style::Adjuster::adjust const):
+ * style/StyleBuilderState.cpp:
+ (WebCore::Style::BuilderState::adjustStyleForInterCharacterRuby):
+
2020-09-06 Myles C. Maxfield <mmaxfi...@apple.com>
CTFontGetPhysicalSymbolicTraits() is faster than CTFontCopyPhysicalFont()/CTFontGetSymbolicTraits()
Modified: trunk/Source/WebCore/css/CSSPrimitiveValueMappings.h (266690 => 266691)
--- trunk/Source/WebCore/css/CSSPrimitiveValueMappings.h 2020-09-07 01:33:30 UTC (rev 266690)
+++ trunk/Source/WebCore/css/CSSPrimitiveValueMappings.h 2020-09-07 02:22:02 UTC (rev 266691)
@@ -3193,16 +3193,16 @@
{
setPrimitiveUnitType(CSSUnitType::CSS_VALUE_ID);
switch (e) {
- case TopToBottomWritingMode:
+ case WritingMode::TopToBottom:
m_value.valueID = CSSValueHorizontalTb;
break;
- case RightToLeftWritingMode:
+ case WritingMode::RightToLeft:
m_value.valueID = CSSValueVerticalRl;
break;
- case LeftToRightWritingMode:
+ case WritingMode::LeftToRight:
m_value.valueID = CSSValueVerticalLr;
break;
- case BottomToTopWritingMode:
+ case WritingMode::BottomToTop:
m_value.valueID = CSSValueHorizontalBt;
break;
}
@@ -3218,21 +3218,21 @@
case CSSValueLrTb:
case CSSValueRl:
case CSSValueRlTb:
- return TopToBottomWritingMode;
+ return WritingMode::TopToBottom;
case CSSValueVerticalRl:
case CSSValueTb:
case CSSValueTbRl:
- return RightToLeftWritingMode;
+ return WritingMode::RightToLeft;
case CSSValueVerticalLr:
- return LeftToRightWritingMode;
+ return WritingMode::LeftToRight;
case CSSValueHorizontalBt:
- return BottomToTopWritingMode;
+ return WritingMode::BottomToTop;
default:
break;
}
ASSERT_NOT_REACHED();
- return TopToBottomWritingMode;
+ return WritingMode::TopToBottom;
}
template<> inline CSSPrimitiveValue::CSSPrimitiveValue(TextCombine e)
Modified: trunk/Source/WebCore/css/CSSProperty.cpp (266690 => 266691)
--- trunk/Source/WebCore/css/CSSProperty.cpp 2020-09-07 01:33:30 UTC (rev 266690)
+++ trunk/Source/WebCore/css/CSSProperty.cpp 2020-09-07 02:22:02 UTC (rev 266691)
@@ -61,7 +61,7 @@
static CSSPropertyID resolveToPhysicalProperty(WritingMode writingMode, LogicalExtent logicalSide, const CSSPropertyID* properties)
{
- if (writingMode == TopToBottomWritingMode || writingMode == BottomToTopWritingMode)
+ if (writingMode == WritingMode::TopToBottom || writingMode == WritingMode::BottomToTop)
return properties[logicalSide];
return logicalSide == LogicalWidth ? properties[1] : properties[0];
}
Modified: trunk/Source/WebCore/dom/Element.cpp (266690 => 266691)
--- trunk/Source/WebCore/dom/Element.cpp 2020-09-07 01:33:30 UTC (rev 266690)
+++ trunk/Source/WebCore/dom/Element.cpp 2020-09-07 02:22:02 UTC (rev 266691)
@@ -747,12 +747,12 @@
switch (position.valueOr(ScrollLogicalPosition::Nearest)) {
case ScrollLogicalPosition::Start: {
switch (writingMode) {
- case TopToBottomWritingMode:
- case BottomToTopWritingMode: {
+ case WritingMode::TopToBottom:
+ case WritingMode::BottomToTop: {
return isLTR ? ScrollAlignment::alignLeftAlways : ScrollAlignment::alignRightAlways;
}
- case LeftToRightWritingMode:
- case RightToLeftWritingMode: {
+ case WritingMode::LeftToRight:
+ case WritingMode::RightToLeft: {
return isLTR ? ScrollAlignment::alignTopAlways : ScrollAlignment::alignBottomAlways;
}
default:
@@ -764,12 +764,12 @@
return ScrollAlignment::alignCenterAlways;
case ScrollLogicalPosition::End: {
switch (writingMode) {
- case TopToBottomWritingMode:
- case BottomToTopWritingMode: {
+ case WritingMode::TopToBottom:
+ case WritingMode::BottomToTop: {
return isLTR ? ScrollAlignment::alignRightAlways : ScrollAlignment::alignLeftAlways;
}
- case LeftToRightWritingMode:
- case RightToLeftWritingMode: {
+ case WritingMode::LeftToRight:
+ case WritingMode::RightToLeft: {
return isLTR ? ScrollAlignment::alignBottomAlways : ScrollAlignment::alignTopAlways;
}
default:
@@ -790,13 +790,13 @@
switch (position.valueOr(ScrollLogicalPosition::Start)) {
case ScrollLogicalPosition::Start: {
switch (writingMode) {
- case TopToBottomWritingMode:
+ case WritingMode::TopToBottom:
return ScrollAlignment::alignTopAlways;
- case BottomToTopWritingMode:
+ case WritingMode::BottomToTop:
return ScrollAlignment::alignBottomAlways;
- case LeftToRightWritingMode:
+ case WritingMode::LeftToRight:
return ScrollAlignment::alignLeftAlways;
- case RightToLeftWritingMode:
+ case WritingMode::RightToLeft:
return ScrollAlignment::alignRightAlways;
default:
ASSERT_NOT_REACHED();
@@ -807,13 +807,13 @@
return ScrollAlignment::alignCenterAlways;
case ScrollLogicalPosition::End: {
switch (writingMode) {
- case TopToBottomWritingMode:
+ case WritingMode::TopToBottom:
return ScrollAlignment::alignBottomAlways;
- case BottomToTopWritingMode:
+ case WritingMode::BottomToTop:
return ScrollAlignment::alignTopAlways;
- case LeftToRightWritingMode:
+ case WritingMode::LeftToRight:
return ScrollAlignment::alignRightAlways;
- case RightToLeftWritingMode:
+ case WritingMode::RightToLeft:
return ScrollAlignment::alignLeftAlways;
default:
ASSERT_NOT_REACHED();
Modified: trunk/Source/WebCore/page/FrameView.cpp (266690 => 266691)
--- trunk/Source/WebCore/page/FrameView.cpp 2020-09-07 01:33:30 UTC (rev 266690)
+++ trunk/Source/WebCore/page/FrameView.cpp 2020-09-07 02:22:02 UTC (rev 266691)
@@ -167,7 +167,7 @@
// is horizontal, then we use TextDirection to choose between those options. If the WritingMode
// is vertical, then the direction of the verticality dictates the choice.
if (overflow == Overflow::PagedX) {
- if ((isHorizontalWritingMode && textDirection == TextDirection::LTR) || writingMode == LeftToRightWritingMode)
+ if ((isHorizontalWritingMode && textDirection == TextDirection::LTR) || writingMode == WritingMode::LeftToRight)
return Pagination::LeftToRightPaginated;
return Pagination::RightToLeftPaginated;
}
@@ -175,7 +175,7 @@
// paged-y always corresponds to TopToBottomPaginated or BottomToTopPaginated. If the WritingMode
// is horizontal, then the direction of the horizontality dictates the choice. If the WritingMode
// is vertical, then we use TextDirection to choose between those options.
- if (writingMode == TopToBottomWritingMode || (!isHorizontalWritingMode && textDirection == TextDirection::RTL))
+ if (writingMode == WritingMode::TopToBottom || (!isHorizontalWritingMode && textDirection == TextDirection::RTL))
return Pagination::TopToBottomPaginated;
return Pagination::BottomToTopPaginated;
}
Modified: trunk/Source/WebCore/platform/text/WritingMode.h (266690 => 266691)
--- trunk/Source/WebCore/platform/text/WritingMode.h 2020-09-07 01:33:30 UTC (rev 266690)
+++ trunk/Source/WebCore/platform/text/WritingMode.h 2020-09-07 02:22:02 UTC (rev 266691)
@@ -42,26 +42,26 @@
return direction == TextDirection::LTR;
}
-enum WritingMode {
- TopToBottomWritingMode = 0, // horizontal-tb
- BottomToTopWritingMode = 1, // horizontal-bt
- LeftToRightWritingMode = 2, // vertical-lr
- RightToLeftWritingMode = 3, // vertical-rl
+enum class WritingMode : uint8_t {
+ TopToBottom = 0, // horizontal-tb
+ BottomToTop = 1, // horizontal-bt
+ LeftToRight = 2, // vertical-lr
+ RightToLeft = 3, // vertical-rl
};
-#define MAKE_TEXT_FLOW(writingMode, direction) ((writingMode) << 1 | static_cast<unsigned>(direction))
+#define MAKE_TEXT_FLOW(writingMode, direction) (static_cast<unsigned>(writingMode) << 1 | static_cast<unsigned>(direction))
// Define the text flow in terms of the writing mode and the text direction. The first
// part is the line growing direction and the second part is the block growing direction.
enum TextFlow {
- InlineEastBlockSouth = MAKE_TEXT_FLOW(TopToBottomWritingMode, TextDirection::LTR),
- InlineWestBlockSouth = MAKE_TEXT_FLOW(TopToBottomWritingMode, TextDirection::RTL),
- InlineEastBlockNorth = MAKE_TEXT_FLOW(BottomToTopWritingMode, TextDirection::LTR),
- InlineWestBlockNorth = MAKE_TEXT_FLOW(BottomToTopWritingMode, TextDirection::RTL),
- InlineSouthBlockEast = MAKE_TEXT_FLOW(LeftToRightWritingMode, TextDirection::LTR),
- InlineSouthBlockWest = MAKE_TEXT_FLOW(LeftToRightWritingMode, TextDirection::RTL),
- InlineNorthBlockEast = MAKE_TEXT_FLOW(RightToLeftWritingMode, TextDirection::LTR),
- InlineNorthBlockWest = MAKE_TEXT_FLOW(RightToLeftWritingMode, TextDirection::RTL)
+ InlineEastBlockSouth = MAKE_TEXT_FLOW(WritingMode::TopToBottom, TextDirection::LTR),
+ InlineWestBlockSouth = MAKE_TEXT_FLOW(WritingMode::TopToBottom, TextDirection::RTL),
+ InlineEastBlockNorth = MAKE_TEXT_FLOW(WritingMode::BottomToTop, TextDirection::LTR),
+ InlineWestBlockNorth = MAKE_TEXT_FLOW(WritingMode::BottomToTop, TextDirection::RTL),
+ InlineSouthBlockEast = MAKE_TEXT_FLOW(WritingMode::LeftToRight, TextDirection::LTR),
+ InlineSouthBlockWest = MAKE_TEXT_FLOW(WritingMode::LeftToRight, TextDirection::RTL),
+ InlineNorthBlockEast = MAKE_TEXT_FLOW(WritingMode::RightToLeft, TextDirection::LTR),
+ InlineNorthBlockWest = MAKE_TEXT_FLOW(WritingMode::RightToLeft, TextDirection::RTL)
};
inline TextFlow makeTextFlow(WritingMode writingMode, TextDirection direction)
Modified: trunk/Source/WebCore/rendering/GridBaselineAlignment.cpp (266690 => 266691)
--- trunk/Source/WebCore/rendering/GridBaselineAlignment.cpp 2020-09-07 01:33:30 UTC (rev 266690)
+++ trunk/Source/WebCore/rendering/GridBaselineAlignment.cpp 2020-09-07 02:22:02 UTC (rev 266691)
@@ -176,12 +176,12 @@
bool BaselineGroup::isOppositeBlockFlow(WritingMode blockFlow) const
{
switch (blockFlow) {
- case WritingMode::TopToBottomWritingMode:
+ case WritingMode::TopToBottom:
return false;
- case WritingMode::LeftToRightWritingMode:
- return m_blockFlow == WritingMode::RightToLeftWritingMode;
- case WritingMode::RightToLeftWritingMode:
- return m_blockFlow == WritingMode::LeftToRightWritingMode;
+ case WritingMode::LeftToRight:
+ return m_blockFlow == WritingMode::RightToLeft;
+ case WritingMode::RightToLeft:
+ return m_blockFlow == WritingMode::LeftToRight;
default:
ASSERT_NOT_REACHED();
return false;
@@ -191,11 +191,11 @@
bool BaselineGroup::isOrthogonalBlockFlow(WritingMode blockFlow) const
{
switch (blockFlow) {
- case WritingMode::TopToBottomWritingMode:
- return m_blockFlow != WritingMode::TopToBottomWritingMode;
- case WritingMode::LeftToRightWritingMode:
- case WritingMode::RightToLeftWritingMode:
- return m_blockFlow == WritingMode::TopToBottomWritingMode;
+ case WritingMode::TopToBottom:
+ return m_blockFlow != WritingMode::TopToBottom;
+ case WritingMode::LeftToRight:
+ case WritingMode::RightToLeft:
+ return m_blockFlow == WritingMode::TopToBottom;
default:
ASSERT_NOT_REACHED();
return false;
Modified: trunk/Source/WebCore/rendering/RenderBlock.cpp (266690 => 266691)
--- trunk/Source/WebCore/rendering/RenderBlock.cpp 2020-09-07 01:33:30 UTC (rev 266690)
+++ trunk/Source/WebCore/rendering/RenderBlock.cpp 2020-09-07 02:22:02 UTC (rev 266691)
@@ -3348,12 +3348,12 @@
if (style().isHorizontalWritingMode()) {
LayoutUnit yOff = std::max(0_lu, (legend->height() - RenderBox::borderBefore()) / 2);
paintRect.setHeight(paintRect.height() - yOff);
- if (style().writingMode() == TopToBottomWritingMode)
+ if (style().writingMode() == WritingMode::TopToBottom)
paintRect.setY(paintRect.y() + yOff);
} else {
LayoutUnit xOff = std::max(0_lu, (legend->width() - RenderBox::borderBefore()) / 2);
paintRect.setWidth(paintRect.width() - xOff);
- if (style().writingMode() == LeftToRightWritingMode)
+ if (style().writingMode() == WritingMode::LeftToRight)
paintRect.setX(paintRect.x() + xOff);
}
}
@@ -3370,11 +3370,11 @@
LayoutUnit borderExtent = RenderBox::borderBefore();
if (style().isHorizontalWritingMode()) {
clipRect.setX(paintRect.x() + legend->x());
- clipRect.setY(style().writingMode() == TopToBottomWritingMode ? paintRect.y() : paintRect.y() + paintRect.height() - borderExtent);
+ clipRect.setY(style().writingMode() == WritingMode::TopToBottom ? paintRect.y() : paintRect.y() + paintRect.height() - borderExtent);
clipRect.setWidth(legend->width());
clipRect.setHeight(borderExtent);
} else {
- clipRect.setX(style().writingMode() == LeftToRightWritingMode ? paintRect.x() : paintRect.x() + paintRect.width() - borderExtent);
+ clipRect.setX(style().writingMode() == WritingMode::LeftToRight ? paintRect.x() : paintRect.x() + paintRect.width() - borderExtent);
clipRect.setY(paintRect.y() + legend->y());
clipRect.setWidth(borderExtent);
clipRect.setHeight(legend->height());
@@ -3401,7 +3401,7 @@
LayoutUnit RenderBlock::borderTop() const
{
- if (style().writingMode() != TopToBottomWritingMode || !intrinsicBorderForFieldset())
+ if (style().writingMode() != WritingMode::TopToBottom || !intrinsicBorderForFieldset())
return RenderBox::borderTop();
return RenderBox::borderTop() + intrinsicBorderForFieldset();
}
@@ -3408,7 +3408,7 @@
LayoutUnit RenderBlock::borderLeft() const
{
- if (style().writingMode() != LeftToRightWritingMode || !intrinsicBorderForFieldset())
+ if (style().writingMode() != WritingMode::LeftToRight || !intrinsicBorderForFieldset())
return RenderBox::borderLeft();
return RenderBox::borderLeft() + intrinsicBorderForFieldset();
}
@@ -3415,7 +3415,7 @@
LayoutUnit RenderBlock::borderBottom() const
{
- if (style().writingMode() != BottomToTopWritingMode || !intrinsicBorderForFieldset())
+ if (style().writingMode() != WritingMode::BottomToTop || !intrinsicBorderForFieldset())
return RenderBox::borderBottom();
return RenderBox::borderBottom() + intrinsicBorderForFieldset();
}
@@ -3422,7 +3422,7 @@
LayoutUnit RenderBlock::borderRight() const
{
- if (style().writingMode() != RightToLeftWritingMode || !intrinsicBorderForFieldset())
+ if (style().writingMode() != WritingMode::RightToLeft || !intrinsicBorderForFieldset())
return RenderBox::borderRight();
return RenderBox::borderRight() + intrinsicBorderForFieldset();
}
Modified: trunk/Source/WebCore/rendering/RenderBox.cpp (266690 => 266691)
--- trunk/Source/WebCore/rendering/RenderBox.cpp 2020-09-07 01:33:30 UTC (rev 266690)
+++ trunk/Source/WebCore/rendering/RenderBox.cpp 2020-09-07 02:22:02 UTC (rev 266691)
@@ -2756,17 +2756,17 @@
WritingMode childWritingMode = childStyle->writingMode();
bool shouldFlip = false;
switch (containingBlockStyle.writingMode()) {
- case TopToBottomWritingMode:
- shouldFlip = (childWritingMode == RightToLeftWritingMode);
+ case WritingMode::TopToBottom:
+ shouldFlip = (childWritingMode == WritingMode::RightToLeft);
break;
- case BottomToTopWritingMode:
- shouldFlip = (childWritingMode == RightToLeftWritingMode);
+ case WritingMode::BottomToTop:
+ shouldFlip = (childWritingMode == WritingMode::RightToLeft);
break;
- case RightToLeftWritingMode:
- shouldFlip = (childWritingMode == BottomToTopWritingMode);
+ case WritingMode::RightToLeft:
+ shouldFlip = (childWritingMode == WritingMode::BottomToTop);
break;
- case LeftToRightWritingMode:
- shouldFlip = (childWritingMode == BottomToTopWritingMode);
+ case WritingMode::LeftToRight:
+ shouldFlip = (childWritingMode == WritingMode::BottomToTop);
break;
}
@@ -4817,9 +4817,9 @@
// We are putting ourselves into our parent's coordinate space. If there is a flipped block mismatch
// in a particular axis, then we have to flip the rect along that axis.
- if (style().writingMode() == RightToLeftWritingMode || parentStyle->writingMode() == RightToLeftWritingMode)
+ if (style().writingMode() == WritingMode::RightToLeft || parentStyle->writingMode() == WritingMode::RightToLeft)
rect.setX(width() - rect.maxX());
- else if (style().writingMode() == BottomToTopWritingMode || parentStyle->writingMode() == BottomToTopWritingMode)
+ else if (style().writingMode() == WritingMode::BottomToTop || parentStyle->writingMode() == WritingMode::BottomToTop)
rect.setY(height() - rect.maxY());
return rect;
@@ -4868,9 +4868,9 @@
// We are putting ourselves into our parent's coordinate space. If there is a flipped block mismatch
// in a particular axis, then we have to flip the rect along that axis.
- if (style().writingMode() == RightToLeftWritingMode || parentStyle->writingMode() == RightToLeftWritingMode)
+ if (style().writingMode() == WritingMode::RightToLeft || parentStyle->writingMode() == WritingMode::RightToLeft)
rect.setX(width() - rect.maxX());
- else if (style().writingMode() == BottomToTopWritingMode || parentStyle->writingMode() == BottomToTopWritingMode)
+ else if (style().writingMode() == WritingMode::BottomToTop || parentStyle->writingMode() == WritingMode::BottomToTop)
rect.setY(height() - rect.maxY());
return rect;
Modified: trunk/Source/WebCore/rendering/RenderDetailsMarker.cpp (266690 => 266691)
--- trunk/Source/WebCore/rendering/RenderDetailsMarker.cpp 2020-09-07 01:33:30 UTC (rev 266690)
+++ trunk/Source/WebCore/rendering/RenderDetailsMarker.cpp 2020-09-07 02:22:02 UTC (rev 266691)
@@ -76,19 +76,19 @@
RenderDetailsMarker::Orientation RenderDetailsMarker::orientation() const
{
switch (style().writingMode()) {
- case TopToBottomWritingMode:
+ case WritingMode::TopToBottom:
if (style().isLeftToRightDirection())
return isOpen() ? Down : Right;
return isOpen() ? Down : Left;
- case RightToLeftWritingMode:
+ case WritingMode::RightToLeft:
if (style().isLeftToRightDirection())
return isOpen() ? Left : Down;
return isOpen() ? Left : Up;
- case LeftToRightWritingMode:
+ case WritingMode::LeftToRight:
if (style().isLeftToRightDirection())
return isOpen() ? Right : Down;
return isOpen() ? Right : Up;
- case BottomToTopWritingMode:
+ case WritingMode::BottomToTop:
if (style().isLeftToRightDirection())
return isOpen() ? Up : Right;
return isOpen() ? Up : Left;
Modified: trunk/Source/WebCore/rendering/RenderFlexibleBox.cpp (266690 => 266691)
--- trunk/Source/WebCore/rendering/RenderFlexibleBox.cpp 2020-09-07 01:33:30 UTC (rev 266690)
+++ trunk/Source/WebCore/rendering/RenderFlexibleBox.cpp 2020-09-07 02:22:02 UTC (rev 266691)
@@ -429,7 +429,7 @@
bool RenderFlexibleBox::isLeftToRightFlow() const
{
if (isColumnFlow())
- return style().writingMode() == TopToBottomWritingMode || style().writingMode() == LeftToRightWritingMode;
+ return style().writingMode() == WritingMode::TopToBottom || style().writingMode() == WritingMode::LeftToRight;
return style().isLeftToRightDirection() ^ (style().flexDirection() == FlexDirection::RowReverse);
}
@@ -596,15 +596,15 @@
return mode;
switch (mode) {
- case TopToBottomWritingMode:
- case BottomToTopWritingMode:
- return style().isLeftToRightDirection() ? LeftToRightWritingMode : RightToLeftWritingMode;
- case LeftToRightWritingMode:
- case RightToLeftWritingMode:
- return style().isLeftToRightDirection() ? TopToBottomWritingMode : BottomToTopWritingMode;
+ case WritingMode::TopToBottom:
+ case WritingMode::BottomToTop:
+ return style().isLeftToRightDirection() ? WritingMode::LeftToRight : WritingMode::RightToLeft;
+ case WritingMode::LeftToRight:
+ case WritingMode::RightToLeft:
+ return style().isLeftToRightDirection() ? WritingMode::TopToBottom : WritingMode::BottomToTop;
}
ASSERT_NOT_REACHED();
- return TopToBottomWritingMode;
+ return WritingMode::TopToBottom;
}
LayoutUnit RenderFlexibleBox::flowAwareBorderStart() const
@@ -624,13 +624,13 @@
LayoutUnit RenderFlexibleBox::flowAwareBorderBefore() const
{
switch (transformedWritingMode()) {
- case TopToBottomWritingMode:
+ case WritingMode::TopToBottom:
return borderTop();
- case BottomToTopWritingMode:
+ case WritingMode::BottomToTop:
return borderBottom();
- case LeftToRightWritingMode:
+ case WritingMode::LeftToRight:
return borderLeft();
- case RightToLeftWritingMode:
+ case WritingMode::RightToLeft:
return borderRight();
}
ASSERT_NOT_REACHED();
@@ -640,13 +640,13 @@
LayoutUnit RenderFlexibleBox::flowAwareBorderAfter() const
{
switch (transformedWritingMode()) {
- case TopToBottomWritingMode:
+ case WritingMode::TopToBottom:
return borderBottom();
- case BottomToTopWritingMode:
+ case WritingMode::BottomToTop:
return borderTop();
- case LeftToRightWritingMode:
+ case WritingMode::LeftToRight:
return borderRight();
- case RightToLeftWritingMode:
+ case WritingMode::RightToLeft:
return borderLeft();
}
ASSERT_NOT_REACHED();
@@ -670,13 +670,13 @@
LayoutUnit RenderFlexibleBox::flowAwarePaddingBefore() const
{
switch (transformedWritingMode()) {
- case TopToBottomWritingMode:
+ case WritingMode::TopToBottom:
return paddingTop();
- case BottomToTopWritingMode:
+ case WritingMode::BottomToTop:
return paddingBottom();
- case LeftToRightWritingMode:
+ case WritingMode::LeftToRight:
return paddingLeft();
- case RightToLeftWritingMode:
+ case WritingMode::RightToLeft:
return paddingRight();
}
ASSERT_NOT_REACHED();
@@ -686,13 +686,13 @@
LayoutUnit RenderFlexibleBox::flowAwarePaddingAfter() const
{
switch (transformedWritingMode()) {
- case TopToBottomWritingMode:
+ case WritingMode::TopToBottom:
return paddingBottom();
- case BottomToTopWritingMode:
+ case WritingMode::BottomToTop:
return paddingTop();
- case LeftToRightWritingMode:
+ case WritingMode::LeftToRight:
return paddingRight();
- case RightToLeftWritingMode:
+ case WritingMode::RightToLeft:
return paddingLeft();
}
ASSERT_NOT_REACHED();
@@ -716,13 +716,13 @@
LayoutUnit RenderFlexibleBox::flowAwareMarginBeforeForChild(const RenderBox& child) const
{
switch (transformedWritingMode()) {
- case TopToBottomWritingMode:
+ case WritingMode::TopToBottom:
return child.marginTop();
- case BottomToTopWritingMode:
+ case WritingMode::BottomToTop:
return child.marginBottom();
- case LeftToRightWritingMode:
+ case WritingMode::LeftToRight:
return child.marginLeft();
- case RightToLeftWritingMode:
+ case WritingMode::RightToLeft:
return child.marginRight();
}
ASSERT_NOT_REACHED();
Modified: trunk/Source/WebCore/rendering/RenderTableCell.cpp (266690 => 266691)
--- trunk/Source/WebCore/rendering/RenderTableCell.cpp 2020-09-07 01:33:30 UTC (rev 266690)
+++ trunk/Source/WebCore/rendering/RenderTableCell.cpp 2020-09-07 02:22:02 UTC (rev 266691)
@@ -293,7 +293,7 @@
LayoutUnit result = computedCSSPaddingTop();
if (!isHorizontalWritingMode())
return result;
- return result + (style().writingMode() == TopToBottomWritingMode ? intrinsicPaddingBefore() : intrinsicPaddingAfter());
+ return result + (style().writingMode() == WritingMode::TopToBottom ? intrinsicPaddingBefore() : intrinsicPaddingAfter());
}
LayoutUnit RenderTableCell::paddingBottom() const
@@ -301,7 +301,7 @@
LayoutUnit result = computedCSSPaddingBottom();
if (!isHorizontalWritingMode())
return result;
- return result + (style().writingMode() == TopToBottomWritingMode ? intrinsicPaddingAfter() : intrinsicPaddingBefore());
+ return result + (style().writingMode() == WritingMode::TopToBottom ? intrinsicPaddingAfter() : intrinsicPaddingBefore());
}
LayoutUnit RenderTableCell::paddingLeft() const
@@ -309,7 +309,7 @@
LayoutUnit result = computedCSSPaddingLeft();
if (isHorizontalWritingMode())
return result;
- return result + (style().writingMode() == LeftToRightWritingMode ? intrinsicPaddingBefore() : intrinsicPaddingAfter());
+ return result + (style().writingMode() == WritingMode::LeftToRight ? intrinsicPaddingBefore() : intrinsicPaddingAfter());
}
LayoutUnit RenderTableCell::paddingRight() const
@@ -317,7 +317,7 @@
LayoutUnit result = computedCSSPaddingRight();
if (isHorizontalWritingMode())
return result;
- return result + (style().writingMode() == LeftToRightWritingMode ? intrinsicPaddingAfter() : intrinsicPaddingBefore());
+ return result + (style().writingMode() == WritingMode::LeftToRight ? intrinsicPaddingAfter() : intrinsicPaddingBefore());
}
LayoutUnit RenderTableCell::paddingBefore() const
Modified: trunk/Source/WebCore/rendering/RenderTreeAsText.cpp (266690 => 266691)
--- trunk/Source/WebCore/rendering/RenderTreeAsText.cpp 2020-09-07 01:33:30 UTC (rev 266690)
+++ trunk/Source/WebCore/rendering/RenderTreeAsText.cpp 2020-09-07 02:22:02 UTC (rev 266691)
@@ -272,13 +272,13 @@
LayoutUnit borderLeft = box.borderLeft();
if (box.isFieldset()) {
const auto& block = downcast<RenderBlock>(box);
- if (o.style().writingMode() == TopToBottomWritingMode)
+ if (o.style().writingMode() == WritingMode::TopToBottom)
borderTop -= block.intrinsicBorderForFieldset();
- else if (o.style().writingMode() == BottomToTopWritingMode)
+ else if (o.style().writingMode() == WritingMode::BottomToTop)
borderBottom -= block.intrinsicBorderForFieldset();
- else if (o.style().writingMode() == LeftToRightWritingMode)
+ else if (o.style().writingMode() == WritingMode::LeftToRight)
borderLeft -= block.intrinsicBorderForFieldset();
- else if (o.style().writingMode() == RightToLeftWritingMode)
+ else if (o.style().writingMode() == WritingMode::RightToLeft)
borderRight -= block.intrinsicBorderForFieldset();
}
Modified: trunk/Source/WebCore/rendering/SimpleLineLayout.cpp (266690 => 266691)
--- trunk/Source/WebCore/rendering/SimpleLineLayout.cpp 2020-09-07 01:33:30 UTC (rev 266690)
+++ trunk/Source/WebCore/rendering/SimpleLineLayout.cpp 2020-09-07 02:22:02 UTC (rev 266691)
@@ -210,7 +210,7 @@
SET_REASON_AND_RETURN_IF_NEEDED(FlowIsNotLTR, reasons, includeReasons);
if (!(style.lineBoxContain().contains(LineBoxContain::Block)))
SET_REASON_AND_RETURN_IF_NEEDED(FlowHasLineBoxContainProperty, reasons, includeReasons);
- if (style.writingMode() != TopToBottomWritingMode)
+ if (style.writingMode() != WritingMode::TopToBottom)
SET_REASON_AND_RETURN_IF_NEEDED(FlowIsNotTopToBottom, reasons, includeReasons);
if (style.lineBreak() != LineBreak::Auto)
SET_REASON_AND_RETURN_IF_NEEDED(FlowHasLineBreak, reasons, includeReasons);
Modified: trunk/Source/WebCore/rendering/shapes/ShapeOutsideInfo.cpp (266690 => 266691)
--- trunk/Source/WebCore/rendering/shapes/ShapeOutsideInfo.cpp 2020-09-07 01:33:30 UTC (rev 266690)
+++ trunk/Source/WebCore/rendering/shapes/ShapeOutsideInfo.cpp 2020-09-07 02:22:02 UTC (rev 266691)
@@ -199,10 +199,10 @@
static inline LayoutUnit borderBeforeInWritingMode(const RenderBox& renderer, WritingMode writingMode)
{
switch (writingMode) {
- case TopToBottomWritingMode: return renderer.borderTop();
- case BottomToTopWritingMode: return renderer.borderBottom();
- case LeftToRightWritingMode: return renderer.borderLeft();
- case RightToLeftWritingMode: return renderer.borderRight();
+ case WritingMode::TopToBottom: return renderer.borderTop();
+ case WritingMode::BottomToTop: return renderer.borderBottom();
+ case WritingMode::LeftToRight: return renderer.borderLeft();
+ case WritingMode::RightToLeft: return renderer.borderRight();
}
ASSERT_NOT_REACHED();
@@ -212,10 +212,10 @@
static inline LayoutUnit borderAndPaddingBeforeInWritingMode(const RenderBox& renderer, WritingMode writingMode)
{
switch (writingMode) {
- case TopToBottomWritingMode: return renderer.borderTop() + renderer.paddingTop();
- case BottomToTopWritingMode: return renderer.borderBottom() + renderer.paddingBottom();
- case LeftToRightWritingMode: return renderer.borderLeft() + renderer.paddingLeft();
- case RightToLeftWritingMode: return renderer.borderRight() + renderer.paddingRight();
+ case WritingMode::TopToBottom: return renderer.borderTop() + renderer.paddingTop();
+ case WritingMode::BottomToTop: return renderer.borderBottom() + renderer.paddingBottom();
+ case WritingMode::LeftToRight: return renderer.borderLeft() + renderer.paddingLeft();
+ case WritingMode::RightToLeft: return renderer.borderRight() + renderer.paddingRight();
}
ASSERT_NOT_REACHED();
Modified: trunk/Source/WebCore/rendering/style/RenderStyle.cpp (266690 => 266691)
--- trunk/Source/WebCore/rendering/style/RenderStyle.cpp 2020-09-07 01:33:30 UTC (rev 266690)
+++ trunk/Source/WebCore/rendering/style/RenderStyle.cpp 2020-09-07 02:22:02 UTC (rev 266691)
@@ -165,7 +165,7 @@
m_inheritedFlags.pointerEvents = static_cast<unsigned>(initialPointerEvents());
m_inheritedFlags.insideLink = static_cast<unsigned>(InsideLink::NotInside);
m_inheritedFlags.insideDefaultButton = false;
- m_inheritedFlags.writingMode = initialWritingMode();
+ m_inheritedFlags.writingMode = static_cast<unsigned>(initialWritingMode());
#if ENABLE(TEXT_AUTOSIZING)
m_inheritedFlags.autosizeStatus = 0;
#endif
@@ -2103,13 +2103,13 @@
const BorderValue& RenderStyle::borderBefore() const
{
switch (writingMode()) {
- case TopToBottomWritingMode:
+ case WritingMode::TopToBottom:
return borderTop();
- case BottomToTopWritingMode:
+ case WritingMode::BottomToTop:
return borderBottom();
- case LeftToRightWritingMode:
+ case WritingMode::LeftToRight:
return borderLeft();
- case RightToLeftWritingMode:
+ case WritingMode::RightToLeft:
return borderRight();
}
ASSERT_NOT_REACHED();
@@ -2119,13 +2119,13 @@
const BorderValue& RenderStyle::borderAfter() const
{
switch (writingMode()) {
- case TopToBottomWritingMode:
+ case WritingMode::TopToBottom:
return borderBottom();
- case BottomToTopWritingMode:
+ case WritingMode::BottomToTop:
return borderTop();
- case LeftToRightWritingMode:
+ case WritingMode::LeftToRight:
return borderRight();
- case RightToLeftWritingMode:
+ case WritingMode::RightToLeft:
return borderLeft();
}
ASSERT_NOT_REACHED();
@@ -2149,13 +2149,13 @@
float RenderStyle::borderBeforeWidth() const
{
switch (writingMode()) {
- case TopToBottomWritingMode:
+ case WritingMode::TopToBottom:
return borderTopWidth();
- case BottomToTopWritingMode:
+ case WritingMode::BottomToTop:
return borderBottomWidth();
- case LeftToRightWritingMode:
+ case WritingMode::LeftToRight:
return borderLeftWidth();
- case RightToLeftWritingMode:
+ case WritingMode::RightToLeft:
return borderRightWidth();
}
ASSERT_NOT_REACHED();
@@ -2165,13 +2165,13 @@
float RenderStyle::borderAfterWidth() const
{
switch (writingMode()) {
- case TopToBottomWritingMode:
+ case WritingMode::TopToBottom:
return borderBottomWidth();
- case BottomToTopWritingMode:
+ case WritingMode::BottomToTop:
return borderTopWidth();
- case LeftToRightWritingMode:
+ case WritingMode::LeftToRight:
return borderRightWidth();
- case RightToLeftWritingMode:
+ case WritingMode::RightToLeft:
return borderLeftWidth();
}
ASSERT_NOT_REACHED();
Modified: trunk/Source/WebCore/rendering/style/RenderStyle.h (266690 => 266691)
--- trunk/Source/WebCore/rendering/style/RenderStyle.h 2020-09-07 01:33:30 UTC (rev 266690)
+++ trunk/Source/WebCore/rendering/style/RenderStyle.h 2020-09-07 02:22:02 UTC (rev 266691)
@@ -1489,7 +1489,7 @@
static ColumnAxis initialColumnAxis() { return ColumnAxis::Auto; }
static ColumnProgression initialColumnProgression() { return ColumnProgression::Normal; }
static TextDirection initialDirection() { return TextDirection::LTR; }
- static WritingMode initialWritingMode() { return TopToBottomWritingMode; }
+ static WritingMode initialWritingMode() { return WritingMode::TopToBottom; }
static TextCombine initialTextCombine() { return TextCombine::None; }
static TextOrientation initialTextOrientation() { return TextOrientation::Mixed; }
static ObjectFit initialObjectFit() { return ObjectFit::Fill; }
@@ -2244,7 +2244,7 @@
{
if (v == writingMode())
return false;
- m_inheritedFlags.writingMode = v;
+ m_inheritedFlags.writingMode = static_cast<unsigned>(v);
return true;
}
Modified: trunk/Source/WebCore/style/StyleAdjuster.cpp (266690 => 266691)
--- trunk/Source/WebCore/style/StyleAdjuster.cpp 2020-09-07 01:33:30 UTC (rev 266690)
+++ trunk/Source/WebCore/style/StyleAdjuster.cpp 2020-09-07 02:22:02 UTC (rev 266691)
@@ -328,10 +328,10 @@
style.setWritingMode(m_parentStyle.writingMode());
// FIXME: Since we don't support block-flow on flexible boxes yet, disallow setting
- // of block-flow to anything other than TopToBottomWritingMode.
+ // of block-flow to anything other than WritingMode::TopToBottom.
// https://bugs.webkit.org/show_bug.cgi?id=46418 - Flexible box support.
- if (style.writingMode() != TopToBottomWritingMode && (style.display() == DisplayType::Box || style.display() == DisplayType::InlineBox))
- style.setWritingMode(TopToBottomWritingMode);
+ if (style.writingMode() != WritingMode::TopToBottom && (style.display() == DisplayType::Box || style.display() == DisplayType::InlineBox))
+ style.setWritingMode(WritingMode::TopToBottom);
// https://www.w3.org/TR/css-display/#transformations
// "A parent with a grid or flex display value blockifies the box’s display type."
Modified: trunk/Source/WebCore/style/StyleBuilderState.cpp (266690 => 266691)
--- trunk/Source/WebCore/style/StyleBuilderState.cpp 2020-09-07 01:33:30 UTC (rev 266690)
+++ trunk/Source/WebCore/style/StyleBuilderState.cpp 2020-09-07 02:22:02 UTC (rev 266691)
@@ -339,7 +339,7 @@
m_style.setTextAlign(TextAlignMode::Center);
if (m_style.isHorizontalWritingMode())
- m_style.setWritingMode(LeftToRightWritingMode);
+ m_style.setWritingMode(WritingMode::LeftToRight);
}
void BuilderState::updateFont()