Diff
Modified: branches/safari-607-branch/LayoutTests/imported/w3c/ChangeLog (241151 => 241152)
--- branches/safari-607-branch/LayoutTests/imported/w3c/ChangeLog 2019-02-07 23:36:15 UTC (rev 241151)
+++ branches/safari-607-branch/LayoutTests/imported/w3c/ChangeLog 2019-02-07 23:36:22 UTC (rev 241152)
@@ -1,3 +1,73 @@
+2019-02-07 Alan Coon <alanc...@apple.com>
+
+ Cherry-pick r239831. rdar://problem/47776468
+
+ [css-grid] Let abspos items reference implicit grid lines
+ https://bugs.webkit.org/show_bug.cgi?id=193313
+
+ Patch by Oriol Brufau <obru...@igalia.com> on 2019-01-10
+ Reviewed by Manuel Rego Casasnovas.
+
+ LayoutTests/imported/w3c:
+
+ Import test changes from WPT.
+
+ * web-platform-tests/css/css-grid/abspos/grid-positioned-items-padding-001.html:
+ * web-platform-tests/css/css-grid/abspos/grid-positioned-items-unknown-named-grid-line-001.html:
+
+ Source/WebCore:
+
+ While they can't create new implicit grid lines, abspos items
+ can reference existing ones as clarified in
+ https://github.com/w3c/csswg-drafts/commit/511bb63
+
+ This patch makes WebKit match Blink, Firefox and Edge.
+
+ Tests: web-platform-tests/css/css-grid/abspos/grid-positioned-items-padding-001.html
+ web-platform-tests/css/css-grid/abspos/grid-positioned-items-unknown-named-grid-line-001.html
+
+ * rendering/RenderGrid.cpp:
+ (WebCore::RenderGrid::populateExplicitGridAndOrderIterator const):
+ Remove argument from spanSizeForAutoPlacedItem call.
+ (WebCore::RenderGrid::createEmptyGridAreaAtSpecifiedPositionsOutsideGrid const):
+ Remove argument from spanSizeForAutoPlacedItem call.
+ (WebCore::RenderGrid::placeSpecifiedMajorAxisItemsOnGrid const):
+ Remove argument from spanSizeForAutoPlacedItem call.
+ (WebCore::RenderGrid::placeAutoMajorAxisItemOnGrid const):
+ Remove argument from spanSizeForAutoPlacedItem call.
+ (WebCore::RenderGrid::gridAreaBreadthForOutOfFlowChild):
+ Don't treat implicit grid lines as 'auto'.
+ * rendering/RenderGrid.h:
+ Remove unused gridPositionIsAutoForOutOfFlow.
+ * rendering/style/GridPositionsResolver.cpp:
+ (WebCore::adjustGridPositionsFromStyle):
+ Don't treat implicit grid lines as 'auto'.
+ Remove unused gridContainerStyle parameter.
+ (WebCore::GridPositionsResolver::spanSizeForAutoPlacedItem):
+ Remove argument from adjustGridPositionsFromStyle call.
+ Remove unused gridContainerStyle parameter.
+ (WebCore::resolveGridPositionFromStyle):
+ Remove unnecessary assert that uses isValidNamedLineOrArea.
+ (WebCore::GridPositionsResolver::resolveGridPositionsFromStyle):
+ Remove argument from adjustGridPositionsFromStyle call.
+ * rendering/style/GridPositionsResolver.h:
+ Remove unused isValidNamedLineOrArea.
+ Remove unused parameter from spanSizeForAutoPlacedItem.
+
+ git-svn-id: https://svn.webkit.org/repository/webkit/trunk@239831 268f45cc-cd09-0410-ab3c-d52691b4dbfc
+
+ 2019-01-10 Oriol Brufau <obru...@igalia.com>
+
+ [css-grid] Let abspos items reference implicit grid lines
+ https://bugs.webkit.org/show_bug.cgi?id=193313
+
+ Reviewed by Manuel Rego Casasnovas.
+
+ Import test changes from WPT.
+
+ * web-platform-tests/css/css-grid/abspos/grid-positioned-items-padding-001.html:
+ * web-platform-tests/css/css-grid/abspos/grid-positioned-items-unknown-named-grid-line-001.html:
+
2019-02-05 Alan Coon <alanc...@apple.com>
Cherry-pick r240727. rdar://problem/47776358
Modified: branches/safari-607-branch/LayoutTests/imported/w3c/web-platform-tests/css/css-grid/abspos/grid-positioned-items-padding-001.html (241151 => 241152)
--- branches/safari-607-branch/LayoutTests/imported/w3c/web-platform-tests/css/css-grid/abspos/grid-positioned-items-padding-001.html 2019-02-07 23:36:15 UTC (rev 241151)
+++ branches/safari-607-branch/LayoutTests/imported/w3c/web-platform-tests/css/css-grid/abspos/grid-positioned-items-padding-001.html 2019-02-07 23:36:22 UTC (rev 241152)
@@ -109,13 +109,13 @@
<div class="grid">
<div class="absolute" style="grid-column: foo / 1; grid-row: foo / 1;"
- data-offset-x="0" data-offset-y="0" data-expected-width="15" data-expected-height="15">
+ data-offset-x="15" data-offset-y="15" data-expected-width="515" data-expected-height="315">
</div>
<div class="absolute" style="grid-column: 1 / 2; grid-row: foo / 1;"
- data-offset-x="15" data-offset-y="0" data-expected-width="100" data-expected-height="15">
+ data-offset-x="15" data-offset-y="15" data-expected-width="100" data-expected-height="315">
</div>
<div class="absolute" style="grid-column: foo / 1; grid-row: 1 / 2;"
- data-offset-x="0" data-offset-y="15" data-expected-width="15" data-expected-height="50">
+ data-offset-x="15" data-offset-y="15" data-expected-width="515" data-expected-height="50">
</div>
<div class="absolute" style="grid-column: 3 / foo; grid-row: 3 / foo;"
data-offset-x="315" data-offset-y="215" data-expected-width="215" data-expected-height="115">
@@ -193,13 +193,13 @@
<div class="grid directionRTL">
<div class="absolute" style="grid-column: foo / 1; grid-row: foo / 1;"
- data-offset-x="515" data-offset-y="0" data-expected-width="15" data-expected-height="15">
+ data-offset-x="0" data-offset-y="15" data-expected-width="515" data-expected-height="315">
</div>
<div class="absolute" style="grid-column: 1 / 2; grid-row: foo / 1;"
- data-offset-x="415" data-offset-y="0" data-expected-width="100" data-expected-height="15">
+ data-offset-x="415" data-offset-y="15" data-expected-width="100" data-expected-height="315">
</div>
<div class="absolute" style="grid-column: foo / 1; grid-row: 1 / 2;"
- data-offset-x="515" data-offset-y="15" data-expected-width="15" data-expected-height="50">
+ data-offset-x="0" data-offset-y="15" data-expected-width="515" data-expected-height="50">
</div>
<div class="absolute" style="grid-column: 3 / foo; grid-row: 3 / foo;"
data-offset-x="0" data-offset-y="215" data-expected-width="215" data-expected-height="115">
Modified: branches/safari-607-branch/LayoutTests/imported/w3c/web-platform-tests/css/css-grid/abspos/grid-positioned-items-unknown-named-grid-line-001.html (241151 => 241152)
--- branches/safari-607-branch/LayoutTests/imported/w3c/web-platform-tests/css/css-grid/abspos/grid-positioned-items-unknown-named-grid-line-001.html 2019-02-07 23:36:15 UTC (rev 241151)
+++ branches/safari-607-branch/LayoutTests/imported/w3c/web-platform-tests/css/css-grid/abspos/grid-positioned-items-unknown-named-grid-line-001.html 2019-02-07 23:36:22 UTC (rev 241152)
@@ -3,7 +3,7 @@
<title>CSS Grid Layout Test: Grid positioned items unknown named grid line</title>
<link rel="author" title="Manuel Rego Casasnovas" href=""
<link rel="help" href="" title="9. Absolute Positioning">
-<meta name="assert" content="This test checks that grid placement properties of absolutely positioned items using unknown named grid lines are treated as 'auto'.">
+<meta name="assert" content="This test checks that grid placement properties of absolutely positioned items can reference implicit grid lines.">
<link rel="stylesheet" href=""
<style>
@@ -58,7 +58,7 @@
data-offset-x="15" data-offset-y="15" data-expected-width="515" data-expected-height="315">
</div>
<div class="absolute sizedToGridArea startUnknownLine"
- data-offset-x="0" data-offset-y="0" data-expected-width="315" data-expected-height="215">
+ data-offset-x="315" data-offset-y="215" data-expected-width="215" data-expected-height="115">
</div>
</div>
@@ -70,7 +70,7 @@
data-offset-x="0" data-offset-y="15" data-expected-width="515" data-expected-height="315">
</div>
<div class="absolute sizedToGridArea startUnknownLine"
- data-offset-x="215" data-offset-y="0" data-expected-width="315" data-expected-height="215">
+ data-offset-x="0" data-offset-y="215" data-expected-width="215" data-expected-height="115">
</div>
</div>
Modified: branches/safari-607-branch/Source/WebCore/ChangeLog (241151 => 241152)
--- branches/safari-607-branch/Source/WebCore/ChangeLog 2019-02-07 23:36:15 UTC (rev 241151)
+++ branches/safari-607-branch/Source/WebCore/ChangeLog 2019-02-07 23:36:22 UTC (rev 241152)
@@ -1,3 +1,105 @@
+2019-02-07 Alan Coon <alanc...@apple.com>
+
+ Cherry-pick r239831. rdar://problem/47776468
+
+ [css-grid] Let abspos items reference implicit grid lines
+ https://bugs.webkit.org/show_bug.cgi?id=193313
+
+ Patch by Oriol Brufau <obru...@igalia.com> on 2019-01-10
+ Reviewed by Manuel Rego Casasnovas.
+
+ LayoutTests/imported/w3c:
+
+ Import test changes from WPT.
+
+ * web-platform-tests/css/css-grid/abspos/grid-positioned-items-padding-001.html:
+ * web-platform-tests/css/css-grid/abspos/grid-positioned-items-unknown-named-grid-line-001.html:
+
+ Source/WebCore:
+
+ While they can't create new implicit grid lines, abspos items
+ can reference existing ones as clarified in
+ https://github.com/w3c/csswg-drafts/commit/511bb63
+
+ This patch makes WebKit match Blink, Firefox and Edge.
+
+ Tests: web-platform-tests/css/css-grid/abspos/grid-positioned-items-padding-001.html
+ web-platform-tests/css/css-grid/abspos/grid-positioned-items-unknown-named-grid-line-001.html
+
+ * rendering/RenderGrid.cpp:
+ (WebCore::RenderGrid::populateExplicitGridAndOrderIterator const):
+ Remove argument from spanSizeForAutoPlacedItem call.
+ (WebCore::RenderGrid::createEmptyGridAreaAtSpecifiedPositionsOutsideGrid const):
+ Remove argument from spanSizeForAutoPlacedItem call.
+ (WebCore::RenderGrid::placeSpecifiedMajorAxisItemsOnGrid const):
+ Remove argument from spanSizeForAutoPlacedItem call.
+ (WebCore::RenderGrid::placeAutoMajorAxisItemOnGrid const):
+ Remove argument from spanSizeForAutoPlacedItem call.
+ (WebCore::RenderGrid::gridAreaBreadthForOutOfFlowChild):
+ Don't treat implicit grid lines as 'auto'.
+ * rendering/RenderGrid.h:
+ Remove unused gridPositionIsAutoForOutOfFlow.
+ * rendering/style/GridPositionsResolver.cpp:
+ (WebCore::adjustGridPositionsFromStyle):
+ Don't treat implicit grid lines as 'auto'.
+ Remove unused gridContainerStyle parameter.
+ (WebCore::GridPositionsResolver::spanSizeForAutoPlacedItem):
+ Remove argument from adjustGridPositionsFromStyle call.
+ Remove unused gridContainerStyle parameter.
+ (WebCore::resolveGridPositionFromStyle):
+ Remove unnecessary assert that uses isValidNamedLineOrArea.
+ (WebCore::GridPositionsResolver::resolveGridPositionsFromStyle):
+ Remove argument from adjustGridPositionsFromStyle call.
+ * rendering/style/GridPositionsResolver.h:
+ Remove unused isValidNamedLineOrArea.
+ Remove unused parameter from spanSizeForAutoPlacedItem.
+
+ git-svn-id: https://svn.webkit.org/repository/webkit/trunk@239831 268f45cc-cd09-0410-ab3c-d52691b4dbfc
+
+ 2019-01-10 Oriol Brufau <obru...@igalia.com>
+
+ [css-grid] Let abspos items reference implicit grid lines
+ https://bugs.webkit.org/show_bug.cgi?id=193313
+
+ Reviewed by Manuel Rego Casasnovas.
+
+ While they can't create new implicit grid lines, abspos items
+ can reference existing ones as clarified in
+ https://github.com/w3c/csswg-drafts/commit/511bb63
+
+ This patch makes WebKit match Blink, Firefox and Edge.
+
+ Tests: web-platform-tests/css/css-grid/abspos/grid-positioned-items-padding-001.html
+ web-platform-tests/css/css-grid/abspos/grid-positioned-items-unknown-named-grid-line-001.html
+
+ * rendering/RenderGrid.cpp:
+ (WebCore::RenderGrid::populateExplicitGridAndOrderIterator const):
+ Remove argument from spanSizeForAutoPlacedItem call.
+ (WebCore::RenderGrid::createEmptyGridAreaAtSpecifiedPositionsOutsideGrid const):
+ Remove argument from spanSizeForAutoPlacedItem call.
+ (WebCore::RenderGrid::placeSpecifiedMajorAxisItemsOnGrid const):
+ Remove argument from spanSizeForAutoPlacedItem call.
+ (WebCore::RenderGrid::placeAutoMajorAxisItemOnGrid const):
+ Remove argument from spanSizeForAutoPlacedItem call.
+ (WebCore::RenderGrid::gridAreaBreadthForOutOfFlowChild):
+ Don't treat implicit grid lines as 'auto'.
+ * rendering/RenderGrid.h:
+ Remove unused gridPositionIsAutoForOutOfFlow.
+ * rendering/style/GridPositionsResolver.cpp:
+ (WebCore::adjustGridPositionsFromStyle):
+ Don't treat implicit grid lines as 'auto'.
+ Remove unused gridContainerStyle parameter.
+ (WebCore::GridPositionsResolver::spanSizeForAutoPlacedItem):
+ Remove argument from adjustGridPositionsFromStyle call.
+ Remove unused gridContainerStyle parameter.
+ (WebCore::resolveGridPositionFromStyle):
+ Remove unnecessary assert that uses isValidNamedLineOrArea.
+ (WebCore::GridPositionsResolver::resolveGridPositionsFromStyle):
+ Remove argument from adjustGridPositionsFromStyle call.
+ * rendering/style/GridPositionsResolver.h:
+ Remove unused isValidNamedLineOrArea.
+ Remove unused parameter from spanSizeForAutoPlacedItem.
+
2019-02-06 Alan Coon <alanc...@apple.com>
Cherry-pick r241015. rdar://problem/47866495
Modified: branches/safari-607-branch/Source/WebCore/rendering/RenderGrid.cpp (241151 => 241152)
--- branches/safari-607-branch/Source/WebCore/rendering/RenderGrid.cpp 2019-02-07 23:36:15 UTC (rev 241151)
+++ branches/safari-607-branch/Source/WebCore/rendering/RenderGrid.cpp 2019-02-07 23:36:22 UTC (rev 241152)
@@ -693,7 +693,7 @@
maximumRowIndex = std::max<int>(maximumRowIndex, rowPositions.untranslatedEndLine());
} else {
// Grow the grid for items with a definite row span, getting the largest such span.
- unsigned spanSize = GridPositionsResolver::spanSizeForAutoPlacedItem(style(), *child, ForRows);
+ unsigned spanSize = GridPositionsResolver::spanSizeForAutoPlacedItem(*child, ForRows);
maximumRowIndex = std::max(maximumRowIndex, spanSize);
}
@@ -703,7 +703,7 @@
maximumColumnIndex = std::max<int>(maximumColumnIndex, columnPositions.untranslatedEndLine());
} else {
// Grow the grid for items with a definite column span, getting the largest such span.
- unsigned spanSize = GridPositionsResolver::spanSizeForAutoPlacedItem(style(), *child, ForColumns);
+ unsigned spanSize = GridPositionsResolver::spanSizeForAutoPlacedItem(*child, ForColumns);
maximumColumnIndex = std::max(maximumColumnIndex, spanSize);
}
@@ -718,7 +718,7 @@
{
GridTrackSizingDirection crossDirection = specifiedDirection == ForColumns ? ForRows : ForColumns;
const unsigned endOfCrossDirection = grid.numTracks(crossDirection);
- unsigned crossDirectionSpanSize = GridPositionsResolver::spanSizeForAutoPlacedItem(style(), gridItem, crossDirection);
+ unsigned crossDirectionSpanSize = GridPositionsResolver::spanSizeForAutoPlacedItem(gridItem, crossDirection);
GridSpan crossDirectionPositions = GridSpan::translatedDefiniteGridSpan(endOfCrossDirection, endOfCrossDirection + crossDirectionSpanSize);
return std::make_unique<GridArea>(specifiedDirection == ForColumns ? crossDirectionPositions : specifiedPositions, specifiedDirection == ForColumns ? specifiedPositions : crossDirectionPositions);
}
@@ -737,7 +737,7 @@
GridSpan majorAxisPositions = grid.gridItemSpan(*autoGridItem, autoPlacementMajorAxisDirection());
ASSERT(majorAxisPositions.isTranslatedDefinite());
ASSERT(grid.gridItemSpan(*autoGridItem, autoPlacementMinorAxisDirection()).isIndefinite());
- unsigned minorAxisSpanSize = GridPositionsResolver::spanSizeForAutoPlacedItem(style(), *autoGridItem, autoPlacementMinorAxisDirection());
+ unsigned minorAxisSpanSize = GridPositionsResolver::spanSizeForAutoPlacedItem(*autoGridItem, autoPlacementMinorAxisDirection());
unsigned majorAxisInitialPosition = majorAxisPositions.startLine();
GridIterator iterator(grid, autoPlacementMajorAxisDirection(), majorAxisPositions.startLine(), isGridAutoFlowDense ? 0 : minorAxisCursors.get(majorAxisInitialPosition));
@@ -770,7 +770,7 @@
void RenderGrid::placeAutoMajorAxisItemOnGrid(Grid& grid, RenderBox& gridItem, AutoPlacementCursor& autoPlacementCursor) const
{
ASSERT(grid.gridItemSpan(gridItem, autoPlacementMajorAxisDirection()).isIndefinite());
- unsigned majorAxisSpanSize = GridPositionsResolver::spanSizeForAutoPlacedItem(style(), gridItem, autoPlacementMajorAxisDirection());
+ unsigned majorAxisSpanSize = GridPositionsResolver::spanSizeForAutoPlacedItem(gridItem, autoPlacementMajorAxisDirection());
const unsigned endOfMajorAxis = grid.numTracks(autoPlacementMajorAxisDirection());
unsigned majorAxisAutoPlacementCursor = autoPlacementMajorAxisDirection() == ForColumns ? autoPlacementCursor.second : autoPlacementCursor.first;
@@ -791,7 +791,7 @@
if (!emptyGridArea)
emptyGridArea = createEmptyGridAreaAtSpecifiedPositionsOutsideGrid(grid, gridItem, autoPlacementMinorAxisDirection(), minorAxisPositions);
} else {
- unsigned minorAxisSpanSize = GridPositionsResolver::spanSizeForAutoPlacedItem(style(), gridItem, autoPlacementMinorAxisDirection());
+ unsigned minorAxisSpanSize = GridPositionsResolver::spanSizeForAutoPlacedItem(gridItem, autoPlacementMinorAxisDirection());
for (unsigned majorAxisIndex = majorAxisAutoPlacementCursor; majorAxisIndex < endOfMajorAxis; ++majorAxisIndex) {
GridIterator iterator(grid, autoPlacementMajorAxisDirection(), majorAxisIndex, minorAxisAutoPlacementCursor);
@@ -1470,11 +1470,6 @@
return 0;
}
-bool RenderGrid::gridPositionIsAutoForOutOfFlow(GridPosition position, GridTrackSizingDirection direction) const
-{
- return position.isAuto() || (position.isNamedGridArea() && !NamedLineCollection::isValidNamedLineOrArea(position.namedGridLine(), style(), GridPositionsResolver::initialPositionSide(direction)));
-}
-
LayoutUnit RenderGrid::resolveAutoStartGridPosition(GridTrackSizingDirection direction) const
{
if (direction == ForRows || style().isLeftToRightDirection())
@@ -1520,8 +1515,8 @@
GridPosition startPosition = direction == ForColumns ? child.style().gridItemColumnStart() : child.style().gridItemRowStart();
GridPosition endPosition = direction == ForColumns ? child.style().gridItemColumnEnd() : child.style().gridItemRowEnd();
- bool startIsAuto = gridPositionIsAutoForOutOfFlow(startPosition, direction) || startLine < 0 || startLine > lastLine;
- bool endIsAuto = gridPositionIsAutoForOutOfFlow(endPosition, direction) || endLine < 0 || endLine > lastLine;
+ bool startIsAuto = startPosition.isAuto() || startLine < 0 || startLine > lastLine;
+ bool endIsAuto = endPosition.isAuto() || endLine < 0 || endLine > lastLine;
if (startIsAuto && endIsAuto)
return isRowAxis ? clientLogicalWidth() : clientLogicalHeight();
Modified: branches/safari-607-branch/Source/WebCore/rendering/RenderGrid.h (241151 => 241152)
--- branches/safari-607-branch/Source/WebCore/rendering/RenderGrid.h 2019-02-07 23:36:15 UTC (rev 241151)
+++ branches/safari-607-branch/Source/WebCore/rendering/RenderGrid.h 2019-02-07 23:36:22 UTC (rev 241152)
@@ -133,7 +133,6 @@
void layoutGridItems();
void populateGridPositionsForDirection(GridTrackSizingDirection);
- bool gridPositionIsAutoForOutOfFlow(GridPosition, GridTrackSizingDirection) const;
LayoutUnit resolveAutoStartGridPosition(GridTrackSizingDirection) const;
LayoutUnit resolveAutoEndGridPosition(GridTrackSizingDirection) const;
LayoutUnit gridAreaBreadthForOutOfFlowChild(const RenderBox&, GridTrackSizingDirection);
Modified: branches/safari-607-branch/Source/WebCore/rendering/style/GridPositionsResolver.cpp (241151 => 241152)
--- branches/safari-607-branch/Source/WebCore/rendering/style/GridPositionsResolver.cpp 2019-02-07 23:36:15 UTC (rev 241151)
+++ branches/safari-607-branch/Source/WebCore/rendering/style/GridPositionsResolver.cpp 2019-02-07 23:36:22 UTC (rev 241152)
@@ -76,19 +76,6 @@
m_autoRepeatTrackListLength = isRowAxis ? gridContainerStyle.gridAutoRepeatColumns().size() : gridContainerStyle.gridAutoRepeatRows().size();
}
-bool NamedLineCollection::isValidNamedLineOrArea(const String& namedLine, const RenderStyle& gridContainerStyle, GridPositionSide side)
-{
- bool isRowAxis = directionFromSide(side) == ForColumns;
- auto& gridLineNames = isRowAxis ? gridContainerStyle.namedGridColumnLines() : gridContainerStyle.namedGridRowLines();
- auto& autoRepeatGridLineNames = isRowAxis ? gridContainerStyle.autoRepeatNamedGridColumnLines() : gridContainerStyle.autoRepeatNamedGridRowLines();
-
- if (gridLineNames.contains(namedLine) || autoRepeatGridLineNames.contains(namedLine))
- return true;
-
- String implicitName = implicitNamedGridLineForSide(namedLine, side);
- return gridLineNames.contains(implicitName) || autoRepeatGridLineNames.contains(implicitName);
-}
-
bool NamedLineCollection::hasNamedLines() const
{
return m_namedLinesIndexes || m_autoRepeatNamedLinesIndexes;
@@ -148,7 +135,7 @@
return std::min(m_namedLinesIndexes->at(firstLine), m_autoRepeatNamedLinesIndexes->at(firstLine) + m_insertionPoint);
}
-static void adjustGridPositionsFromStyle(const RenderStyle& gridContainerStyle, const RenderBox& gridItem, GridTrackSizingDirection direction, GridPosition& initialPosition, GridPosition& finalPosition)
+static void adjustGridPositionsFromStyle(const RenderBox& gridItem, GridTrackSizingDirection direction, GridPosition& initialPosition, GridPosition& finalPosition)
{
bool isForColumns = direction == ForColumns;
initialPosition = isForColumns ? gridItem.style().gridItemColumnStart() : gridItem.style().gridItemRowStart();
@@ -159,15 +146,6 @@
if (initialPosition.isSpan() && finalPosition.isSpan())
finalPosition.setAutoPosition();
- if (gridItem.isOutOfFlowPositioned()) {
- // Early detect the case of non existing named grid lines for positioned items.
- if (initialPosition.isNamedGridArea() && !NamedLineCollection::isValidNamedLineOrArea(initialPosition.namedGridLine(), gridContainerStyle, GridPositionsResolver::initialPositionSide(direction)))
- initialPosition.setAutoPosition();
-
- if (finalPosition.isNamedGridArea() && !NamedLineCollection::isValidNamedLineOrArea(finalPosition.namedGridLine(), gridContainerStyle, GridPositionsResolver::finalPositionSide(direction)))
- finalPosition.setAutoPosition();
- }
-
// If the grid item has an automatic position and a grid span for a named line in a given dimension, instead treat the grid span as one.
if (initialPosition.isAuto() && finalPosition.isSpan() && !finalPosition.namedGridLine().isNull())
finalPosition.setSpanPosition(1, String());
@@ -302,10 +280,10 @@
return direction == ForColumns ? ColumnEndSide : RowEndSide;
}
-unsigned GridPositionsResolver::spanSizeForAutoPlacedItem(const RenderStyle& gridContainerStyle, const RenderBox& gridItem, GridTrackSizingDirection direction)
+unsigned GridPositionsResolver::spanSizeForAutoPlacedItem(const RenderBox& gridItem, GridTrackSizingDirection direction)
{
GridPosition initialPosition, finalPosition;
- adjustGridPositionsFromStyle(gridContainerStyle, gridItem, direction, initialPosition, finalPosition);
+ adjustGridPositionsFromStyle(gridItem, direction, initialPosition, finalPosition);
// This method will only be used when both positions need to be resolved against the opposite one.
ASSERT(initialPosition.shouldBeResolvedAgainstOppositePosition() && finalPosition.shouldBeResolvedAgainstOppositePosition());
@@ -357,7 +335,6 @@
if (explicitLines.hasNamedLines())
return explicitLines.firstPosition();
- ASSERT(!NamedLineCollection::isValidNamedLineOrArea(namedGridLine, gridContainerStyle, side));
// If none of the above works specs mandate to assume that all the lines in the implicit grid have this name.
return lastLine + 1;
}
@@ -374,7 +351,7 @@
GridSpan GridPositionsResolver::resolveGridPositionsFromStyle(const RenderStyle& gridContainerStyle, const RenderBox& gridItem, GridTrackSizingDirection direction, unsigned autoRepeatTracksCount)
{
GridPosition initialPosition, finalPosition;
- adjustGridPositionsFromStyle(gridContainerStyle, gridItem, direction, initialPosition, finalPosition);
+ adjustGridPositionsFromStyle(gridItem, direction, initialPosition, finalPosition);
GridPositionSide initialSide = initialPositionSide(direction);
GridPositionSide finalSide = finalPositionSide(direction);
Modified: branches/safari-607-branch/Source/WebCore/rendering/style/GridPositionsResolver.h (241151 => 241152)
--- branches/safari-607-branch/Source/WebCore/rendering/style/GridPositionsResolver.h 2019-02-07 23:36:15 UTC (rev 241151)
+++ branches/safari-607-branch/Source/WebCore/rendering/style/GridPositionsResolver.h 2019-02-07 23:36:22 UTC (rev 241152)
@@ -48,8 +48,6 @@
public:
NamedLineCollection(const RenderStyle&, const String& namedLine, GridTrackSizingDirection, unsigned lastLine, unsigned autoRepeatTracksCount);
- static bool isValidNamedLineOrArea(const String& namedLine, const RenderStyle&, GridPositionSide);
-
bool hasNamedLines() const;
unsigned firstPosition() const;
@@ -72,7 +70,7 @@
public:
static GridPositionSide initialPositionSide(GridTrackSizingDirection);
static GridPositionSide finalPositionSide(GridTrackSizingDirection);
- static unsigned spanSizeForAutoPlacedItem(const RenderStyle&, const RenderBox&, GridTrackSizingDirection);
+ static unsigned spanSizeForAutoPlacedItem(const RenderBox&, GridTrackSizingDirection);
static GridSpan resolveGridPositionsFromStyle(const RenderStyle&, const RenderBox&, GridTrackSizingDirection, unsigned autoRepeatTracksCount);
static unsigned explicitGridColumnCount(const RenderStyle&, unsigned autoRepeatColumnsCount);
static unsigned explicitGridRowCount(const RenderStyle&, unsigned autoRepeatRowsCount);