[webkit-changes] [WebKit/WebKit] a0c0c1: REGRESSION: Dynamic attribute updates partly broke...

Nikolas Zimmermann noreply at github.com
Mon Jun 12 08:55:51 PDT 2023


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: a0c0c14bfa2185765e469bdbcdf06ca79cddbf6f
      https://github.com/WebKit/WebKit/commit/a0c0c14bfa2185765e469bdbcdf06ca79cddbf6f
  Author: Nikolas Zimmermann <nzimmermann at igalia.com>
  Date:   2023-06-12 (Mon, 12 Jun 2023)

  Changed paths:
    M Source/WebCore/svg/SVGAElement.cpp
    M Source/WebCore/svg/SVGAnimateMotionElement.cpp
    M Source/WebCore/svg/SVGAnimateTransformElement.cpp
    M Source/WebCore/svg/SVGAnimationElement.cpp
    M Source/WebCore/svg/SVGClipPathElement.cpp
    M Source/WebCore/svg/SVGFEComponentTransferElement.cpp
    M Source/WebCore/svg/SVGFEImageElement.cpp
    M Source/WebCore/svg/SVGFEMergeNodeElement.cpp
    M Source/WebCore/svg/SVGFEOffsetElement.cpp
    M Source/WebCore/svg/SVGFETileElement.cpp
    M Source/WebCore/svg/SVGFontFaceElement.cpp
    M Source/WebCore/svg/SVGFontFaceUriElement.cpp
    M Source/WebCore/svg/SVGGeometryElement.cpp
    M Source/WebCore/svg/SVGGlyphRefElement.cpp
    M Source/WebCore/svg/SVGGradientElement.cpp
    M Source/WebCore/svg/SVGGraphicsElement.cpp
    M Source/WebCore/svg/SVGImageElement.cpp
    M Source/WebCore/svg/SVGMarkerElement.cpp
    M Source/WebCore/svg/SVGMaskElement.cpp
    M Source/WebCore/svg/SVGPathElement.cpp
    M Source/WebCore/svg/SVGPatternElement.cpp
    M Source/WebCore/svg/SVGPolyElement.cpp
    M Source/WebCore/svg/SVGSVGElement.cpp
    M Source/WebCore/svg/SVGStopElement.cpp
    M Source/WebCore/svg/SVGStyleElement.cpp

  Log Message:
  -----------
  REGRESSION: Dynamic attribute updates partly broken for SVG
https://bugs.webkit.org/show_bug.cgi?id=257900

[LBSE] REGRESSION: Transform repainting/relayout broken
https://bugs.webkit.org/show_bug.cgi?id=257692

Reviewed by Rob Buis.

SVGElement::attributeChanged() need to be called _after_ changing
the class and/or base class members. attributeChanged() calls
svgAttributeChanged(), which assumes the class members have been
updated due to an attribute change before.

This also fixes the regression seen in LBSE, where 'transform'
updates no longer have any effect.

Covered by existing tests.

* Source/WebCore/svg/SVGAElement.cpp:
(WebCore::SVGAElement::attributeChanged):
* Source/WebCore/svg/SVGAnimateMotionElement.cpp:
(WebCore::SVGAnimateMotionElement::attributeChanged):
* Source/WebCore/svg/SVGAnimateTransformElement.cpp:
(WebCore::SVGAnimateTransformElement::attributeChanged):
* Source/WebCore/svg/SVGAnimationElement.cpp:
(WebCore::SVGAnimationElement::attributeChanged):
* Source/WebCore/svg/SVGClipPathElement.cpp:
(WebCore::SVGClipPathElement::attributeChanged):
* Source/WebCore/svg/SVGFEComponentTransferElement.cpp:
(WebCore::SVGFEComponentTransferElement::attributeChanged):
* Source/WebCore/svg/SVGFEImageElement.cpp:
(WebCore::SVGFEImageElement::attributeChanged):
* Source/WebCore/svg/SVGFEMergeNodeElement.cpp:
(WebCore::SVGFEMergeNodeElement::attributeChanged):
* Source/WebCore/svg/SVGFEOffsetElement.cpp:
(WebCore::SVGFEOffsetElement::attributeChanged):
* Source/WebCore/svg/SVGFETileElement.cpp:
(WebCore::SVGFETileElement::attributeChanged):
* Source/WebCore/svg/SVGFontFaceElement.cpp:
(WebCore::SVGFontFaceElement::attributeChanged):
* Source/WebCore/svg/SVGFontFaceUriElement.cpp:
(WebCore::SVGFontFaceUriElement::attributeChanged):
* Source/WebCore/svg/SVGGeometryElement.cpp:
(WebCore::SVGGeometryElement::attributeChanged):
* Source/WebCore/svg/SVGGlyphRefElement.cpp:
(WebCore::SVGGlyphRefElement::attributeChanged):
* Source/WebCore/svg/SVGGradientElement.cpp:
(WebCore::SVGGradientElement::attributeChanged):
* Source/WebCore/svg/SVGGraphicsElement.cpp:
(WebCore::SVGGraphicsElement::attributeChanged):
* Source/WebCore/svg/SVGImageElement.cpp:
(WebCore::SVGImageElement::attributeChanged):
* Source/WebCore/svg/SVGMarkerElement.cpp:
(WebCore::SVGMarkerElement::attributeChanged):
* Source/WebCore/svg/SVGMaskElement.cpp:
(WebCore::SVGMaskElement::attributeChanged):
* Source/WebCore/svg/SVGPathElement.cpp:
(WebCore::SVGPathElement::attributeChanged):
* Source/WebCore/svg/SVGPatternElement.cpp:
(WebCore::SVGPatternElement::attributeChanged):
* Source/WebCore/svg/SVGPolyElement.cpp:
(WebCore::SVGPolyElement::attributeChanged):
* Source/WebCore/svg/SVGSVGElement.cpp:
(WebCore::SVGSVGElement::attributeChanged):
* Source/WebCore/svg/SVGStopElement.cpp:
(WebCore::SVGStopElement::attributeChanged):
* Source/WebCore/svg/SVGStyleElement.cpp:
(WebCore::SVGStyleElement::attributeChanged):

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




More information about the webkit-changes mailing list