[webkit-changes] [WebKit/WebKit] 56cc75: [GPU Process][Filters] Make SVGFilter own a vector...

Said Abou-Hallawa noreply at github.com
Tue May 9 16:51:13 PDT 2023


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 56cc7591e5e3cf992682119fa17f74cb3733637e
      https://github.com/WebKit/WebKit/commit/56cc7591e5e3cf992682119fa17f74cb3733637e
  Author: Said Abou-Hallawa <said at apple.com>
  Date:   2023-05-09 (Tue, 09 May 2023)

  Changed paths:
    M Source/WebCore/Headers.cmake
    M Source/WebCore/WebCore.xcodeproj/project.pbxproj
    M Source/WebCore/svg/graphics/filters/SVGFilter.cpp
    M Source/WebCore/svg/graphics/filters/SVGFilter.h
    M Source/WebCore/svg/graphics/filters/SVGFilterExpression.h
    R Source/WebCore/svg/graphics/filters/SVGFilterExpressionReference.h
    M Source/WebCore/svg/graphics/filters/SVGFilterGraph.h
    M Source/WebKit/Shared/WebCoreArgumentCoders.cpp
    M Source/WebKit/Shared/WebCoreArgumentCoders.serialization.in

  Log Message:
  -----------
  [GPU Process][Filters] Make SVGFilter own a vector of unique FilterEffects
https://bugs.webkit.org/show_bug.cgi?id=256333
rdar://109060794

Reviewed by Simon Fraser.

Currently, SVGFilterExpressionTerm holds a Ref<FilterEffect> which may be referenced
more than once by multiple SVGFilterExpressionTerms.

We need make SVGFilter own a Vector of unique FilterEffects. SVGFilterExpressionTerm
will hold an index to this Vector. This will allow building an SVGFilterTransaction
which is a set of altered unique FilterEffects identified by the index in the vector
of unique FilterEffects of SVGFilter.

* Source/WebCore/Headers.cmake:
* Source/WebCore/WebCore.xcodeproj/project.pbxproj:
* Source/WebCore/svg/graphics/filters/SVGFilter.cpp:
(WebCore::SVGFilter::create):
(WebCore::SVGFilter::SVGFilter):
(WebCore::SVGFilter::buildExpression):
(WebCore::SVGFilter::supportedFilterRenderingModes const):
(WebCore::SVGFilter::effectsOfType const):
(WebCore::SVGFilter::apply):
(WebCore::SVGFilter::createFilterStyles const):
(WebCore::SVGFilter::externalRepresentation const):
* Source/WebCore/svg/graphics/filters/SVGFilter.h:
* Source/WebCore/svg/graphics/filters/SVGFilterExpression.h:
* Source/WebCore/svg/graphics/filters/SVGFilterExpressionReference.h: Removed.
* Source/WebCore/svg/graphics/filters/SVGFilterGraph.h:
(WebCore::SVGFilterGraph::SVGFilterGraph):
(WebCore::SVGFilterGraph::nodes const):
* Source/WebKit/Shared/WebCoreArgumentCoders.cpp:
(IPC::ArgumentCoder<SVGFilter>::encode):
(IPC::ArgumentCoder<SVGFilter>::decode):
* Source/WebKit/Shared/WebCoreArgumentCoders.serialization.in:

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




More information about the webkit-changes mailing list