Title: [290572] trunk
- Revision
- 290572
- Author
- [email protected]
- Date
- 2022-02-27 14:19:14 -0800 (Sun, 27 Feb 2022)
Log Message
Handle reverse flow direction when converting iterator coords for a subgrid
https://bugs.webkit.org/show_bug.cgi?id=236955
Reviewed by Dean Jackson.
Source/WebCore:
When recursing into a subgrid via createForSubgrid, we convert the iterator's
position into coordinates relative to the subgrid. This handles the case where
the subgrid has a reverse flow direction (RTL vs LTR) and swaps the position
to be relative to the opposite edge.
Marks existing WPT grid-gap-007.html as passing
* rendering/Grid.cpp:
(WebCore::GridIterator::createForSubgrid):
LayoutTests:
* TestExpectations:
Marked grid-gap-007.html as now passing, and added bug annotations to
remaining subgrid failures.
Modified Paths
Diff
Modified: trunk/LayoutTests/ChangeLog (290571 => 290572)
--- trunk/LayoutTests/ChangeLog 2022-02-27 22:15:50 UTC (rev 290571)
+++ trunk/LayoutTests/ChangeLog 2022-02-27 22:19:14 UTC (rev 290572)
@@ -1,3 +1,15 @@
+2022-02-27 Matt Woodrow <[email protected]>
+
+ Handle reverse flow direction when converting iterator coords for a subgrid
+ https://bugs.webkit.org/show_bug.cgi?id=236955
+
+ Reviewed by Dean Jackson.
+
+ * TestExpectations:
+
+ Marked grid-gap-007.html as now passing, and added bug annotations to
+ remaining subgrid failures.
+
2022-02-27 Philippe Normand <[email protected]>
[GStreamer] media/video-src-blob-perf.html timing out likely since update to GStreamer 1.20
Modified: trunk/LayoutTests/TestExpectations (290571 => 290572)
--- trunk/LayoutTests/TestExpectations 2022-02-27 22:15:50 UTC (rev 290571)
+++ trunk/LayoutTests/TestExpectations 2022-02-27 22:19:14 UTC (rev 290572)
@@ -1394,19 +1394,18 @@
imported/w3c/web-platform-tests/css/css-grid/masonry/tentative/masonry-subgrid-001.html [ ImageOnlyFailure ]
imported/w3c/web-platform-tests/css/css-grid/masonry/tentative/masonry-subgrid-002.html [ ImageOnlyFailure ]
-imported/w3c/web-platform-tests/css/css-grid/subgrid/auto-track-sizing-001.html [ ImageOnlyFailure ]
-imported/w3c/web-platform-tests/css/css-grid/subgrid/baseline-001.html [ ImageOnlyFailure ]
-imported/w3c/web-platform-tests/css/css-grid/subgrid/grid-gap-003.html [ ImageOnlyFailure ]
-imported/w3c/web-platform-tests/css/css-grid/subgrid/grid-gap-007.html [ ImageOnlyFailure ]
-imported/w3c/web-platform-tests/css/css-grid/subgrid/line-names-007.html [ ImageOnlyFailure ]
-imported/w3c/web-platform-tests/css/css-grid/subgrid/orthogonal-writing-mode-002.html [ ImageOnlyFailure ]
-imported/w3c/web-platform-tests/css/css-grid/subgrid/orthogonal-writing-mode-003.html [ ImageOnlyFailure ]
-imported/w3c/web-platform-tests/css/css-grid/subgrid/orthogonal-writing-mode-004.html [ ImageOnlyFailure ]
-imported/w3c/web-platform-tests/css/css-grid/subgrid/repeat-auto-fill-003.html [ ImageOnlyFailure ]
-imported/w3c/web-platform-tests/css/css-grid/subgrid/subgrid-mbp-overflow-001.html [ ImageOnlyFailure ]
-imported/w3c/web-platform-tests/css/css-grid/subgrid/subgrid-mbp-overflow-002.html [ ImageOnlyFailure ]
-imported/w3c/web-platform-tests/css/css-grid/subgrid/subgrid-mbp-overflow-003.html [ ImageOnlyFailure ]
-imported/w3c/web-platform-tests/css/css-grid/subgrid/subgrid-mbp-overflow-004.html [ ImageOnlyFailure ]
+webkit.org/b/236951 imported/w3c/web-platform-tests/css/css-grid/subgrid/auto-track-sizing-001.html [ ImageOnlyFailure ]
+webkit.org/b/236959 imported/w3c/web-platform-tests/css/css-grid/subgrid/baseline-001.html [ ImageOnlyFailure ]
+webkit.org/b/236956 imported/w3c/web-platform-tests/css/css-grid/subgrid/grid-gap-003.html [ ImageOnlyFailure ]
+webkit.org/b/236957 imported/w3c/web-platform-tests/css/css-grid/subgrid/line-names-007.html [ ImageOnlyFailure ]
+webkit.org/b/236953 imported/w3c/web-platform-tests/css/css-grid/subgrid/orthogonal-writing-mode-002.html [ ImageOnlyFailure ]
+webkit.org/b/236954 imported/w3c/web-platform-tests/css/css-grid/subgrid/orthogonal-writing-mode-003.html [ ImageOnlyFailure ]
+webkit.org/b/236953 imported/w3c/web-platform-tests/css/css-grid/subgrid/orthogonal-writing-mode-004.html [ ImageOnlyFailure ]
+webkit.org/b/236958 imported/w3c/web-platform-tests/css/css-grid/subgrid/repeat-auto-fill-003.html [ ImageOnlyFailure ]
+webkit.org/b/236949 imported/w3c/web-platform-tests/css/css-grid/subgrid/subgrid-mbp-overflow-001.html [ ImageOnlyFailure ]
+webkit.org/b/236949 imported/w3c/web-platform-tests/css/css-grid/subgrid/subgrid-mbp-overflow-002.html [ ImageOnlyFailure ]
+webkit.org/b/236949 imported/w3c/web-platform-tests/css/css-grid/subgrid/subgrid-mbp-overflow-003.html [ ImageOnlyFailure ]
+webkit.org/b/236949 imported/w3c/web-platform-tests/css/css-grid/subgrid/subgrid-mbp-overflow-004.html [ ImageOnlyFailure ]
webkit.org/b/149890 fast/css-grid-layout/grid-shorthands-style-format.html [ Failure ]
webkit.org/b/191508 fast/css-grid-layout/crash-large-positions.html [ Skip ]
Modified: trunk/Source/WebCore/ChangeLog (290571 => 290572)
--- trunk/Source/WebCore/ChangeLog 2022-02-27 22:15:50 UTC (rev 290571)
+++ trunk/Source/WebCore/ChangeLog 2022-02-27 22:19:14 UTC (rev 290572)
@@ -1,3 +1,20 @@
+2022-02-27 Matt Woodrow <[email protected]>
+
+ Handle reverse flow direction when converting iterator coords for a subgrid
+ https://bugs.webkit.org/show_bug.cgi?id=236955
+
+ Reviewed by Dean Jackson.
+
+ When recursing into a subgrid via createForSubgrid, we convert the iterator's
+ position into coordinates relative to the subgrid. This handles the case where
+ the subgrid has a reverse flow direction (RTL vs LTR) and swaps the position
+ to be relative to the opposite edge.
+
+ Marks existing WPT grid-gap-007.html as passing
+
+ * rendering/Grid.cpp:
+ (WebCore::GridIterator::createForSubgrid):
+
2022-02-27 Antoine Quint <[email protected]>
[svg] flood-opacity should be clamped to the [0,1] range
Modified: trunk/Source/WebCore/rendering/Grid.cpp (290571 => 290572)
--- trunk/Source/WebCore/rendering/Grid.cpp 2022-02-27 22:15:50 UTC (rev 290571)
+++ trunk/Source/WebCore/rendering/Grid.cpp 2022-02-27 22:19:14 UTC (rev 290572)
@@ -280,6 +280,11 @@
GridTrackSizingDirection innerDirection = GridLayoutFunctions::flowAwareDirectionForChild(*downcast<RenderGrid>(subgrid.parent()), subgrid, outer.direction());
ASSERT(subgrid.isSubgrid(innerDirection));
+ if (GridLayoutFunctions::isSubgridReversedDirection(*downcast<RenderGrid>(subgrid.parent()), outer.direction(), subgrid)) {
+ unsigned fixedMax = subgrid.currentGrid().numTracks(innerDirection);
+ fixedIndex = fixedMax - fixedIndex - 1;
+ }
+
return GridIterator(subgrid.currentGrid(), innerDirection, fixedIndex);
}
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes