Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 0d62c4b9488c26e3e1c97771e9cb06c397fe5fad
      
https://github.com/WebKit/WebKit/commit/0d62c4b9488c26e3e1c97771e9cb06c397fe5fad
  Author: Ryosuke Niwa <[email protected]>
  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@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


_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to