Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 2e6697f25fa78aa53674ff616810fae8e6dc503d https://github.com/WebKit/WebKit/commit/2e6697f25fa78aa53674ff616810fae8e6dc503d Author: Said Abou-Hallawa <s...@apple.com> Date: 2024-06-19 (Wed, 19 Jun 2024)
Changed paths: M Source/WebCore/Sources.txt M Source/WebCore/WebCore.xcodeproj/project.pbxproj M Source/WebCore/rendering/RenderLayerFilters.cpp M Source/WebCore/rendering/RenderLayerModelObject.cpp M Source/WebCore/rendering/RenderLayerModelObject.h M Source/WebCore/rendering/RenderObject.h A Source/WebCore/rendering/svg/RenderSVGResourceFilter.cpp A Source/WebCore/rendering/svg/RenderSVGResourceFilter.h A Source/WebCore/rendering/svg/RenderSVGResourceFilterInlines.h A Source/WebCore/rendering/svg/RenderSVGResourceFilterPrimitive.cpp A Source/WebCore/rendering/svg/RenderSVGResourceFilterPrimitive.h M Source/WebCore/rendering/svg/RenderSVGResourcePaintServer.h M Source/WebCore/rendering/svg/SVGBoundingBoxComputation.cpp M Source/WebCore/rendering/svg/SVGRenderTreeAsText.cpp M Source/WebCore/rendering/svg/legacy/LegacyRenderSVGResourceFilter.cpp M Source/WebCore/rendering/svg/legacy/LegacyRenderSVGResourceFilter.h M Source/WebCore/rendering/svg/legacy/LegacyRenderSVGResourceFilterPrimitive.cpp M Source/WebCore/rendering/svg/legacy/LegacyRenderSVGResourceFilterPrimitive.h M Source/WebCore/rendering/svg/legacy/SVGResourcesCache.cpp M Source/WebCore/svg/SVGElement.cpp M Source/WebCore/svg/SVGFEConvolveMatrixElement.cpp M Source/WebCore/svg/SVGFEDiffuseLightingElement.cpp M Source/WebCore/svg/SVGFEDropShadowElement.cpp M Source/WebCore/svg/SVGFEGaussianBlurElement.cpp M Source/WebCore/svg/SVGFELightElement.cpp M Source/WebCore/svg/SVGFEMorphologyElement.cpp M Source/WebCore/svg/SVGFESpecularLightingElement.cpp M Source/WebCore/svg/SVGFilterElement.cpp M Source/WebCore/svg/SVGFilterPrimitiveStandardAttributes.cpp M Source/WebCore/svg/SVGFilterPrimitiveStandardAttributes.h Log Message: ----------- [LBSE] Implement support for filters https://bugs.webkit.org/show_bug.cgi?id=265140 rdar://118834403 Reviewed by Nikolas Zimmermann. Implement support for filters, based on the new paint server logic. The SVG <filter> element will be handled as CSS filter with one ReferenceFilterOperation. In future patches, the geometry of CSSFilter will be similar to the geometry of the current SVGFilter. * Source/WebCore/Sources.txt: * Source/WebCore/WebCore.xcodeproj/project.pbxproj: * Source/WebCore/rendering/RenderLayerFilters.cpp: (WebCore::RenderLayerFilters::beginFilterEffect): * Source/WebCore/rendering/RenderLayerModelObject.cpp: (WebCore::RenderLayerModelObject::svgFilterResourceFromStyle const): * Source/WebCore/rendering/RenderLayerModelObject.h: * Source/WebCore/rendering/RenderObject.h: (WebCore::RenderObject::isRenderSVGHiddenContainer const): (WebCore::RenderObject::isLegacyRenderSVGResourceFilter const): (WebCore::RenderObject::isRenderSVGResourcePaintServer const): (WebCore::RenderObject::isLegacyRenderSVGResourceFilterPrimitive const): (WebCore::RenderObject::isRenderOrLegacyRenderSVGResourceFilterPrimitive const): * Source/WebCore/rendering/svg/RenderSVGResourceFilter.cpp: Copied from Source/WebCore/rendering/svg/legacy/LegacyRenderSVGResourceFilterPrimitive.h. (WebCore::RenderSVGResourceFilter::RenderSVGResourceFilter): (WebCore::RenderSVGResourceFilter::resourceBoundingBox): (WebCore::RenderSVGResourceFilter::invalidateFilter): * Source/WebCore/rendering/svg/RenderSVGResourceFilter.h: Copied from Source/WebCore/rendering/svg/legacy/LegacyRenderSVGResourceFilterPrimitive.h. * Source/WebCore/rendering/svg/RenderSVGResourceFilterInlines.h: Added. (WebCore::RenderSVGResourceFilter::filterElement const): (WebCore::RenderSVGResourceFilter::protectedFilterElement const): (WebCore::RenderSVGResourceFilter::filterUnits const): (WebCore::RenderSVGResourceFilter::primitiveUnits const): * Source/WebCore/rendering/svg/RenderSVGResourceFilterPrimitive.cpp: Copied from Source/WebCore/rendering/svg/legacy/LegacyRenderSVGResourceFilterPrimitive.h. (WebCore::RenderSVGResourceFilterPrimitive::RenderSVGResourceFilterPrimitive): (WebCore::RenderSVGResourceFilterPrimitive::markFilterEffectForRepaint): (WebCore::RenderSVGResourceFilterPrimitive::markFilterEffectForRebuild): * Source/WebCore/rendering/svg/RenderSVGResourceFilterPrimitive.h: Copied from Source/WebCore/rendering/svg/legacy/LegacyRenderSVGResourceFilterPrimitive.h. * Source/WebCore/rendering/svg/RenderSVGResourcePaintServer.h: (WebCore::RenderSVGResourcePaintServer::prepareFillOperation): (WebCore::RenderSVGResourcePaintServer::prepareStrokeOperation): * Source/WebCore/rendering/svg/SVGBoundingBoxComputation.cpp: (WebCore::SVGBoundingBoxComputation::adjustBoxForClippingAndEffects const): * Source/WebCore/rendering/svg/SVGRenderTreeAsText.cpp: (WebCore::writeSVGContainer): * Source/WebCore/rendering/svg/legacy/LegacyRenderSVGResourceFilter.cpp: (WebCore::LegacyRenderSVGResourceFilter::LegacyRenderSVGResourceFilter): * Source/WebCore/rendering/svg/legacy/LegacyRenderSVGResourceFilter.h: (isType): * Source/WebCore/rendering/svg/legacy/LegacyRenderSVGResourceFilterPrimitive.cpp: (WebCore::LegacyRenderSVGResourceFilterPrimitive::LegacyRenderSVGResourceFilterPrimitive): * Source/WebCore/rendering/svg/legacy/LegacyRenderSVGResourceFilterPrimitive.h: * Source/WebCore/rendering/svg/legacy/SVGResourcesCache.cpp: (WebCore::SVGResourcesCache::clientStyleChanged): * Source/WebCore/svg/SVGElement.cpp: (WebCore::isSVGLayerAwareElement): * Source/WebCore/svg/SVGFEConvolveMatrixElement.cpp: * Source/WebCore/svg/SVGFEDiffuseLightingElement.cpp: * Source/WebCore/svg/SVGFEDropShadowElement.cpp: * Source/WebCore/svg/SVGFEGaussianBlurElement.cpp: * Source/WebCore/svg/SVGFELightElement.cpp: (WebCore::SVGFELightElement::svgAttributeChanged): * Source/WebCore/svg/SVGFEMorphologyElement.cpp: * Source/WebCore/svg/SVGFESpecularLightingElement.cpp: * Source/WebCore/svg/SVGFilterElement.cpp: (WebCore::SVGFilterElement::childrenChanged): (WebCore::SVGFilterElement::createElementRenderer): * Source/WebCore/svg/SVGFilterPrimitiveStandardAttributes.cpp: (WebCore::SVGFilterPrimitiveStandardAttributes::primitiveAttributeChanged): (WebCore::SVGFilterPrimitiveStandardAttributes::primitiveAttributeOnChildChanged): (WebCore::SVGFilterPrimitiveStandardAttributes::markFilterEffectForRepaint): (WebCore::SVGFilterPrimitiveStandardAttributes::markFilterEffectForRebuild): (WebCore::SVGFilterPrimitiveStandardAttributes::createElementRenderer): (WebCore::SVGFilterPrimitiveStandardAttributes::invalidateFilterPrimitiveParent): * Source/WebCore/svg/SVGFilterPrimitiveStandardAttributes.h: Canonical link: https://commits.webkit.org/280190@main To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications _______________________________________________ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes