Changeset 284859 in webkit
- Timestamp:
- Oct 26, 2021 1:30:46 AM (9 months ago)
- Location:
- trunk
- Files:
-
- 18 added
- 7 edited
-
LayoutTests/ChangeLog (modified) (1 diff)
-
LayoutTests/TestExpectations (modified) (1 diff)
-
LayoutTests/imported/w3c/ChangeLog (modified) (1 diff)
-
LayoutTests/imported/w3c/web-platform-tests/css/css-cascade/layer-media-query-expected.txt (added)
-
LayoutTests/imported/w3c/web-platform-tests/css/css-cascade/layer-media-query.html (added)
-
LayoutTests/imported/w3c/web-platform-tests/css/css-cascade/revert-layer-001-expected.xht (added)
-
LayoutTests/imported/w3c/web-platform-tests/css/css-cascade/revert-layer-001.html (added)
-
LayoutTests/imported/w3c/web-platform-tests/css/css-cascade/revert-layer-002-expected.xht (added)
-
LayoutTests/imported/w3c/web-platform-tests/css/css-cascade/revert-layer-002.html (added)
-
LayoutTests/imported/w3c/web-platform-tests/css/css-cascade/revert-layer-003-expected.xht (added)
-
LayoutTests/imported/w3c/web-platform-tests/css/css-cascade/revert-layer-003.html (added)
-
LayoutTests/imported/w3c/web-platform-tests/css/css-cascade/revert-layer-004-expected.xht (added)
-
LayoutTests/imported/w3c/web-platform-tests/css/css-cascade/revert-layer-004.html (added)
-
LayoutTests/imported/w3c/web-platform-tests/css/css-cascade/revert-layer-005-expected.xht (added)
-
LayoutTests/imported/w3c/web-platform-tests/css/css-cascade/revert-layer-005.html (added)
-
LayoutTests/imported/w3c/web-platform-tests/css/css-cascade/revert-layer-006-expected.xht (added)
-
LayoutTests/imported/w3c/web-platform-tests/css/css-cascade/revert-layer-006.html (added)
-
LayoutTests/imported/w3c/web-platform-tests/css/css-cascade/revert-layer-007-expected.xht (added)
-
LayoutTests/imported/w3c/web-platform-tests/css/css-cascade/revert-layer-007.html (added)
-
LayoutTests/imported/w3c/web-platform-tests/css/css-cascade/revert-layer-008-expected.txt (added)
-
LayoutTests/imported/w3c/web-platform-tests/css/css-cascade/revert-layer-008.html (added)
-
LayoutTests/imported/w3c/web-platform-tests/css/css-cascade/w3c-import.log (modified) (2 diffs)
-
Source/WebCore/ChangeLog (modified) (1 diff)
-
Source/WebCore/style/RuleSetBuilder.cpp (modified) (4 diffs)
-
Source/WebCore/style/RuleSetBuilder.h (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
trunk/LayoutTests/ChangeLog
r284855 r284859 1 2021-10-26 Antti Koivisto <antti@apple.com> 2 3 [CSS Cascade Layers] Media queries should be able to affect layer order 4 https://bugs.webkit.org/show_bug.cgi?id=232238 5 6 Reviewed by Simon Fraser. 7 8 * TestExpectations: 9 1 10 2021-10-25 Ryan Haddad <ryanhaddad@apple.com> 2 11 -
trunk/LayoutTests/TestExpectations
r284818 r284859 2122 2122 imported/w3c/web-platform-tests/css/css-cascade/important-prop.html [ ImageOnlyFailure ] 2123 2123 webkit.org/b/187093 [ Debug ] imported/w3c/web-platform-tests/css/css-cascade/all-prop-initial-xml.html [ Skip ] 2124 webkit.org/b/232236 imported/w3c/web-platform-tests/css/css-cascade/revert-layer-001.html [ ImageOnlyFailure ] 2125 webkit.org/b/232236 imported/w3c/web-platform-tests/css/css-cascade/revert-layer-002.html [ ImageOnlyFailure ] 2126 webkit.org/b/232236 imported/w3c/web-platform-tests/css/css-cascade/revert-layer-003.html [ ImageOnlyFailure ] 2127 webkit.org/b/232236 imported/w3c/web-platform-tests/css/css-cascade/revert-layer-004.html [ ImageOnlyFailure ] 2128 webkit.org/b/232236 imported/w3c/web-platform-tests/css/css-cascade/revert-layer-005.html [ ImageOnlyFailure ] 2129 webkit.org/b/232236 imported/w3c/web-platform-tests/css/css-cascade/revert-layer-006.html [ ImageOnlyFailure ] 2130 webkit.org/b/232236 imported/w3c/web-platform-tests/css/css-cascade/revert-layer-007.html [ ImageOnlyFailure ] 2124 2131 2125 2132 webkit.org/b/148801 imported/w3c/web-platform-tests/css/css-color/t422-rgba-onscreen-b.xht [ ImageOnlyFailure ] -
trunk/LayoutTests/imported/w3c/ChangeLog
r284853 r284859 1 2021-10-26 Antti Koivisto <antti@apple.com> 2 3 [CSS Cascade Layers] Media queries should be able to affect layer order 4 https://bugs.webkit.org/show_bug.cgi?id=232238 5 6 Reviewed by Simon Fraser. 7 8 Also import some additional @layer WPTs. 9 10 * web-platform-tests/css/css-cascade/layer-media-query-expected.txt: Added. 11 * web-platform-tests/css/css-cascade/layer-media-query.html: Added. 12 * web-platform-tests/css/css-cascade/revert-layer-001-expected.xht: Added. 13 * web-platform-tests/css/css-cascade/revert-layer-001.html: Added. 14 * web-platform-tests/css/css-cascade/revert-layer-002-expected.xht: Added. 15 * web-platform-tests/css/css-cascade/revert-layer-002.html: Added. 16 * web-platform-tests/css/css-cascade/revert-layer-003-expected.xht: Added. 17 * web-platform-tests/css/css-cascade/revert-layer-003.html: Added. 18 * web-platform-tests/css/css-cascade/revert-layer-004-expected.xht: Added. 19 * web-platform-tests/css/css-cascade/revert-layer-004.html: Added. 20 * web-platform-tests/css/css-cascade/revert-layer-005-expected.xht: Added. 21 * web-platform-tests/css/css-cascade/revert-layer-005.html: Added. 22 * web-platform-tests/css/css-cascade/revert-layer-006-expected.xht: Added. 23 * web-platform-tests/css/css-cascade/revert-layer-006.html: Added. 24 * web-platform-tests/css/css-cascade/revert-layer-007-expected.xht: Added. 25 * web-platform-tests/css/css-cascade/revert-layer-007.html: Added. 26 * web-platform-tests/css/css-cascade/revert-layer-008-expected.txt: Added. 27 * web-platform-tests/css/css-cascade/revert-layer-008.html: Added. 28 * web-platform-tests/css/css-cascade/w3c-import.log: 29 1 30 2021-10-25 Nikolaos Mouchtaris <nmouchtaris@apple.com> 2 31 -
trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-cascade/w3c-import.log
r283162 r284859 49 49 /LayoutTests/imported/w3c/web-platform-tests/css/css-cascade/layer-import.html 50 50 /LayoutTests/imported/w3c/web-platform-tests/css/css-cascade/layer-keyframes-override.html 51 /LayoutTests/imported/w3c/web-platform-tests/css/css-cascade/layer-media-query.html 51 52 /LayoutTests/imported/w3c/web-platform-tests/css/css-cascade/layer-property-override.html 52 53 /LayoutTests/imported/w3c/web-platform-tests/css/css-cascade/layer-scroll-timeline-override.html … … 55 56 /LayoutTests/imported/w3c/web-platform-tests/css/css-cascade/layer-vs-inline-style.html 56 57 /LayoutTests/imported/w3c/web-platform-tests/css/css-cascade/presentational-hints-cascade.html 58 /LayoutTests/imported/w3c/web-platform-tests/css/css-cascade/revert-layer-001-expected.xht 59 /LayoutTests/imported/w3c/web-platform-tests/css/css-cascade/revert-layer-001.html 60 /LayoutTests/imported/w3c/web-platform-tests/css/css-cascade/revert-layer-002-expected.xht 61 /LayoutTests/imported/w3c/web-platform-tests/css/css-cascade/revert-layer-002.html 62 /LayoutTests/imported/w3c/web-platform-tests/css/css-cascade/revert-layer-003-expected.xht 63 /LayoutTests/imported/w3c/web-platform-tests/css/css-cascade/revert-layer-003.html 64 /LayoutTests/imported/w3c/web-platform-tests/css/css-cascade/revert-layer-004-expected.xht 65 /LayoutTests/imported/w3c/web-platform-tests/css/css-cascade/revert-layer-004.html 66 /LayoutTests/imported/w3c/web-platform-tests/css/css-cascade/revert-layer-005-expected.xht 67 /LayoutTests/imported/w3c/web-platform-tests/css/css-cascade/revert-layer-005.html 68 /LayoutTests/imported/w3c/web-platform-tests/css/css-cascade/revert-layer-006-expected.xht 69 /LayoutTests/imported/w3c/web-platform-tests/css/css-cascade/revert-layer-006.html 70 /LayoutTests/imported/w3c/web-platform-tests/css/css-cascade/revert-layer-007-expected.xht 71 /LayoutTests/imported/w3c/web-platform-tests/css/css-cascade/revert-layer-007.html 72 /LayoutTests/imported/w3c/web-platform-tests/css/css-cascade/revert-layer-008.html 57 73 /LayoutTests/imported/w3c/web-platform-tests/css/css-cascade/revert-val-001-expected.xht 58 74 /LayoutTests/imported/w3c/web-platform-tests/css/css-cascade/revert-val-001.html -
trunk/Source/WebCore/ChangeLog
r284858 r284859 1 2021-10-26 Antti Koivisto <antti@apple.com> 2 3 [CSS Cascade Layers] Media queries should be able to affect layer order 4 https://bugs.webkit.org/show_bug.cgi?id=232238 5 6 Reviewed by Simon Fraser. 7 8 Cases like 9 10 @media (min-width: 500px) { @layer a, b; } 11 @media (min-width: 200px) { @layer b, a; } 12 13 should work as expected. 14 15 Tests: imported/w3c/web-platform-tests/css/css-cascade/layer-media-query.html 16 17 * style/RuleSetBuilder.cpp: 18 (WebCore::Style::RuleSetBuilder::addRulesFromSheet): 19 (WebCore::Style::RuleSetBuilder::addChildRules): 20 21 Disable dynamic media query evaluation for now when we see a @layer rule within a media query. 22 23 * style/RuleSetBuilder.h: 24 25 Tests: imported/w3c/web-platform-tests/css/css-cascade/layer-media-query.html 26 27 * style/RuleSetBuilder.cpp: 28 (WebCore::Style::RuleSetBuilder::addRulesFromSheet): 29 (WebCore::Style::RuleSetBuilder::addChildRules): 30 * style/RuleSetBuilder.h: 31 1 32 2021-10-26 Adrian Perez de Castro <aperez@igalia.com> 2 33 -
trunk/Source/WebCore/style/RuleSetBuilder.cpp
r284182 r284859 68 68 void RuleSetBuilder::addRulesFromSheet(const StyleSheetContents& sheet, const MediaQuerySet* sheetQuery) 69 69 { 70 auto canUseDynamicMediaQuery Resolution = [&] {70 auto canUseDynamicMediaQueryEvaluation = [&] { 71 71 if (!m_resolver) 72 72 return false; 73 73 74 RuleSetBuilder mutationScanner(m_mediaQueryCollector.evaluator);75 if ( mutationScanner.m_mediaQueryCollector.pushAndEvaluate(sheetQuery))76 mutationScanner.addRulesFromSheetContents(sheet);77 mutationScanner.m_mediaQueryCollector.pop(sheetQuery);78 79 return ! mutationScanner.didSeeResolverMutationWithinDynamicMediaQuery;74 RuleSetBuilder dynamicEvaluationScanner(m_mediaQueryCollector.evaluator); 75 if (dynamicEvaluationScanner.m_mediaQueryCollector.pushAndEvaluate(sheetQuery)) 76 dynamicEvaluationScanner.addRulesFromSheetContents(sheet); 77 dynamicEvaluationScanner.m_mediaQueryCollector.pop(sheetQuery); 78 79 return !dynamicEvaluationScanner.requiresStaticMediaQueryEvaluation; 80 80 }; 81 81 82 m_mediaQueryCollector.collectDynamic = canUseDynamicMediaQuery Resolution();82 m_mediaQueryCollector.collectDynamic = canUseDynamicMediaQueryEvaluation(); 83 83 84 84 if (m_mediaQueryCollector.pushAndEvaluate(sheetQuery)) … … 90 90 { 91 91 for (auto& rule : rules) { 92 if ( didSeeResolverMutationWithinDynamicMediaQuery)92 if (requiresStaticMediaQueryEvaluation) 93 93 return; 94 94 … … 111 111 } 112 112 if (is<StyleRuleLayer>(*rule)) { 113 if (!m_ruleSet && !m_mediaQueryCollector.dynamicContextStack.isEmpty()) 114 requiresStaticMediaQueryEvaluation = true; 115 113 116 auto& layerRule = downcast<StyleRuleLayer>(*rule); 114 117 if (layerRule.isStatement()) { … … 125 128 if (is<StyleRuleFontFace>(*rule) || is<StyleRuleFontPaletteValues>(*rule) || is<StyleRuleKeyframes>(*rule)) { 126 129 if (!m_ruleSet && !m_mediaQueryCollector.dynamicContextStack.isEmpty()) 127 didSeeResolverMutationWithinDynamicMediaQuery= true;130 requiresStaticMediaQueryEvaluation = true; 128 131 129 132 if (m_resolver) -
trunk/Source/WebCore/style/RuleSetBuilder.h
r284182 r284859 80 80 81 81 Vector<RuleSet::ResolverMutatingRule> m_collectedResolverMutatingRules; 82 bool didSeeResolverMutationWithinDynamicMediaQuery{ false };82 bool requiresStaticMediaQueryEvaluation { false }; 83 83 }; 84 84
Note: See TracChangeset
for help on using the changeset viewer.