[webkit-changes] [WebKit/WebKit] 0d62c4: REGRESSION(264618 at main): Infinite mutual recursion...

Ryosuke Niwa noreply at github.com
Fri Jun 16 10:08:45 PDT 2023


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

  Changed paths:
    A LayoutTests/svg/markers/marker-clip-path-mutual-reference-crash-expected.txt
    A LayoutTests/svg/markers/marker-clip-path-mutual-reference-crash.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(264618 at main): Infinite mutual recursion in SVGRenderSupport::layoutDifferentRootIfNeeded
https://bugs.webkit.org/show_bug.cgi?id=258171

Reviewed by Darin Adler.

Prevent infinite recursion in SVGRenderSupport::layoutDifferentRootIfNeeded by checking
whether the target root is already in layout or not. Also removed the now unused svgRoot argument
from layoutDifferentRootIfNeeded and renamed the function to layoutReferencedRootIfNeeded.

* LayoutTests/svg/markers/marker-clip-path-mutual-reference-crash-expected.txt: Added.
* LayoutTests/svg/markers/marker-clip-path-mutual-reference-crash.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::layoutReferencedRootIfNeeded): Renamed from layoutDifferentRootIfNeeded.
* Source/WebCore/rendering/svg/SVGResources.h:

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




More information about the webkit-changes mailing list