[webkit-changes] [287818] trunk/Source/WebCore
Title: [287818] trunk/Source/WebCore Revision 287818 Author an...@apple.com Date 2022-01-09 01:01:48 -0800 (Sun, 09 Jan 2022) Log Message Use IsNegation bit for more efficient pseudo-class style invalidation https://bugs.webkit.org/show_bug.cgi?id=235003 Reviewed by Simon Fraser. We now know if a given invalidation ruleset is for negated context. We can use this to avoid unnecessary traversal in pseudo-class invalidation, similar to what we already do with classes. * dom/Document.cpp: (WebCore::Document::updateHoverActiveState): * dom/Element.cpp: (WebCore::Element::setActive): (WebCore::Element::setFocus): (WebCore::Element::setHasFocusWithin): (WebCore::Element::setHovered): (WebCore::Element::setBeingDragged): Provide the value for invalidation. * html/HTMLFieldSetElement.cpp: (WebCore::HTMLFieldSetElement::addInvalidDescendant): (WebCore::HTMLFieldSetElement::removeInvalidDescendant): * html/HTMLFormControlElement.cpp: (WebCore::HTMLFormControlElement::setAncestorDisabled): (WebCore::HTMLFormControlElement::parseAttribute): (WebCore::HTMLFormControlElement::updateValidity): * html/HTMLFormElement.cpp: (WebCore::HTMLFormElement::registerInvalidAssociatedFormControl): (WebCore::HTMLFormElement::removeInvalidAssociatedFormControlIfNeeded): * html/HTMLInputElement.cpp: (WebCore::HTMLInputElement::setChecked): * html/HTMLOptGroupElement.cpp: (WebCore::HTMLOptGroupElement::parseAttribute): * html/HTMLOptionElement.cpp: (WebCore::HTMLOptionElement::parseAttribute): (WebCore::HTMLOptionElement::setSelectedState): * page/EventHandler.cpp: (WebCore::EventHandler::internalKeyEvent): * style/PseudoClassChangeInvalidation.cpp: (WebCore::Style::PseudoClassChangeInvalidation::computeInvalidation): (WebCore::Style::PseudoClassChangeInvalidation::collectRuleSets): Setting a pseudo-class can only make a regular selector (not inside :not()) start matching. Setting a pseudo-class can only make a negated selector (inside :not()) stop matching. We only need to invalidate for the first case after the mutation has happened and for the second case before it happens. The cases are reversed when pseudo-class is unset. (WebCore::Style::PseudoClassChangeInvalidation::invalidateBeforeChange): (WebCore::Style::PseudoClassChangeInvalidation::invalidateAfterChange): (WebCore::Style::PseudoClassChangeInvalidation::invalidateStyleWithRuleSets): Deleted. * style/PseudoClassChangeInvalidation.h: (WebCore::Style::emplace): Add a helper since std::optional::emplace() is awkward to use with std::initializer_list. (WebCore::Style::PseudoClassChangeInvalidation::PseudoClassChangeInvalidation): (WebCore::Style::PseudoClassChangeInvalidation::~PseudoClassChangeInvalidation): Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/dom/Document.cpp trunk/Source/WebCore/dom/Element.cpp trunk/Source/WebCore/html/HTMLFieldSetElement.cpp trunk/Source/WebCore/html/HTMLFormControlElement.cpp trunk/Source/WebCore/html/HTMLFormElement.cpp trunk/Source/WebCore/html/HTMLInputElement.cpp trunk/Source/WebCore/html/HTMLOptGroupElement.cpp trunk/Source/WebCore/html/HTMLOptionElement.cpp trunk/Source/WebCore/page/EventHandler.cpp trunk/Source/WebCore/style/PseudoClassChangeInvalidation.cpp trunk/Source/WebCore/style/PseudoClassChangeInvalidation.h Diff Modified: trunk/Source/WebCore/ChangeLog (287817 => 287818) --- trunk/Source/WebCore/ChangeLog 2022-01-09 07:43:09 UTC (rev 287817) +++ trunk/Source/WebCore/ChangeLog 2022-01-09 09:01:48 UTC (rev 287818) @@ -1,3 +1,65 @@ +2022-01-09 Antti Koivisto + +Use IsNegation bit for more efficient pseudo-class style invalidation +https://bugs.webkit.org/show_bug.cgi?id=235003 + +Reviewed by Simon Fraser. + +We now know if a given invalidation ruleset is for negated context. We can use this to avoid +unnecessary traversal in pseudo-class invalidation, similar to what we already do with classes. + +* dom/Document.cpp: +(WebCore::Document::updateHoverActiveState): +* dom/Element.cpp: +(WebCore::Element::setActive): +(WebCore::Element::setFocus): +(WebCore::Element::setHasFocusWithin): +(WebCore::Element::setHovered): +(WebCore::Element::setBeingDragged): + +Provide the value for invalidation. + +* html/HTMLFieldSetElement.cpp: +(WebCore::HTMLFieldSetElement::addInvalidDescendant): +(WebCore::HTMLFieldSetElement::removeInvalidDescendant): +* html/HTMLFormControlElement.cpp: +(WebCore::HTMLFormControlElement::setAncestorDisabled): +(WebCore::HTMLFormControlElement::parseAttribute): +(WebCore::HTMLFormControlElement::updateValidity): +* html/HTMLFormElement.cpp: +(WebCore::HTMLFormElement::registerInvalidAssociatedFormControl): +(WebCore::HTMLFormElement::removeInvalidAssociatedFormControlIfNeeded): +* html/HTMLInputElement.cpp: +(WebCore::HTMLInputElement::setChecked): +* htm
[webkit-changes] [287819] trunk/Source/WebCore
Title: [287819] trunk/Source/WebCore Revision 287819 Author za...@apple.com Date 2022-01-09 05:50:27 -0800 (Sun, 09 Jan 2022) Log Message [LFC][IFC] Line::Run needs access to FontCascade https://bugs.webkit.org/show_bug.cgi?id=235009 Reviewed by Antti Koivisto. This is in preparation for computing trimmed trailing content width properly. * layout/formattingContexts/inline/InlineLine.cpp: (WebCore::Layout::Line::append): (WebCore::Layout::Line::appendLineBreak): (WebCore::Layout::Line::appendWordBreakOpportunity): (WebCore::Layout::Line::Run::Run): (WebCore::Layout::m_textContent): (WebCore::Layout::m_style): Deleted. - We learnt in the past that expanding structures like this (stack backed, large in number) could lead to measurable perf regression. * layout/formattingContexts/inline/InlineLine.h: (WebCore::Layout::Line::Run::shouldTrailingWhitespaceHang const): (WebCore::Layout::Line::Run::inlineDirection const): (WebCore::Layout::Line::Run::letterSpacing const): (WebCore::Layout::Line::Run::hasTextCombine const): Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/layout/formattingContexts/inline/InlineLine.cpp trunk/Source/WebCore/layout/formattingContexts/inline/InlineLine.h Diff Modified: trunk/Source/WebCore/ChangeLog (287818 => 287819) --- trunk/Source/WebCore/ChangeLog 2022-01-09 09:01:48 UTC (rev 287818) +++ trunk/Source/WebCore/ChangeLog 2022-01-09 13:50:27 UTC (rev 287819) @@ -1,3 +1,26 @@ +2022-01-09 Alan Bujtas + +[LFC][IFC] Line::Run needs access to FontCascade +https://bugs.webkit.org/show_bug.cgi?id=235009 + +Reviewed by Antti Koivisto. + +This is in preparation for computing trimmed trailing content width properly. + +* layout/formattingContexts/inline/InlineLine.cpp: +(WebCore::Layout::Line::append): +(WebCore::Layout::Line::appendLineBreak): +(WebCore::Layout::Line::appendWordBreakOpportunity): +(WebCore::Layout::Line::Run::Run): +(WebCore::Layout::m_textContent): +(WebCore::Layout::m_style): Deleted. - We learnt in the past that expanding structures like this (stack backed, large in number) could +lead to measurable perf regression. +* layout/formattingContexts/inline/InlineLine.h: +(WebCore::Layout::Line::Run::shouldTrailingWhitespaceHang const): +(WebCore::Layout::Line::Run::inlineDirection const): +(WebCore::Layout::Line::Run::letterSpacing const): +(WebCore::Layout::Line::Run::hasTextCombine const): + 2022-01-09 Antti Koivisto Use IsNegation bit for more efficient pseudo-class style invalidation Modified: trunk/Source/WebCore/layout/formattingContexts/inline/InlineLine.cpp (287818 => 287819) --- trunk/Source/WebCore/layout/formattingContexts/inline/InlineLine.cpp 2022-01-09 09:01:48 UTC (rev 287818) +++ trunk/Source/WebCore/layout/formattingContexts/inline/InlineLine.cpp 2022-01-09 13:50:27 UTC (rev 287819) @@ -205,9 +205,9 @@ if (inlineItem.isText()) appendTextContent(downcast(inlineItem), style, logicalWidth); else if (inlineItem.isLineBreak()) -appendLineBreak(inlineItem); +appendLineBreak(inlineItem, style); else if (inlineItem.isWordBreakOpportunity()) -appendWordBreakOpportunity(inlineItem); +appendWordBreakOpportunity(inlineItem, style); else if (inlineItem.isInlineBoxStart()) appendInlineBoxStart(inlineItem, style, logicalWidth); else if (inlineItem.isInlineBoxEnd()) @@ -372,21 +372,21 @@ appendNonReplacedInlineLevelBox(inlineItem, style, marginBoxLogicalWidth); } -void Line::appendLineBreak(const InlineItem& inlineItem) +void Line::appendLineBreak(const InlineItem& inlineItem, const RenderStyle& style) { m_trailingSoftHyphenWidth = { }; if (inlineItem.isHardLineBreak()) { ++m_nonSpanningInlineLevelBoxCount; -return m_runs.append({ inlineItem, lastRunLogicalRight() }); +return m_runs.append({ inlineItem, style, lastRunLogicalRight() }); } // Soft line breaks (preserved new line characters) require inline text boxes for compatibility reasons. ASSERT(inlineItem.isSoftLineBreak()); -m_runs.append({ downcast(inlineItem), lastRunLogicalRight() }); +m_runs.append({ downcast(inlineItem), inlineItem.style(), lastRunLogicalRight() }); } -void Line::appendWordBreakOpportunity(const InlineItem& inlineItem) +void Line::appendWordBreakOpportunity(const InlineItem& inlineItem, const RenderStyle& style) { -m_runs.append({ inlineItem, lastRunLogicalRight() }); +m_runs.append({ inlineItem, style, lastRunLogicalRight() }); } InlineLayoutUnit Line::addBorderAndPaddingEndForInlineBoxDecorationClone(const InlineItem& inlineBoxStartItem) @@ -538,16 +538,17 @@ Line::Run::Run(const InlineItem& inlineItem, const RenderStyle& style, InlineLayoutUnit logicalLeft, InlineLayoutUnit logicalWidth) : m_type(toLineRunType(inlineItem.type())) , m_layoutB
[webkit-changes] [287820] trunk
Title: [287820] trunk Revision 287820 Author grao...@webkit.org Date 2022-01-09 07:35:10 -0800 (Sun, 09 Jan 2022) Log Message [Web Animations] getKeyframes() for a CSS Animation should not use computed style for keyframes https://bugs.webkit.org/show_bug.cgi?id=235008 Reviewed by Antti Koivisto. LayoutTests/imported/w3c: Mark WPT progression. * web-platform-tests/css/css-animations/KeyframeEffect-getKeyframes.tentative-expected.txt: Source/WebCore: Until now, when calling getKeyframes() on a keyframe effect associated with a CSS Animation, we would serialize for each keyframe the computed style for the animated properties. However, the Web Aniations spec says (https://drafts.csswg.org/web-animations-1/#dom-keyframeeffect-getkeyframes) that the value to use should "be the result of serializing the property value of declaration by passing declaration to the algorithm to serialize a CSS value [CSSOM]." One way we can get to the value as specified on the @keyframes rule rather than the computed style is to access the StyleRuleKeyframe object directly as stored by the Style::Resolver. This keeps the raw CSSValues as parsed. To do this, we first refactor Style::Resolver::keyframeStylesForAnimation() such that all the code that creates a Vector> with deduplicated keyframe rules is in the new dedicated method Style::Resolver::keyframeRulesForName(). Then, in KeyframeEffect::getKeyframes(), we can call into this function to obtain the set of keyframe rules for the associated CSS Animation's name and read the style from there. Note that these values may contain unsubstituted --var() values, so in that case for now we still use the computed style. * animation/KeyframeEffect.cpp: (WebCore::KeyframeEffect::getKeyframes): * style/StyleResolver.cpp: (WebCore::Style::Resolver::keyframeRulesForName): (WebCore::Style::Resolver::keyframeStylesForAnimation): * style/StyleResolver.h: Modified Paths trunk/LayoutTests/imported/w3c/ChangeLog trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-animations/KeyframeEffect-getKeyframes.tentative-expected.txt trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/animation/KeyframeEffect.cpp trunk/Source/WebCore/style/StyleResolver.cpp trunk/Source/WebCore/style/StyleResolver.h Diff Modified: trunk/LayoutTests/imported/w3c/ChangeLog (287819 => 287820) --- trunk/LayoutTests/imported/w3c/ChangeLog 2022-01-09 13:50:27 UTC (rev 287819) +++ trunk/LayoutTests/imported/w3c/ChangeLog 2022-01-09 15:35:10 UTC (rev 287820) @@ -1,3 +1,14 @@ +2022-01-08 Antoine Quint + +[Web Animations] getKeyframes() for a CSS Animation should not use computed style for keyframes +https://bugs.webkit.org/show_bug.cgi?id=235008 + +Reviewed by Antti Koivisto. + +Mark WPT progression. + +* web-platform-tests/css/css-animations/KeyframeEffect-getKeyframes.tentative-expected.txt: + 2022-01-08 Simon Fraser If the drop-shadow filter has no color, it should use the value of the color property Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-animations/KeyframeEffect-getKeyframes.tentative-expected.txt (287819 => 287820) --- trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-animations/KeyframeEffect-getKeyframes.tentative-expected.txt 2022-01-09 13:50:27 UTC (rev 287819) +++ trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-animations/KeyframeEffect-getKeyframes.tentative-expected.txt 2022-01-09 15:35:10 UTC (rev 287820) @@ -15,13 +15,13 @@ PASS KeyframeEffect.getKeyframes() returns expected frames for an animation with multiple keyframes for the same time and with different easing functions PASS KeyframeEffect.getKeyframes() returns expected frames for an animation with multiple keyframes for the same time and with different but equivalent easing functions PASS KeyframeEffect.getKeyframes() returns expected frames for overlapping keyframes -FAIL KeyframeEffect.getKeyframes() returns expected values for animations with filter properties and missing keyframes assert_equals: value for 'filter' on Keyframe #1 should match expected "blur(5px) sepia(60%) saturate(30%)" but got "blur(5px) sepia(0.6) saturate(0.3)" +PASS KeyframeEffect.getKeyframes() returns expected values for animations with filter properties and missing keyframes PASS KeyframeEffect.getKeyframes() returns expected values for animation with drop-shadow of filter property FAIL KeyframeEffect.getKeyframes() returns expected values for animations with text-shadow properties and missing keyframes assert_equals: value for 'textShadow' on Keyframe #0 should match expected "rgb(0, 0, 0) 1px 1px 2px, rgb(0, 0, 255) 0px 0px 16px, rgb(0, 0, 255) 0px 0px 3.2px" but got "rgb(0, 0, 0) 1px 1px 2px, rgb(0, 0, 255) 0px 0px 16px, rgb(0, 0, 255) 0px 0px 3.20047683716px" -FAIL KeyframeEffect.getKeyframes() returns expected values for animations with background-size properties and missing keyframes assert_equals: value for 'backgroundSize' on Comp
[webkit-changes] [287821] trunk/Source
Title: [287821] trunk/Source Revision 287821 Author wei...@apple.com Date 2022-01-09 10:06:02 -0800 (Sun, 09 Jan 2022) Log Message Add helpers to access CoreGraphics color spaces more easily in generic contexts https://bugs.webkit.org/show_bug.cgi?id=235004 Reviewed by Darin Adler. Source/WebCore: Add some structs and type trait helpers to allow accessing the CoreGraphics CGColorSpaceRef associated with a ColorSpace enum value at compile time. This will be useful for generalizing some of the gradient rendering code optimizations I have planned. * platform/graphics/cg/ColorCG.cpp: (WebCore::Color::createAndLosslesslyConvertToSupportedColorSpace): * platform/graphics/cg/ColorSpaceCG.cpp: (WebCore::colorSpaceForCGColorSpace): * platform/graphics/cg/ColorSpaceCG.h: (WebCore::CGColorSpaceMapping::colorSpace): (WebCore::CGColorSpaceMapping::colorSpace): (WebCore::CGColorSpaceMapping::colorSpace): (WebCore::CGColorSpaceMapping::colorSpace): (WebCore::CGColorSpaceMapping::colorSpace): (WebCore::CGColorSpaceMapping::colorSpace): (WebCore::CGColorSpaceMapping::colorSpace): (WebCore::CGColorSpaceMapping::colorSpace): (WebCore::CGColorSpaceMapping::colorSpace): (WebCore::CGColorSpaceMapping::colorSpace): (WebCore::CGColorSpaceMapping::colorSpace): (WebCore::CGColorSpaceMapping::colorSpace): (WebCore::CGColorSpaceMapping::colorSpace): (WebCore::CGColorSpaceMappingGetter::colorSpace): (WebCore::cachedNullableCGColorSpace): Source/WTF: * wtf/PlatformHave.h: Update have macro, HAVE_CORE_GRAPHICS_XYZ_COLOR_SPACE, to have a more specific name, HAVE_CORE_GRAPHICS_XYZ_D50_COLOR_SPACE, which is really what it is. Modified Paths trunk/Source/WTF/ChangeLog trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/platform/graphics/cg/ColorCG.cpp trunk/Source/WebCore/platform/graphics/cg/ColorSpaceCG.cpp trunk/Source/WebCore/platform/graphics/cg/ColorSpaceCG.h Diff Modified: trunk/Source/WTF/ChangeLog (287820 => 287821) --- trunk/Source/WTF/ChangeLog 2022-01-09 15:35:10 UTC (rev 287820) +++ trunk/Source/WTF/ChangeLog 2022-01-09 18:06:02 UTC (rev 287821) @@ -1,3 +1,14 @@ +2022-01-09 Sam Weinig + +Add helpers to access CoreGraphics color spaces more easily in generic contexts +https://bugs.webkit.org/show_bug.cgi?id=235004 + +Reviewed by Darin Adler. + +* wtf/PlatformHave.h: +Update have macro, HAVE_CORE_GRAPHICS_XYZ_COLOR_SPACE, to have a more specific name, +HAVE_CORE_GRAPHICS_XYZ_D50_COLOR_SPACE, which is really what it is. + 2022-01-07 Tim Horton Adopt linkedOnOrAfter() in more places Modified: trunk/Source/WebCore/ChangeLog (287820 => 287821) --- trunk/Source/WebCore/ChangeLog 2022-01-09 15:35:10 UTC (rev 287820) +++ trunk/Source/WebCore/ChangeLog 2022-01-09 18:06:02 UTC (rev 287821) @@ -1,3 +1,36 @@ +2022-01-09 Sam Weinig + +Add helpers to access CoreGraphics color spaces more easily in generic contexts +https://bugs.webkit.org/show_bug.cgi?id=235004 + +Reviewed by Darin Adler. + +Add some structs and type trait helpers to allow accessing the CoreGraphics +CGColorSpaceRef associated with a ColorSpace enum value at compile time. This +will be useful for generalizing some of the gradient rendering code optimizations +I have planned. + +* platform/graphics/cg/ColorCG.cpp: +(WebCore::Color::createAndLosslesslyConvertToSupportedColorSpace): +* platform/graphics/cg/ColorSpaceCG.cpp: +(WebCore::colorSpaceForCGColorSpace): +* platform/graphics/cg/ColorSpaceCG.h: +(WebCore::CGColorSpaceMapping::colorSpace): +(WebCore::CGColorSpaceMapping::colorSpace): +(WebCore::CGColorSpaceMapping::colorSpace): +(WebCore::CGColorSpaceMapping::colorSpace): +(WebCore::CGColorSpaceMapping::colorSpace): +(WebCore::CGColorSpaceMapping::colorSpace): +(WebCore::CGColorSpaceMapping::colorSpace): +(WebCore::CGColorSpaceMapping::colorSpace): +(WebCore::CGColorSpaceMapping::colorSpace): +(WebCore::CGColorSpaceMapping::colorSpace): +(WebCore::CGColorSpaceMapping::colorSpace): +(WebCore::CGColorSpaceMapping::colorSpace): +(WebCore::CGColorSpaceMapping::colorSpace): +(WebCore::CGColorSpaceMappingGetter::colorSpace): +(WebCore::cachedNullableCGColorSpace): + 2022-01-08 Antoine Quint [Web Animations] getKeyframes() for a CSS Animation should not use computed style for keyframes Modified: trunk/Source/WebCore/platform/graphics/cg/ColorCG.cpp (287820 => 287821) --- trunk/Source/WebCore/platform/graphics/cg/ColorCG.cpp 2022-01-09 15:35:10 UTC (rev 287820) +++ trunk/Source/WebCore/platform/graphics/cg/ColorCG.cpp 2022-01-09 18:06:02 UTC (rev 287821) @@ -91,7 +91,7 @@ Color Color::createAndLosslesslyConvertToSupportedColorSpace(CGColorRef color, OptionSet flags) { auto sourceCGColorSpace = CGColorGetColorSpace(color); -#if HAVE(CORE_GRAPHICS_XYZ_
[webkit-changes] [287822] trunk
Title: [287822] trunk Revision 287822 Author grao...@webkit.org Date 2022-01-09 10:13:26 -0800 (Sun, 09 Jan 2022) Log Message translate() function in transform property should remove trailing 0 value when parsing https://bugs.webkit.org/show_bug.cgi?id=235016 Reviewed by Antti Koivisto. LayoutTests/imported/w3c: Mark WPT progression. * web-platform-tests/css/css-animations/KeyframeEffect-getKeyframes.tentative-expected.txt: Source/WebCore: * css/parser/CSSPropertyParser.cpp: (WebCore::consumeTransformValue): Modified Paths trunk/LayoutTests/imported/w3c/ChangeLog trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-animations/KeyframeEffect-getKeyframes.tentative-expected.txt trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/css/parser/CSSPropertyParser.cpp Diff Modified: trunk/LayoutTests/imported/w3c/ChangeLog (287821 => 287822) --- trunk/LayoutTests/imported/w3c/ChangeLog 2022-01-09 18:06:02 UTC (rev 287821) +++ trunk/LayoutTests/imported/w3c/ChangeLog 2022-01-09 18:13:26 UTC (rev 287822) @@ -1,3 +1,14 @@ +2022-01-09 Antoine Quint + +translate() function in transform property should remove trailing 0 value when parsing +https://bugs.webkit.org/show_bug.cgi?id=235016 + +Reviewed by Antti Koivisto. + +Mark WPT progression. + +* web-platform-tests/css/css-animations/KeyframeEffect-getKeyframes.tentative-expected.txt: + 2022-01-08 Antoine Quint [Web Animations] getKeyframes() for a CSS Animation should not use computed style for keyframes Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-animations/KeyframeEffect-getKeyframes.tentative-expected.txt (287821 => 287822) --- trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-animations/KeyframeEffect-getKeyframes.tentative-expected.txt 2022-01-09 18:06:02 UTC (rev 287821) +++ trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-animations/KeyframeEffect-getKeyframes.tentative-expected.txt 2022-01-09 18:13:26 UTC (rev 287822) @@ -22,6 +22,6 @@ FAIL KeyframeEffect.getKeyframes() returns expected values for animations with CSS variables as keyframe values assert_equals: value for 'transform' on Keyframe #1 should match expected "translate(100px)" but got "matrix(1, 0, 0, 1, 100, 0)" PASS KeyframeEffect.getKeyframes() returns expected values for animations with CSS variables as keyframe values in a shorthand property PASS KeyframeEffect.getKeyframes() returns expected values for animations with a CSS variable which is overriden by the value in keyframe -FAIL KeyframeEffect.getKeyframes() returns expected values for animations with only custom property in a keyframe assert_equals: value for 'transform' on Keyframe #0 should match expected "translate(100px)" but got "translate(100px, 0px)" +PASS KeyframeEffect.getKeyframes() returns expected values for animations with only custom property in a keyframe PASS KeyframeEffect.getKeyframes() reflects changes to @keyframes rules Modified: trunk/Source/WebCore/ChangeLog (287821 => 287822) --- trunk/Source/WebCore/ChangeLog 2022-01-09 18:06:02 UTC (rev 287821) +++ trunk/Source/WebCore/ChangeLog 2022-01-09 18:13:26 UTC (rev 287822) @@ -1,3 +1,13 @@ +2022-01-09 Antoine Quint + +translate() function in transform property should remove trailing 0 value when parsing +https://bugs.webkit.org/show_bug.cgi?id=235016 + +Reviewed by Antti Koivisto. + +* css/parser/CSSPropertyParser.cpp: +(WebCore::consumeTransformValue): + 2022-01-09 Sam Weinig Add helpers to access CoreGraphics color spaces more easily in generic contexts Modified: trunk/Source/WebCore/css/parser/CSSPropertyParser.cpp (287821 => 287822) --- trunk/Source/WebCore/css/parser/CSSPropertyParser.cpp 2022-01-09 18:06:02 UTC (rev 287821) +++ trunk/Source/WebCore/css/parser/CSSPropertyParser.cpp 2022-01-09 18:13:26 UTC (rev 287822) @@ -1938,6 +1938,11 @@ parsedValue = consumeLengthOrPercent(args, cssParserMode, ValueRange::All); if (!parsedValue) return nullptr; +if (is(parsedValue)) { +auto isZero = downcast(*parsedValue).isZero(); +if (isZero && *isZero) +parsedValue = nullptr; +} } break; case CSSValueTranslateZ: ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [287823] trunk/LayoutTests
Title: [287823] trunk/LayoutTests Revision 287823 Author z...@igalia.com Date 2022-01-09 10:18:14 -0800 (Sun, 09 Jan 2022) Log Message [css-grid] Resync web-platform-tests/css/css-grid tests from upstream https://bugs.webkit.org/show_bug.cgi?id=234879 Reviewed by Darin Adler. LayoutTests/imported/w3c: * web-platform-tests/css/css-grid/abspos/grid-abspos-staticpos-align-self-img-002-expected.html: * web-platform-tests/css/css-grid/abspos/grid-abspos-staticpos-align-self-img-last-baseline-002-expected.html: * web-platform-tests/css/css-grid/abspos/grid-abspos-staticpos-align-self-last-baseline-002-expected.html: * web-platform-tests/css/css-grid/abspos/grid-abspos-staticpos-align-self-rtl-last-baseline-003-expected.html: * web-platform-tests/css/css-grid/abspos/grid-abspos-staticpos-align-self-rtl-last-baseline-004-expected.html: * web-platform-tests/css/css-grid/abspos/grid-abspos-staticpos-align-self-vertWM-003-expected.html: * web-platform-tests/css/css-grid/abspos/grid-abspos-staticpos-align-self-vertWM-004-expected.html: * web-platform-tests/css/css-grid/abspos/grid-abspos-staticpos-align-self-vertWM-last-baseline-003-expected.html: * web-platform-tests/css/css-grid/abspos/grid-abspos-staticpos-align-self-vertWM-last-baseline-004-expected.html: * web-platform-tests/css/css-grid/abspos/grid-abspos-staticpos-justify-self-img-002-expected.html: * web-platform-tests/css/css-grid/abspos/grid-abspos-staticpos-justify-self-img-last-baseline-002-expected.html: * web-platform-tests/css/css-grid/abspos/grid-abspos-staticpos-justify-self-img-last-baseline-002.html: * web-platform-tests/css/css-grid/abspos/grid-abspos-staticpos-justify-self-last-baseline-002-expected.html: * web-platform-tests/css/css-grid/abspos/grid-abspos-staticpos-justify-self-rtl-last-baseline-003-expected.html: * web-platform-tests/css/css-grid/abspos/grid-abspos-staticpos-justify-self-rtl-last-baseline-004-expected.html: * web-platform-tests/css/css-grid/abspos/grid-abspos-staticpos-justify-self-vertWM-003-expected.html: * web-platform-tests/css/css-grid/abspos/grid-abspos-staticpos-justify-self-vertWM-004-expected.html: * web-platform-tests/css/css-grid/abspos/grid-abspos-staticpos-justify-self-vertWM-last-baseline-003-expected.html: * web-platform-tests/css/css-grid/abspos/grid-abspos-staticpos-justify-self-vertWM-last-baseline-004-expected.html: * web-platform-tests/css/css-grid/alignment/grid-container-auto-margins-scrollbars-001-expected.html: * web-platform-tests/css/css-grid/alignment/grid-content-alignment-with-abspos-001-expected.txt: Added. * web-platform-tests/css/css-grid/alignment/grid-content-alignment-with-abspos-001.html: Added. * web-platform-tests/css/css-grid/alignment/self-baseline/w3c-import.log: * web-platform-tests/css/css-grid/alignment/w3c-import.log: * web-platform-tests/css/css-grid/grid-definition/w3c-import.log: * web-platform-tests/css/css-grid/grid-items/grid-intrinsic-maximums-expected.html: Added. * web-platform-tests/css/css-grid/grid-items/grid-intrinsic-maximums.html: Added. * web-platform-tests/css/css-grid/grid-items/w3c-import.log: * web-platform-tests/css/css-grid/grid-model/grid-container-scrollbars-sizing-002-expected.html: * web-platform-tests/css/css-grid/grid-model/w3c-import.log: * web-platform-tests/css/css-grid/layout-algorithm/flex-tracks-with-fractional-size-expected.xht: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-grid/placement/grid-placement-items-spanning-multiple-rows-expected.xht. * web-platform-tests/css/css-grid/layout-algorithm/flex-tracks-with-fractional-size.html: Added. * web-platform-tests/css/css-grid/layout-algorithm/w3c-import.log: * web-platform-tests/css/css-grid/nested-grid-item-block-size-001-expected.html: Added. * web-platform-tests/css/css-grid/nested-grid-item-block-size-001.html: Added. * web-platform-tests/css/css-grid/parsing/grid-area-computed-expected.txt: * web-platform-tests/css/css-grid/parsing/grid-area-computed.html: * web-platform-tests/css/css-grid/placement/grid-placement-items-spanning-multiple-rows-001-expected.xht: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-grid/placement/grid-placement-items-spanning-multiple-rows-expected.xht. * web-platform-tests/css/css-grid/placement/grid-placement-items-spanning-multiple-rows-001.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-grid/placement/grid-placement-items-spanning-multiple-rows.html. * web-platform-tests/css/css-grid/placement/grid-placement-items-spanning-multiple-rows-002-expected.xht: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-grid/placement/grid-placement-items-spanning-multiple-rows-expected.xht. * web-platform-tests/css/css-grid/placement/grid-placement-items-spanning-multiple-rows-002.html: Added. * web-platform-tests/css/css-grid/placement/w3c-import.log: * web-platform-tests/css/css-grid/subgrid/grid-subgridded-axis-auto-repeater-crash-001.html: Added. * web-platform-tests/css/css-grid/subgrid/grid-su
[webkit-changes] [287824] trunk/Source/WebCore
Title: [287824] trunk/Source/WebCore Revision 287824 Author za...@apple.com Date 2022-01-09 10:22:51 -0800 (Sun, 09 Jan 2022) Log Message [LFC][IFC] Introduce a dedicated structure for Line::Run's trailing whitespace information https://bugs.webkit.org/show_bug.cgi?id=235010 Reviewed by Antti Koivisto. * layout/formattingContexts/inline/InlineLine.cpp: (WebCore::Layout::Line::Run::trailingWhitespaceType): (WebCore::Layout::Line::Run::Run): (WebCore::Layout::Line::Run::expand): (WebCore::Layout::Line::Run::removeTrailingWhitespace): (WebCore::Layout::m_bidiLevel): Deleted. (WebCore::Layout::m_textContent): Deleted. * layout/formattingContexts/inline/InlineLine.h: (WebCore::Layout::Line::Run::hasTrailingWhitespace const): (WebCore::Layout::Line::Run::trailingWhitespaceWidth const): (WebCore::Layout::Line::Run::hasCollapsibleTrailingWhitespace const): (WebCore::Layout::Line::Run::hasCollapsedTrailingWhitespace const): (WebCore::Layout::Line::Run::trailingWhitespaceType const): Deleted. Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/layout/formattingContexts/inline/InlineLine.cpp trunk/Source/WebCore/layout/formattingContexts/inline/InlineLine.h Diff Modified: trunk/Source/WebCore/ChangeLog (287823 => 287824) --- trunk/Source/WebCore/ChangeLog 2022-01-09 18:18:14 UTC (rev 287823) +++ trunk/Source/WebCore/ChangeLog 2022-01-09 18:22:51 UTC (rev 287824) @@ -1,3 +1,24 @@ +2022-01-09 Alan Bujtas + +[LFC][IFC] Introduce a dedicated structure for Line::Run's trailing whitespace information +https://bugs.webkit.org/show_bug.cgi?id=235010 + +Reviewed by Antti Koivisto. + +* layout/formattingContexts/inline/InlineLine.cpp: +(WebCore::Layout::Line::Run::trailingWhitespaceType): +(WebCore::Layout::Line::Run::Run): +(WebCore::Layout::Line::Run::expand): +(WebCore::Layout::Line::Run::removeTrailingWhitespace): +(WebCore::Layout::m_bidiLevel): Deleted. +(WebCore::Layout::m_textContent): Deleted. +* layout/formattingContexts/inline/InlineLine.h: +(WebCore::Layout::Line::Run::hasTrailingWhitespace const): +(WebCore::Layout::Line::Run::trailingWhitespaceWidth const): +(WebCore::Layout::Line::Run::hasCollapsibleTrailingWhitespace const): +(WebCore::Layout::Line::Run::hasCollapsedTrailingWhitespace const): +(WebCore::Layout::Line::Run::trailingWhitespaceType const): Deleted. + 2022-01-09 Antoine Quint translate() function in transform property should remove trailing 0 value when parsing Modified: trunk/Source/WebCore/layout/formattingContexts/inline/InlineLine.cpp (287823 => 287824) --- trunk/Source/WebCore/layout/formattingContexts/inline/InlineLine.cpp 2022-01-09 18:18:14 UTC (rev 287823) +++ trunk/Source/WebCore/layout/formattingContexts/inline/InlineLine.cpp 2022-01-09 18:22:51 UTC (rev 287824) @@ -535,6 +535,17 @@ return { }; } +std::optional Line::Run::trailingWhitespaceType(const InlineTextItem& inlineTextItem) +{ +if (!inlineTextItem.isWhitespace()) +return { }; +if (InlineTextItem::shouldPreserveSpacesAndTabs(inlineTextItem)) +return { TrailingWhitespace::Type::NotCollapsible }; +if (inlineTextItem.length() == 1) +return { TrailingWhitespace::Type::Collapsible }; +return { TrailingWhitespace::Type::Collapsed }; +} + Line::Run::Run(const InlineItem& inlineItem, const RenderStyle& style, InlineLayoutUnit logicalLeft, InlineLayoutUnit logicalWidth) : m_type(toLineRunType(inlineItem.type())) , m_layoutBox(&inlineItem.layoutBox()) @@ -570,8 +581,8 @@ , m_layoutBox(&softLineBreakItem.layoutBox()) , m_style(style) , m_logicalLeft(logicalLeft) +, m_bidiLevel(softLineBreakItem.bidiLevel()) , m_textContent({ softLineBreakItem.position(), 1 }) -, m_bidiLevel(softLineBreakItem.bidiLevel()) { } @@ -581,11 +592,16 @@ , m_style(style) , m_logicalLeft(logicalLeft) , m_logicalWidth(logicalWidth) -, m_trailingWhitespaceType(trailingWhitespaceType(inlineTextItem)) -, m_trailingWhitespaceWidth(m_trailingWhitespaceType != TrailingWhitespace::None ? logicalWidth : InlineLayoutUnit { }) -, m_textContent({ inlineTextItem.start(), m_trailingWhitespaceType == TrailingWhitespace::Collapsed ? 1 : inlineTextItem.length() }) , m_bidiLevel(inlineTextItem.bidiLevel()) { +auto length = inlineTextItem.length(); +auto whitespaceType = trailingWhitespaceType(inlineTextItem); +if (whitespaceType) { +m_trailingWhitespace = { *whitespaceType, logicalWidth }; +if (*whitespaceType == TrailingWhitespace::Type::Collapsed) +length = 1; +} +m_textContent = { inlineTextItem.start(), length }; } void Line::Run::expand(const InlineTextItem& inlineTextItem, InlineLayoutUnit logicalWidth) @@ -596,15 +612,16 @@ ASSERT(m_bidiLevel == inlineTextItem.bidiLevel()); m_logicalWidth += logicalWidth; -m_
[webkit-changes] [287826] trunk
Title: [287826] trunk Revision 287826 Author grao...@webkit.org Date 2022-01-09 11:51:57 -0800 (Sun, 09 Jan 2022) Log Message Interpolation for the "filter" property fails with a single keyframe https://bugs.webkit.org/show_bug.cgi?id=235019 Reviewed by Dean Jackson. LayoutTests/imported/w3c: Mark WPT progressions. * web-platform-tests/css/filter-effects/animation/filter-interpolation-001-expected.txt: Source/WebCore: In the case of an animation with a single keyframe, the 0% or 100% value (or both) may be implicit and the blending keyframes can have fewer than to entries. This would make KeyframeEffect::checkForMatchingFilterFunctionLists() always store "false" values for whether "filter" values in keyframes match and prevent any blending from happening. In the case where we have fewer than 2 values, as long as the property is animated, we return true. * animation/KeyframeEffect.cpp: (WebCore::KeyframeEffect::checkForMatchingFilterFunctionLists const): Modified Paths trunk/LayoutTests/imported/w3c/ChangeLog trunk/LayoutTests/imported/w3c/web-platform-tests/css/filter-effects/animation/filter-interpolation-001-expected.txt trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/animation/KeyframeEffect.cpp Diff Modified: trunk/LayoutTests/imported/w3c/ChangeLog (287825 => 287826) --- trunk/LayoutTests/imported/w3c/ChangeLog 2022-01-09 18:54:29 UTC (rev 287825) +++ trunk/LayoutTests/imported/w3c/ChangeLog 2022-01-09 19:51:57 UTC (rev 287826) @@ -1,3 +1,14 @@ +2022-01-09 Antoine Quint + +Interpolation for the "filter" property fails with a single keyframe +https://bugs.webkit.org/show_bug.cgi?id=235019 + +Reviewed by Dean Jackson. + +Mark WPT progressions. + +* web-platform-tests/css/filter-effects/animation/filter-interpolation-001-expected.txt: + 2022-01-09 Ziran Sun [css-grid] Resync web-platform-tests/css/css-grid tests from upstream Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/css/filter-effects/animation/filter-interpolation-001-expected.txt (287825 => 287826) --- trunk/LayoutTests/imported/w3c/web-platform-tests/css/filter-effects/animation/filter-interpolation-001-expected.txt 2022-01-09 18:54:29 UTC (rev 287825) +++ trunk/LayoutTests/imported/w3c/web-platform-tests/css/filter-effects/animation/filter-interpolation-001-expected.txt 2022-01-09 19:51:57 UTC (rev 287826) @@ -65,12 +65,12 @@ PASS CSS Animations: property from neutral to [hue-rotate(20deg)] at (0.6) should be [hue-rotate(16deg)] PASS CSS Animations: property from neutral to [hue-rotate(20deg)] at (1) should be [hue-rotate(20deg)] PASS CSS Animations: property from neutral to [hue-rotate(20deg)] at (1.5) should be [hue-rotate(25deg)] -FAIL Web Animations: property from neutral to [hue-rotate(20deg)] at (-0.5) should be [hue-rotate(5deg)] assert_equals: expected "hue - rotate ( 5deg ) " but got "hue - rotate ( 20deg ) " -FAIL Web Animations: property from neutral to [hue-rotate(20deg)] at (0) should be [hue-rotate(10deg)] assert_equals: expected "hue - rotate ( 10deg ) " but got "hue - rotate ( 20deg ) " -FAIL Web Animations: property from neutral to [hue-rotate(20deg)] at (0.3) should be [hue-rotate(13deg)] assert_equals: expected "hue - rotate ( 13deg ) " but got "hue - rotate ( 20deg ) " -FAIL Web Animations: property from neutral to [hue-rotate(20deg)] at (0.6) should be [hue-rotate(16deg)] assert_equals: expected "hue - rotate ( 16deg ) " but got "hue - rotate ( 20deg ) " +PASS Web Animations: property from neutral to [hue-rotate(20deg)] at (-0.5) should be [hue-rotate(5deg)] +PASS Web Animations: property from neutral to [hue-rotate(20deg)] at (0) should be [hue-rotate(10deg)] +PASS Web Animations: property from neutral to [hue-rotate(20deg)] at (0.3) should be [hue-rotate(13deg)] +PASS Web Animations: property from neutral to [hue-rotate(20deg)] at (0.6) should be [hue-rotate(16deg)] PASS Web Animations: property from neutral to [hue-rotate(20deg)] at (1) should be [hue-rotate(20deg)] -FAIL Web Animations: property from neutral to [hue-rotate(20deg)] at (1.5) should be [hue-rotate(25deg)] assert_equals: expected "hue - rotate ( 25deg ) " but got "hue - rotate ( 20deg ) " +PASS Web Animations: property from neutral to [hue-rotate(20deg)] at (1.5) should be [hue-rotate(25deg)] PASS CSS Transitions: property from [initial] to [hue-rotate(20deg)] at (-0.5) should be [hue-rotate(-10deg)] PASS CSS Transitions: property from [initial] to [hue-rotate(20deg)] at (0) should be [hue-rotate(0deg)] PASS CSS Transitions: property from [initial] to [hue-rotate(20deg)] at (0.3) should be [hue-rotate(6deg)] Modified: trunk/Source/WebCore/ChangeLog (287825 => 287826) --- trunk/Source/WebCore/ChangeLog 2022-01-09 18:54:29 UTC (rev 287825) +++ trunk/Source/WebCore/ChangeLog 2022-01-09 19:51:57 UTC (rev 287826) @@ -1,3 +1,21 @@ +2022-01-09 Antoine Quint + +Interpolation for the "filter" property fails with a single keyfr
[webkit-changes] [287827] trunk
Title: [287827] trunk Revision 287827 Author grao...@webkit.org Date 2022-01-09 13:19:45 -0800 (Sun, 09 Jan 2022) Log Message Implicit keyframe for a CSS Animation should always use the underlying style https://bugs.webkit.org/show_bug.cgi?id=235014 Reviewed by Antti Koivisto. LayoutTests/imported/w3c: Add a new WPT which changes the underlying style for a property that is being animated with an @keyframes rule that doesn't explicitly specify this value on all keyframes. * web-platform-tests/css/css-animations/animation-change-underlying-value-changed-in-flight-expected.txt: Added. * web-platform-tests/css/css-animations/animation-change-underlying-value-changed-in-flight.html: Added. Source/WebCore: When resolving keyframes for a CSS Animation in Style::Resolver::keyframeStylesForAnimation(), we would fill implicit keyframes based on the style at the time the animation was created. However, the underlying style may change at any point while the CSS Animation is in flight, so we should not be filling those values. The code that actually resolves animated styles already knows how to handle this case, which we already supported correctly for JS-originated animations. The only thing we need to do is to ensure we fill implicit keyframes when calling getKeyframes(). This surfaced an issue with KeyframeList::copyKeyframes() where we only copied the styles from one set of keyframes to another, but not the timing function, which would cause a getKeyframes() test to regress. We should also make sure to copy the composite operation for when we support the animation-composition property (see bug 232086). Test: imported/w3c/web-platform-tests/css/css-animations/animation-change-underlying-value-changed-in-flight.html * animation/KeyframeEffect.cpp: (WebCore::KeyframeEffect::getKeyframes): * rendering/style/KeyframeList.cpp: (WebCore::KeyframeList::copyKeyframes): * style/StyleResolver.cpp: (WebCore::Style::Resolver::keyframeStylesForAnimation): Modified Paths trunk/LayoutTests/imported/w3c/ChangeLog trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/animation/KeyframeEffect.cpp trunk/Source/WebCore/rendering/style/KeyframeList.cpp trunk/Source/WebCore/style/StyleResolver.cpp Added Paths trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-animations/animation-change-underlying-value-changed-in-flight-expected.txt trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-animations/animation-change-underlying-value-changed-in-flight.html Diff Modified: trunk/LayoutTests/imported/w3c/ChangeLog (287826 => 287827) --- trunk/LayoutTests/imported/w3c/ChangeLog 2022-01-09 19:51:57 UTC (rev 287826) +++ trunk/LayoutTests/imported/w3c/ChangeLog 2022-01-09 21:19:45 UTC (rev 287827) @@ -1,5 +1,19 @@ 2022-01-09 Antoine Quint +Implicit keyframe for a CSS Animation should always use the underlying style +https://bugs.webkit.org/show_bug.cgi?id=235014 + +Reviewed by Antti Koivisto. + +Add a new WPT which changes the underlying style for a property that is being +animated with an @keyframes rule that doesn't explicitly specify this value +on all keyframes. + +* web-platform-tests/css/css-animations/animation-change-underlying-value-changed-in-flight-expected.txt: Added. +* web-platform-tests/css/css-animations/animation-change-underlying-value-changed-in-flight.html: Added. + +2022-01-09 Antoine Quint + Interpolation for the "filter" property fails with a single keyframe https://bugs.webkit.org/show_bug.cgi?id=235019 Added: trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-animations/animation-change-underlying-value-changed-in-flight-expected.txt (0 => 287827) --- trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-animations/animation-change-underlying-value-changed-in-flight-expected.txt (rev 0) +++ trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-animations/animation-change-underlying-value-changed-in-flight-expected.txt 2022-01-09 21:19:45 UTC (rev 287827) @@ -0,0 +1,4 @@ + +PASS Changing the underlying value of an animated property with an implicit 0% keyframe +PASS Changing the underlying value of an animated property with an implicit 100% keyframe + Added: trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-animations/animation-change-underlying-value-changed-in-flight.html (0 => 287827) --- trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-animations/animation-change-underlying-value-changed-in-flight.html (rev 0) +++ trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-animations/animation-change-underlying-value-changed-in-flight.html 2022-01-09 21:19:45 UTC (rev 287827) @@ -0,0 +1,42 @@ + + +Changing the underlying value of an animated property with implicit keyframes + + +@keyframes implicit-from { + to { margin-left: 100px } +} + +@keyframes implicit-to { + from { margin-left: 100px } +} + + + + +
[webkit-changes] [287828] trunk/Source/WebCore
Title: [287828] trunk/Source/WebCore Revision 287828 Author grao...@webkit.org Date 2022-01-09 13:38:56 -0800 (Sun, 09 Jan 2022) Log Message Style::Resolver::keyframeRulesForName() signature should be improved https://bugs.webkit.org/show_bug.cgi?id=235021 Reviewed by Darin Adler. Darin pointed out during the review for bug 235008 that the method itself should be const, not its return value. * style/StyleResolver.cpp: (WebCore::Style::Resolver::keyframeRulesForName const): (WebCore::Style::Resolver::keyframeRulesForName): Deleted. * style/StyleResolver.h: Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/style/StyleResolver.cpp trunk/Source/WebCore/style/StyleResolver.h Diff Modified: trunk/Source/WebCore/ChangeLog (287827 => 287828) --- trunk/Source/WebCore/ChangeLog 2022-01-09 21:19:45 UTC (rev 287827) +++ trunk/Source/WebCore/ChangeLog 2022-01-09 21:38:56 UTC (rev 287828) @@ -1,5 +1,20 @@ 2022-01-09 Antoine Quint +Style::Resolver::keyframeRulesForName() signature should be improved +https://bugs.webkit.org/show_bug.cgi?id=235021 + +Reviewed by Darin Adler. + +Darin pointed out during the review for bug 235008 that the method itself +should be const, not its return value. + +* style/StyleResolver.cpp: +(WebCore::Style::Resolver::keyframeRulesForName const): +(WebCore::Style::Resolver::keyframeRulesForName): Deleted. +* style/StyleResolver.h: + +2022-01-09 Antoine Quint + Implicit keyframe for a CSS Animation should always use the underlying style https://bugs.webkit.org/show_bug.cgi?id=235014 Modified: trunk/Source/WebCore/style/StyleResolver.cpp (287827 => 287828) --- trunk/Source/WebCore/style/StyleResolver.cpp 2022-01-09 21:19:45 UTC (rev 287827) +++ trunk/Source/WebCore/style/StyleResolver.cpp 2022-01-09 21:38:56 UTC (rev 287828) @@ -307,7 +307,7 @@ return m_keyframesRuleMap.find(AtomString(name).impl()) != m_keyframesRuleMap.end(); } -const Vector> Resolver::keyframeRulesForName(const AtomString& animationName) +Vector> Resolver::keyframeRulesForName(const AtomString& animationName) const { if (animationName.isEmpty()) return { }; Modified: trunk/Source/WebCore/style/StyleResolver.h (287827 => 287828) --- trunk/Source/WebCore/style/StyleResolver.h 2022-01-09 21:19:45 UTC (rev 287827) +++ trunk/Source/WebCore/style/StyleResolver.h 2022-01-09 21:38:56 UTC (rev 287828) @@ -139,7 +139,7 @@ std::optional evaluateDynamicMediaQueries(); void addKeyframeStyle(Ref&&); -const Vector> keyframeRulesForName(const AtomString&); +Vector> keyframeRulesForName(const AtomString&) const; bool usesFirstLineRules() const { return m_ruleSets.features().usesFirstLineRules; } bool usesFirstLetterRules() const { return m_ruleSets.features().usesFirstLetterRules; } ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [287830] trunk/LayoutTests/imported/w3c
Title: [287830] trunk/LayoutTests/imported/w3c Revision 287830 Author grao...@webkit.org Date 2022-01-09 23:55:43 -0800 (Sun, 09 Jan 2022) Log Message Unreviewed WPT update after https://github.com/web-platform-tests/wpt/pull/3. * web-platform-tests/css/css-transitions/transition-property-002-expected.txt: * web-platform-tests/css/css-transitions/transition-property-002.html: Modified Paths trunk/LayoutTests/imported/w3c/ChangeLog trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-transitions/transition-property-002-expected.txt trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-transitions/transition-property-002.html Diff Modified: trunk/LayoutTests/imported/w3c/ChangeLog (287829 => 287830) --- trunk/LayoutTests/imported/w3c/ChangeLog 2022-01-10 03:39:37 UTC (rev 287829) +++ trunk/LayoutTests/imported/w3c/ChangeLog 2022-01-10 07:55:43 UTC (rev 287830) @@ -1,5 +1,12 @@ 2022-01-09 Antoine Quint +Unreviewed WPT update after https://github.com/web-platform-tests/wpt/pull/3. + +* web-platform-tests/css/css-transitions/transition-property-002-expected.txt: +* web-platform-tests/css/css-transitions/transition-property-002.html: + +2022-01-09 Antoine Quint + Implicit keyframe for a CSS Animation should always use the underlying style https://bugs.webkit.org/show_bug.cgi?id=235014 Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-transitions/transition-property-002-expected.txt (287829 => 287830) --- trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-transitions/transition-property-002-expected.txt 2022-01-10 03:39:37 UTC (rev 287829) +++ trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-transitions/transition-property-002-expected.txt 2022-01-10 07:55:43 UTC (rev 287830) @@ -1,6 +1,6 @@ -FAIL parse 'none, all' assert_equals: expected "none, all" but got "all" -FAIL parse 'all, none' assert_equals: expected "all, none" but got "all" +PASS parse 'none, all' +PASS parse 'all, none' PASS parse 'foobar' PASS parse 'all, foobar' PASS parse 'foobar, all' Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-transitions/transition-property-002.html (287829 => 287830) --- trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-transitions/transition-property-002.html 2022-01-10 03:39:37 UTC (rev 287829) +++ trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-transitions/transition-property-002.html 2022-01-10 07:55:43 UTC (rev 287830) @@ -27,8 +27,8 @@ // syntax: none | [ all | ] [ ‘,’ [ all | ] ]* var values = { -'none, all' : 'none, all', -'all, none' : 'all, none', +'none, all' : 'all', +'all, none' : 'all', 'foobar' : 'foobar', 'all, foobar' : 'all, foobar', 'foobar, all' : 'foobar, all', ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes