Diff
Modified: trunk/LayoutTests/ChangeLog (245493 => 245494)
--- trunk/LayoutTests/ChangeLog 2019-05-18 03:49:14 UTC (rev 245493)
+++ trunk/LayoutTests/ChangeLog 2019-05-18 04:29:48 UTC (rev 245494)
@@ -1,3 +1,17 @@
+2019-05-17 Joonghun Park <[email protected]>
+
+ Implement CSS `display: flow-root` (modern clearfix)
+ https://bugs.webkit.org/show_bug.cgi?id=165603
+
+ Reviewed by Zalan Bujtas.
+
+ This change follows https://drafts.csswg.org/css-display-3/#valdef-display-flow-root as below.
+
+ 'display: flow-root' generates a block container box, and lays out its contents using flow layout.
+ It always establishes a new block formatting context for its contents.
+
+ * TestExpectations:
+
2019-05-17 Antoine Quint <[email protected]>
Add a website policy to disable the legacy -webkit-overflow-scrolling:touch behavior
Modified: trunk/LayoutTests/TestExpectations (245493 => 245494)
--- trunk/LayoutTests/TestExpectations 2019-05-18 03:49:14 UTC (rev 245493)
+++ trunk/LayoutTests/TestExpectations 2019-05-18 04:29:48 UTC (rev 245494)
@@ -2006,7 +2006,6 @@
### START OF display: contents failures
webkit.org/b/157477 imported/w3c/web-platform-tests/css/css-display/display-contents-dynamic-table-001-inline.html [ ImageOnlyFailure ]
-webkit.org/b/157477 imported/w3c/web-platform-tests/css/css-display/display-flow-root-001.html [ ImageOnlyFailure ]
### END OF display: contents failures
########################################
Modified: trunk/Source/WebCore/ChangeLog (245493 => 245494)
--- trunk/Source/WebCore/ChangeLog 2019-05-18 03:49:14 UTC (rev 245493)
+++ trunk/Source/WebCore/ChangeLog 2019-05-18 04:29:48 UTC (rev 245494)
@@ -1,3 +1,28 @@
+2019-05-17 Joonghun Park <[email protected]>
+
+ Implement CSS `display: flow-root` (modern clearfix)
+ https://bugs.webkit.org/show_bug.cgi?id=165603
+
+ Reviewed by Zalan Bujtas.
+
+ This change follows https://drafts.csswg.org/css-display-3/#valdef-display-flow-root as below.
+
+ 'display: flow-root' generates a block container box, and lays out its contents using flow layout.
+ It always establishes a new block formatting context for its contents.
+
+ * css/CSSPrimitiveValueMappings.h:
+ (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
+ * css/CSSValueKeywords.in:
+ * css/StyleResolver.cpp:
+ (WebCore::equivalentBlockDisplay):
+ * css/parser/CSSParserFastPaths.cpp:
+ (WebCore::CSSParserFastPaths::isValidKeywordPropertyAndValue):
+ * rendering/RenderBox.cpp:
+ (WebCore::RenderBox::createsNewFormattingContext const):
+ * rendering/RenderElement.cpp:
+ (WebCore::RenderElement::createFor):
+ * rendering/style/RenderStyleConstants.h:
+
2019-05-17 Don Olmstead <[email protected]>
[CMake] Use builtin FindICU
Modified: trunk/Source/WebCore/css/CSSPrimitiveValueMappings.h (245493 => 245494)
--- trunk/Source/WebCore/css/CSSPrimitiveValueMappings.h 2019-05-18 03:49:14 UTC (rev 245493)
+++ trunk/Source/WebCore/css/CSSPrimitiveValueMappings.h 2019-05-18 04:29:48 UTC (rev 245494)
@@ -1409,6 +1409,9 @@
case DisplayType::Contents:
m_value.valueID = CSSValueContents;
break;
+ case DisplayType::FlowRoot:
+ m_value.valueID = CSSValueFlowRoot;
+ break;
}
}
Modified: trunk/Source/WebCore/css/CSSValueKeywords.in (245493 => 245494)
--- trunk/Source/WebCore/css/CSSValueKeywords.in 2019-05-18 03:49:14 UTC (rev 245493)
+++ trunk/Source/WebCore/css/CSSValueKeywords.in 2019-05-18 04:29:48 UTC (rev 245494)
@@ -454,6 +454,7 @@
contents
grid
inline-grid
+flow-root
//none
//
// CSS_PROP_CURSOR:
Modified: trunk/Source/WebCore/css/StyleResolver.cpp (245493 => 245494)
--- trunk/Source/WebCore/css/StyleResolver.cpp 2019-05-18 03:49:14 UTC (rev 245493)
+++ trunk/Source/WebCore/css/StyleResolver.cpp 2019-05-18 04:29:48 UTC (rev 245494)
@@ -696,6 +696,7 @@
case DisplayType::Flex:
case DisplayType::WebKitFlex:
case DisplayType::Grid:
+ case DisplayType::FlowRoot:
return display;
case DisplayType::ListItem:
Modified: trunk/Source/WebCore/css/parser/CSSParserFastPaths.cpp (245493 => 245494)
--- trunk/Source/WebCore/css/parser/CSSParserFastPaths.cpp 2019-05-18 03:49:14 UTC (rev 245493)
+++ trunk/Source/WebCore/css/parser/CSSParserFastPaths.cpp 2019-05-18 04:29:48 UTC (rev 245494)
@@ -577,7 +577,7 @@
// table-column-group | table-column | table-cell | table-caption | -webkit-box | -webkit-inline-box | none
// flex | inline-flex | -webkit-flex | -webkit-inline-flex | grid | inline-grid
return (valueID >= CSSValueInline && valueID <= CSSValueContents) || valueID == CSSValueNone
- || valueID == CSSValueGrid || valueID == CSSValueInlineGrid;
+ || valueID == CSSValueGrid || valueID == CSSValueInlineGrid || valueID == CSSValueFlowRoot;
case CSSPropertyDominantBaseline:
// auto | use-script | no-change | reset-size | ideographic |
// alphabetic | hanging | mathematical | central | middle |
Modified: trunk/Source/WebCore/rendering/RenderBox.cpp (245493 => 245494)
--- trunk/Source/WebCore/rendering/RenderBox.cpp 2019-05-18 03:49:14 UTC (rev 245493)
+++ trunk/Source/WebCore/rendering/RenderBox.cpp 2019-05-18 04:29:48 UTC (rev 245494)
@@ -4510,7 +4510,7 @@
{
return isInlineBlockOrInlineTable() || isFloatingOrOutOfFlowPositioned() || hasOverflowClip() || isFlexItemIncludingDeprecated()
|| isTableCell() || isTableCaption() || isFieldset() || isWritingModeRoot() || isDocumentElementRenderer() || isRenderFragmentedFlow() || isRenderFragmentContainer()
- || isGridItem() || style().specifiesColumns() || style().columnSpan() == ColumnSpan::All;
+ || isGridItem() || style().specifiesColumns() || style().columnSpan() == ColumnSpan::All || style().display() == DisplayType::FlowRoot;
}
bool RenderBox::avoidsFloats() const
Modified: trunk/Source/WebCore/rendering/RenderElement.cpp (245493 => 245494)
--- trunk/Source/WebCore/rendering/RenderElement.cpp 2019-05-18 03:49:14 UTC (rev 245493)
+++ trunk/Source/WebCore/rendering/RenderElement.cpp 2019-05-18 04:29:48 UTC (rev 245494)
@@ -158,6 +158,7 @@
return createRenderer<RenderInline>(element, WTFMove(style));
FALLTHROUGH; // Fieldsets should make a block flow if display:inline is set.
case DisplayType::Block:
+ case DisplayType::FlowRoot:
case DisplayType::InlineBlock:
case DisplayType::Compact:
return createRenderer<RenderBlockFlow>(element, WTFMove(style));
Modified: trunk/Source/WebCore/rendering/style/RenderStyleConstants.h (245493 => 245494)
--- trunk/Source/WebCore/rendering/style/RenderStyleConstants.h 2019-05-18 03:49:14 UTC (rev 245493)
+++ trunk/Source/WebCore/rendering/style/RenderStyleConstants.h 2019-05-18 04:29:48 UTC (rev 245494)
@@ -876,6 +876,7 @@
Contents,
Grid,
InlineGrid,
+ FlowRoot,
None
};
Modified: trunk/Source/WebInspectorUI/ChangeLog (245493 => 245494)
--- trunk/Source/WebInspectorUI/ChangeLog 2019-05-18 03:49:14 UTC (rev 245493)
+++ trunk/Source/WebInspectorUI/ChangeLog 2019-05-18 04:29:48 UTC (rev 245494)
@@ -1,3 +1,17 @@
+2019-05-17 Joonghun Park <[email protected]>
+
+ Implement CSS `display: flow-root` (modern clearfix)
+ https://bugs.webkit.org/show_bug.cgi?id=165603
+
+ Reviewed by Zalan Bujtas.
+
+ This change follows https://drafts.csswg.org/css-display-3/#valdef-display-flow-root as below.
+
+ 'display: flow-root' generates a block container box, and lays out its contents using flow layout.
+ It always establishes a new block formatting context for its contents.
+
+ * UserInterface/External/CodeMirror/css.js:
+
2019-05-17 Ross Kirsling <[email protected]>
REGRESSION(r244350): Web Inspector: Storage tab data grids aren't editable.
Modified: trunk/Source/WebInspectorUI/UserInterface/External/CodeMirror/css.js (245493 => 245494)
--- trunk/Source/WebInspectorUI/UserInterface/External/CodeMirror/css.js 2019-05-18 03:49:14 UTC (rev 245493)
+++ trunk/Source/WebInspectorUI/UserInterface/External/CodeMirror/css.js 2019-05-18 04:29:48 UTC (rev 245494)
@@ -614,7 +614,7 @@
"ethiopic-halehame-sid-et", "ethiopic-halehame-so-et",
"ethiopic-halehame-ti-er", "ethiopic-halehame-ti-et", "ethiopic-halehame-tig",
"ethiopic-numeric", "ew-resize", "exclusion", "expanded", "extends", "extra-condensed",
- "extra-expanded", "fantasy", "fast", "fill", "fixed", "flat", "flex", "flex-end", "flex-start", "footnotes",
+ "extra-expanded", "fantasy", "fast", "fill", "fixed", "flat", "flex", "flex-end", "flex-start", "flow-root", "footnotes",
"forwards", "from", "geometricPrecision", "georgian", "graytext", "grid", "groove",
"gujarati", "gurmukhi", "hand", "hangul", "hangul-consonant", "hard-light", "hebrew",
"help", "hidden", "hide", "higher", "highlight", "highlighttext",