[webkit-changes] [WebKit/WebKit] a9d6d0: [LBSE] Add RenderSVGResourceContainer

Rob Buis noreply at github.com
Thu Oct 19 07:44:05 PDT 2023


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: a9d6d01a743c404d3c502d0bf663b87088cc3772
      https://github.com/WebKit/WebKit/commit/a9d6d01a743c404d3c502d0bf663b87088cc3772
  Author: Rob Buis <rbuis at igalia.com>
  Date:   2023-10-19 (Thu, 19 Oct 2023)

  Changed paths:
    M Source/WebCore/Sources.txt
    M Source/WebCore/WebCore.xcodeproj/project.pbxproj
    M Source/WebCore/dom/TreeScope.cpp
    M Source/WebCore/dom/TreeScope.h
    M Source/WebCore/rendering/RenderObject.h
    M Source/WebCore/rendering/svg/RenderSVGHiddenContainer.cpp
    M Source/WebCore/rendering/svg/RenderSVGHiddenContainer.h
    A Source/WebCore/rendering/svg/RenderSVGResourceContainer.cpp
    A Source/WebCore/rendering/svg/RenderSVGResourceContainer.h
    M Source/WebCore/rendering/svg/SVGResourcesCycleSolver.cpp
    M Source/WebCore/rendering/svg/legacy/LegacyRenderSVGPath.cpp
    M Source/WebCore/rendering/svg/legacy/LegacyRenderSVGResourceContainer.h
    M Source/WebCore/svg/SVGDefsElement.cpp
    M Source/WebCore/svg/SVGGElement.cpp
    M Source/WebCore/svg/SVGSymbolElement.cpp

  Log Message:
  -----------
  [LBSE] Add RenderSVGResourceContainer
https://bugs.webkit.org/show_bug.cgi?id=261880

Reviewed by Nikolas Zimmermann.

Add RenderSVGResourceContainer for LBSE which knows how to handle RenderLayer
and will act for future LBSE specific SVG resources.
Start keeping track of RenderSVGResourceContainer in ShadowRoot and adjust
RenderObject to be able to distinguish between LBSE and legacy SVG resources.

* Source/WebCore/Sources.txt:
* Source/WebCore/WebCore.xcodeproj/project.pbxproj:
* Source/WebCore/dom/TreeScope.cpp:
(WebCore::TreeScope::addSVGResource):
(WebCore::TreeScope::removeSVGResource):
(WebCore::TreeScope::svgResourceById const):
* Source/WebCore/dom/TreeScope.h:
* Source/WebCore/rendering/RenderObject.h:
(WebCore::RenderObject::isLegacySVGResourceContainer const):
* Source/WebCore/rendering/svg/RenderSVGHiddenContainer.cpp:
(WebCore::RenderSVGHiddenContainer::RenderSVGHiddenContainer):
* Source/WebCore/rendering/svg/RenderSVGHiddenContainer.h:
(WebCore::RenderObject::isLegacySVGResourceContainer const):
* Source/WebCore/rendering/svg/RenderSVGHiddenContainer.h:
* Source/WebCore/rendering/svg/RenderSVGResourceContainer.cpp: Added.
(WebCore::RenderSVGResourceContainer::RenderSVGResourceContainer):
(WebCore::RenderSVGResourceContainer::willBeDestroyed):
(WebCore::RenderSVGResourceContainer::styleDidChange):
(WebCore::RenderSVGResourceContainer::idChanged):
(WebCore::RenderSVGResourceContainer::registerResource):
* Source/WebCore/rendering/svg/RenderSVGResourceContainer.h: Added.
* Source/WebCore/rendering/svg/SVGResourcesCycleSolver.cpp:
(WebCore::SVGResourcesCycleSolver::resourceContainsCycles):
* Source/WebCore/rendering/svg/legacy/LegacyRenderSVGResourceContainer.h:
* Source/WebCore/rendering/svg/legacy/LegacyRenderSVGPath.cpp:
* Source/WebCore/svg/SVGDefsElement.cpp:
(WebCore::SVGDefsElement::createElementRenderer):
* Source/WebCore/svg/SVGGElement.cpp:
(WebCore::SVGGElement::createElementRenderer):
* Source/WebCore/svg/SVGSymbolElement.cpp:
(WebCore::SVGSymbolElement::createElementRenderer):

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




More information about the webkit-changes mailing list