Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: f010e6048d0b9463e6476cb3fb26ceef751a8469 https://github.com/WebKit/WebKit/commit/f010e6048d0b9463e6476cb3fb26ceef751a8469 Author: Yusuke Suzuki <ysuz...@apple.com> Date: 2023-10-19 (Thu, 19 Oct 2023)
Changed paths: M Source/WebCore/rendering/RenderObject.h M Source/WebCore/rendering/svg/RenderSVGPath.cpp M Source/WebCore/rendering/svg/RenderSVGResource.h M Source/WebCore/rendering/svg/RenderSVGResourceFilter.cpp M Source/WebCore/rendering/svg/RenderSVGResourceFilter.h M Source/WebCore/rendering/svg/RenderSVGResourceGradient.h M Source/WebCore/rendering/svg/RenderSVGResourceMarker.h M Source/WebCore/rendering/svg/RenderSVGResourceMasker.cpp M Source/WebCore/rendering/svg/RenderSVGResourceMasker.h M Source/WebCore/rendering/svg/RenderSVGResourcePattern.h M Source/WebCore/rendering/svg/RenderSVGResourceSolidColor.h M Source/WebCore/rendering/svg/RenderSVGText.cpp M Source/WebCore/rendering/svg/SVGBoundingBoxComputation.cpp M Source/WebCore/rendering/svg/SVGRenderSupport.cpp M Source/WebCore/rendering/svg/SVGRenderSupport.h M Source/WebCore/rendering/svg/SVGRenderTreeAsText.cpp M Source/WebCore/rendering/svg/legacy/LegacyRenderSVGContainer.cpp M Source/WebCore/rendering/svg/legacy/LegacyRenderSVGResourceClipper.cpp M Source/WebCore/rendering/svg/legacy/LegacyRenderSVGResourceClipper.h M Source/WebCore/rendering/svg/legacy/LegacyRenderSVGRoot.cpp M Source/WebCore/rendering/svg/legacy/LegacyRenderSVGShape.cpp Log Message: ----------- [SVG] Use propagated RepaintRectCalculation more https://bugs.webkit.org/show_bug.cgi?id=263360 rdar://117184769 Reviewed by Cameron McCormack. This patch more strictly propagating RepaintRectCalculation instead of using RepaintRectCalculation::Accurate. This makes the code places explicit that they are using RepaintRectCalculation::Accurate explicitly. The reason of this use is that they are confusing repaint bounding box and stroke bounding box and using RepaintRectCalculation::Accurate to get resource rects / marker rects. And we can easily see the code using RepaintRectCalculation::Accurate by just grepping it. This indicates that these places should use stroke bounding box correctly instead. Cameron and I discussed and agreed that we should remove RepaintRectCalculation::Accurate eventually. So these FloatRects for Accurate are temporary ones. By doing these use explicit, we can look into these things easily and remove them eventually. Basically use of Accurate is a sign of wrong implementations. * Source/WebCore/rendering/RenderObject.h: * Source/WebCore/rendering/svg/RenderSVGResource.h: * Source/WebCore/rendering/svg/RenderSVGResourceFilter.cpp: (WebCore::RenderSVGResourceFilter::resourceBoundingBox): * Source/WebCore/rendering/svg/RenderSVGResourceFilter.h: * Source/WebCore/rendering/svg/RenderSVGResourceGradient.h: * Source/WebCore/rendering/svg/RenderSVGResourceMarker.h: * Source/WebCore/rendering/svg/RenderSVGResourceMasker.cpp: (WebCore::RenderSVGResourceMasker::removeAllClientsFromCache): (WebCore::RenderSVGResourceMasker::calculateMaskContentRepaintRect): (WebCore::RenderSVGResourceMasker::resourceBoundingBox): * Source/WebCore/rendering/svg/RenderSVGResourceMasker.h: * Source/WebCore/rendering/svg/RenderSVGResourcePattern.h: * Source/WebCore/rendering/svg/RenderSVGResourceSolidColor.h: * Source/WebCore/rendering/svg/RenderSVGText.cpp: (WebCore::RenderSVGText::repaintRectInLocalCoordinates const): * Source/WebCore/rendering/svg/SVGBoundingBoxComputation.cpp: (WebCore::SVGBoundingBoxComputation::adjustBoxForClippingAndEffects const): * Source/WebCore/rendering/svg/SVGRenderSupport.cpp: (WebCore::SVGRenderSupport::computeContainerStrokeBoundingBox): (WebCore::SVGRenderSupport::intersectRepaintRectWithResources): * Source/WebCore/rendering/svg/SVGRenderSupport.h: * Source/WebCore/rendering/svg/SVGRenderTreeAsText.cpp: (WebCore::writeResources): * Source/WebCore/rendering/svg/legacy/LegacyRenderSVGContainer.cpp: (WebCore::LegacyRenderSVGContainer::repaintRectInLocalCoordinates const): * Source/WebCore/rendering/svg/legacy/LegacyRenderSVGResourceClipper.cpp: (WebCore::LegacyRenderSVGResourceClipper::removeAllClientsFromCache): (WebCore::LegacyRenderSVGResourceClipper::calculateClipContentRepaintRect): (WebCore::LegacyRenderSVGResourceClipper::resourceBoundingBox): * Source/WebCore/rendering/svg/legacy/LegacyRenderSVGResourceClipper.h: * Source/WebCore/rendering/svg/legacy/LegacyRenderSVGRoot.cpp: (WebCore::LegacyRenderSVGRoot::repaintRectInLocalCoordinates const): * Source/WebCore/rendering/svg/legacy/LegacyRenderSVGShape.cpp: (WebCore::LegacyRenderSVGShape::repaintRectInLocalCoordinates const): Canonical link: https://commits.webkit.org/269529@main _______________________________________________ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes