[webkit-changes] [287818] trunk/Source/WebCore

2022-01-09 Thread antti
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

2022-01-09 Thread zalan
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

2022-01-09 Thread graouts
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

2022-01-09 Thread weinig
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

2022-01-09 Thread graouts
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

2022-01-09 Thread zsun
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

2022-01-09 Thread zalan
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

2022-01-09 Thread graouts
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

2022-01-09 Thread graouts
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

2022-01-09 Thread graouts
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

2022-01-09 Thread graouts
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