Changeset 289617 in webkit
- Timestamp:
- Feb 11, 2022 4:47:17 AM (5 months ago)
- Location:
- trunk
- Files:
-
- 5 edited
-
LayoutTests/imported/w3c/ChangeLog (modified) (1 diff)
-
LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/container-name-invalidation-expected.txt (modified) (1 diff)
-
LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/container-selection-expected.txt (modified) (1 diff)
-
Source/WebCore/ChangeLog (modified) (1 diff)
-
Source/WebCore/style/ContainerQueryEvaluator.cpp (modified) (3 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/LayoutTests/imported/w3c/ChangeLog
r289615 r289617 1 2022-02-11 Antti Koivisto <antti@apple.com> 2 3 [CSS Container Queries] Implement container name matching 4 https://bugs.webkit.org/show_bug.cgi?id=236495 5 6 Reviewed by Tim Nguyen. 7 8 * web-platform-tests/css/css-contain/container-queries/container-name-invalidation-expected.txt: 9 * web-platform-tests/css/css-contain/container-queries/container-selection-expected.txt: 10 1 11 2022-02-11 Andreu Botella <andreu@andreubotella.com> 2 12 -
trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/container-name-invalidation-expected.txt
r289222 r289617 1 1 Test 2 2 3 FAIL Changing a named container invalidates relevant descendants assert_equals: expected "rgb(0, 128, 0)" but got "rgb(0, 0, 0)" 4 FAIL Changing container-name invalidates relevant descendants assert_equals: expected "rgb(0, 128, 0)" but got "rgb(0, 0, 0)"3 PASS Changing a named container invalidates relevant descendants 4 FAIL Changing container-name invalidates relevant descendants assert_equals: expected "rgb(0, 0, 0)" but got "rgb(0, 128, 0)" 5 5 -
trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/container-selection-expected.txt
r289222 r289617 13 13 PASS name(c) size(width) for .a-size > .b-size > span 14 14 FAIL name(a) size(width: 16px) for .a-size > .a-size > span assert_equals: expected "true" but got "" 15 FAIL a size(width: 32px) for .a-size > .b-size > span assert_equals: expected "true" but got "" 15 PASS a size(width: 32px) for .a-size > .b-size > span 16 16 PASS b size(width: 16px) for .a-size > .b-size > span 17 FAIL c size(width) for .a-size > .b-size > span assert_equals: expected "" but got "true" 17 PASS c size(width) for .a-size > .b-size > span 18 18 PASS a size(width: 16px) for .a-size > .a-size > span 19 19 PASS a size(width: 32px) for .a-size > .a > span -
trunk/Source/WebCore/ChangeLog
r289616 r289617 1 2022-02-11 Antti Koivisto <antti@apple.com> 2 3 [CSS Container Queries] Implement container name matching 4 https://bugs.webkit.org/show_bug.cgi?id=236495 5 6 Reviewed by Tim Nguyen. 7 8 Find the right container to evaluate against. 9 10 * style/ContainerQueryEvaluator.cpp: 11 (WebCore::Style::ContainerQueryEvaluator::evaluate const): 12 1 13 2022-02-11 Tim Nguyen <ntim@apple.com> 2 14 -
trunk/Source/WebCore/style/ContainerQueryEvaluator.cpp
r289252 r289617 65 65 return false; 66 66 67 // FIXME: Match the container selector. 68 auto* renderer = m_containers.last()->renderer(); 67 auto rendererForContainerSelector = [&]() -> RenderBox* { 68 for (auto& container : makeReversedRange(m_containers)) { 69 auto* renderer = dynamicDowncast<RenderBox>(container->renderer()); 70 if (!renderer) 71 return nullptr; 72 if (containerQuery.containerName.isEmpty()) 73 return renderer; 74 if (renderer->style().containerNames().contains(containerQuery.containerName)) 75 return renderer; 76 } 77 return nullptr; 78 }; 79 80 auto* renderer = rendererForContainerSelector(); 69 81 if (!renderer) 70 82 return false; … … 75 87 auto evaluateSize = [&](const MediaQueryExpression& expression, Comparator comparator, auto&& sizeGetter) 76 88 { 77 if (!is<RenderBox>(renderer))78 return false;79 80 89 std::optional<LayoutUnit> expressionSize; 81 90 … … 86 95 } 87 96 88 auto size = sizeGetter( downcast<RenderBox>(*renderer));97 auto size = sizeGetter(*renderer); 89 98 90 99 switch (comparator) {
Note: See TracChangeset
for help on using the changeset viewer.