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

Reply via email to