Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 0299cff7c92b4e40156ab9d6c84f72c865fd46fc
      
https://github.com/WebKit/WebKit/commit/0299cff7c92b4e40156ab9d6c84f72c865fd46fc
  Author: Simon Fraser <[email protected]>
  Date:   2025-12-04 (Thu, 04 Dec 2025)

  Changed paths:
    M LayoutTests/ipc/decode-feConvolveMatrix-kernelSize-overflow.html
    M LayoutTests/ipc/empty-svgfilterrenderer-expression-crash.html
    M LayoutTests/ipc/insufficient-svgfilter-inputs-crash.html
    M LayoutTests/ipc/invalid-feConvolveMatrix-crash.html
    M LayoutTests/ipc/invalid-svgfilter-expression-crash.html
    M Source/WebCore/html/canvas/CanvasRenderingContext2D.cpp
    M Source/WebCore/platform/graphics/filters/Filter.cpp
    M Source/WebCore/platform/graphics/filters/Filter.h
    M Source/WebCore/rendering/CSSFilterRenderer.cpp
    M Source/WebCore/rendering/CSSFilterRenderer.h
    M Source/WebCore/rendering/RenderLayerFilters.cpp
    M Source/WebCore/rendering/style/StyleFilterImage.cpp
    M Source/WebCore/rendering/svg/SVGRenderTreeAsText.cpp
    M Source/WebCore/rendering/svg/legacy/LegacyRenderSVGResourceFilter.cpp
    M Source/WebCore/svg/graphics/filters/SVGFilterRenderer.cpp
    M Source/WebCore/svg/graphics/filters/SVGFilterRenderer.h
    M Source/WebKit/Shared/WebCoreArgumentCoders.serialization.in

  Log Message:
  -----------
  Group filter input data into a `FilterGeometry` struct
https://bugs.webkit.org/show_bug.cgi?id=303333
rdar://165636222

Reviewed by Said Abou-Hallawa.

The fix for webkit.org/b/279290 needs to plumb `referenceBox` into filter 
creation,
but adding another argument makes things messy; do some initial refactoring
to plumb through `FilterGeometry`, which contain both the referenceBox and the
filterRegion, as well as the scale. The `Filter` base class now stores 
`FilterGeometry`.

No behavior change.

* LayoutTests/ipc/decode-feConvolveMatrix-kernelSize-overflow.html:
* LayoutTests/ipc/empty-svgfilterrenderer-expression-crash.html:
* LayoutTests/ipc/insufficient-svgfilter-inputs-crash.html:
* LayoutTests/ipc/invalid-feConvolveMatrix-crash.html:
* LayoutTests/ipc/invalid-svgfilter-expression-crash.html:
* Source/WebCore/html/canvas/CanvasRenderingContext2D.cpp:
(WebCore::CanvasRenderingContext2D::createFilter const):
* Source/WebCore/platform/graphics/filters/Filter.cpp:
(WebCore::Filter::Filter):
(WebCore::Filter::scaledByFilterScale const):
(WebCore::Filter::maxEffectRect const):
(WebCore::Filter::clampFilterRegionIfNeeded):
(WebCore::Filter::apply):
(WebCore::Filter::createFilterStyles const):
* Source/WebCore/platform/graphics/filters/Filter.h:
(WebCore::Filter::geometry const):
(WebCore::Filter::filterScale const):
(WebCore::Filter::setFilterScale):
(WebCore::Filter::filterRegion const):
(WebCore::Filter::setFilterRegion):
(WebCore::Filter::referenceBox const):
(WebCore::Filter::Filter): Deleted.
* Source/WebCore/rendering/CSSFilterRenderer.cpp:
(WebCore::CSSFilterRenderer::createGeneric):
(WebCore::CSSFilterRenderer::create):
(WebCore::CSSFilterRenderer::CSSFilterRenderer):
(WebCore::createReferenceFilter):
(WebCore::CSSFilterRenderer::buildFilterFunction):
(WebCore::CSSFilterRenderer::buildFilterFunctions):
* Source/WebCore/rendering/CSSFilterRenderer.h:
* Source/WebCore/rendering/RenderLayerFilters.cpp:
(WebCore::RenderLayerFilters::beginFilterEffect):
* Source/WebCore/rendering/style/StyleFilterImage.cpp:
(WebCore::StyleFilterImage::image const):
* Source/WebCore/rendering/svg/SVGRenderTreeAsText.cpp:
(WebCore::writeSVGResourceContainer):
* Source/WebCore/rendering/svg/legacy/LegacyRenderSVGResourceFilter.cpp:
(WebCore::LegacyRenderSVGResourceFilter::applyResource):
* Source/WebCore/svg/graphics/filters/SVGFilterRenderer.cpp:
(WebCore::SVGFilterRenderer::create):
(WebCore::SVGFilterRenderer::SVGFilterRenderer):
(WebCore::buildFilterEffectGraph):
(WebCore::SVGFilterRenderer::resolvedSize const):
(WebCore::SVGFilterRenderer::resolvedPoint3D const):
* Source/WebCore/svg/graphics/filters/SVGFilterRenderer.h:
* Source/WebKit/Shared/WebCoreArgumentCoders.serialization.in:

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



To unsubscribe from these emails, change your notification settings at 
https://github.com/WebKit/WebKit/settings/notifications

Reply via email to