[webkit-changes] [WebKit/WebKit] d91dd4: REGRESSION(262844 at main): svg/dynamic-updates/SVGFE...

Chris Dumez noreply at github.com
Wed May 31 16:15:08 PDT 2023


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: d91dd403c67e54c06fbe39ff8c65e12d4fa17768
      https://github.com/WebKit/WebKit/commit/d91dd403c67e54c06fbe39ff8c65e12d4fa17768
  Author: Chris Dumez <cdumez at apple.com>
  Date:   2023-05-31 (Wed, 31 May 2023)

  Changed paths:
    M LayoutTests/platform/mac/TestExpectations
    M Source/WebCore/svg/SVGComponentTransferFunctionElement.cpp
    M Source/WebCore/svg/SVGFEBlendElement.cpp
    M Source/WebCore/svg/SVGFEColorMatrixElement.cpp
    M Source/WebCore/svg/SVGFECompositeElement.cpp
    M Source/WebCore/svg/SVGFEConvolveMatrixElement.cpp
    M Source/WebCore/svg/SVGFEDiffuseLightingElement.cpp
    M Source/WebCore/svg/SVGFEDisplacementMapElement.cpp
    M Source/WebCore/svg/SVGFEDropShadowElement.cpp
    M Source/WebCore/svg/SVGFEGaussianBlurElement.cpp
    M Source/WebCore/svg/SVGFELightElement.cpp
    M Source/WebCore/svg/SVGFEMorphologyElement.cpp
    M Source/WebCore/svg/SVGFESpecularLightingElement.cpp
    M Source/WebCore/svg/SVGFETurbulenceElement.cpp
    M Source/WebCore/svg/SVGTextPositioningElement.cpp

  Log Message:
  -----------
  REGRESSION(262844 at main): svg/dynamic-updates/SVGFE* tests no longer react on changes
https://bugs.webkit.org/show_bug.cgi?id=257485
rdar://110005491

Reviewed by Said Abou-Hallawa.

Make sure SVG elements update their data members first in attributeChanged(),
before calling the base class's attributeChanged(). The ordering had changed
in 262844 at main.

SVGElement::attributeChanged() need to be called last after changing the
superclasses' members because it calls the virtual method svgAttributeChanged()
which assumes the class members have been updated due to an attribute change.

* LayoutTests/platform/mac/TestExpectations:
Unskip tests that are now passing.

* Source/WebCore/svg/SVGComponentTransferFunctionElement.cpp:
(WebCore::SVGComponentTransferFunctionElement::attributeChanged):
* Source/WebCore/svg/SVGFEBlendElement.cpp:
(WebCore::SVGFEBlendElement::attributeChanged):
* Source/WebCore/svg/SVGFEColorMatrixElement.cpp:
(WebCore::SVGFEColorMatrixElement::attributeChanged):
* Source/WebCore/svg/SVGFEComponentTransferElement.cpp:
(WebCore::SVGFEComponentTransferElement::svgAttributeChanged):
* Source/WebCore/svg/SVGFECompositeElement.cpp:
(WebCore::SVGFECompositeElement::attributeChanged):
* Source/WebCore/svg/SVGFEConvolveMatrixElement.cpp:
(WebCore::SVGFEConvolveMatrixElement::attributeChanged):
* Source/WebCore/svg/SVGFEDiffuseLightingElement.cpp:
(WebCore::SVGFEDiffuseLightingElement::attributeChanged):
* Source/WebCore/svg/SVGFEDisplacementMapElement.cpp:
(WebCore::SVGFEDisplacementMapElement::attributeChanged):
* Source/WebCore/svg/SVGFEDropShadowElement.cpp:
(WebCore::SVGFEDropShadowElement::attributeChanged):
* Source/WebCore/svg/SVGFEGaussianBlurElement.cpp:
(WebCore::SVGFEGaussianBlurElement::attributeChanged):
* Source/WebCore/svg/SVGFELightElement.cpp:
(WebCore::SVGFELightElement::attributeChanged):
* Source/WebCore/svg/SVGFEMorphologyElement.cpp:
(WebCore::SVGFEMorphologyElement::attributeChanged):
* Source/WebCore/svg/SVGFESpecularLightingElement.cpp:
(WebCore::SVGFESpecularLightingElement::attributeChanged):
* Source/WebCore/svg/SVGTextPositioningElement.cpp:
(WebCore::SVGTextPositioningElement::attributeChanged):
Update data members in attributeChanged() before calling the base
class' function.

* Source/WebCore/svg/SVGFETurbulenceElement.cpp:
(WebCore::SVGFETurbulenceElement::setFilterEffectAttribute):
Fix regression from 263011 at main where setBaseFrequencyY() no longer gets called
on the effect if setBaseFrequencyX() changed the frequencyX value.

Canonical link: https://commits.webkit.org/264763@main




More information about the webkit-changes mailing list