[webkit-changes] [WebKit/WebKit] 76bf4e: REGRESSION(265249 at main): Infinite recursion in Leg...

Ryosuke Niwa noreply at github.com
Fri Jun 23 10:50:50 PDT 2023


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 76bf4e5df476a9d854011bdaf9bc9252cb3ef5a4
      https://github.com/WebKit/WebKit/commit/76bf4e5df476a9d854011bdaf9bc9252cb3ef5a4
  Author: Ryosuke Niwa <rniwa at webkit.org>
  Date:   2023-06-23 (Fri, 23 Jun 2023)

  Changed paths:
    A LayoutTests/svg/custom/svg-reference-cycle-between-two-svg-elements-expected.txt
    A LayoutTests/svg/custom/svg-reference-cycle-between-two-svg-elements.html
    M Source/WebCore/rendering/svg/SVGContainerLayout.cpp
    M Source/WebCore/rendering/svg/SVGRenderSupport.cpp
    M Source/WebCore/rendering/svg/SVGResources.cpp
    M Source/WebCore/rendering/svg/SVGResources.h

  Log Message:
  -----------
  REGRESSION(265249 at main): Infinite recursion in LegacyRenderSVGContainer::layout and SVGRenderSupport::layoutChildren
https://bugs.webkit.org/show_bug.cgi?id=258419

Reviewed by Darin Adler.

Partially revert 265249 at main by restoring the check for the current root.
This turned out be necessary to avoid infinite recursion.

* LayoutTests/svg/custom/svg-reference-cycle-between-two-svg-elements-expected.txt: Added.
* LayoutTests/svg/custom/svg-reference-cycle-between-two-svg-elements.html: Added.
* Source/WebCore/rendering/svg/SVGContainerLayout.cpp:
(WebCore::SVGContainerLayout::layoutDifferentRootIfNeeded):
* Source/WebCore/rendering/svg/SVGRenderSupport.cpp:
(WebCore::SVGRenderSupport::layoutDifferentRootIfNeeded):
* Source/WebCore/rendering/svg/SVGResources.cpp:
(WebCore::SVGResources::layoutDifferentRootIfNeeded):
(WebCore::SVGResources::layoutReferencedRootIfNeeded): Deleted.
* Source/WebCore/rendering/svg/SVGResources.h:

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




More information about the webkit-changes mailing list