[webkit-changes] [WebKit/WebKit] 52b690: Adopt more smart pointers in SVG code

Chris Dumez noreply at github.com
Thu Feb 15 17:11:08 PST 2024


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 52b690b4dd98356471234e39d40ac00461af71c0
      https://github.com/WebKit/WebKit/commit/52b690b4dd98356471234e39d40ac00461af71c0
  Author: Chris Dumez <cdumez at apple.com>
  Date:   2024-02-15 (Thu, 15 Feb 2024)

  Changed paths:
    M Source/WebCore/Sources.txt
    M Source/WebCore/WebCore.xcodeproj/project.pbxproj
    M Source/WebCore/dom/Document.cpp
    M Source/WebCore/dom/Document.h
    M Source/WebCore/rendering/svg/RenderSVGEllipse.cpp
    M Source/WebCore/rendering/svg/RenderSVGGradientStop.cpp
    M Source/WebCore/rendering/svg/RenderSVGImage.cpp
    M Source/WebCore/rendering/svg/RenderSVGImage.h
    M Source/WebCore/rendering/svg/RenderSVGInlineText.cpp
    M Source/WebCore/rendering/svg/RenderSVGModelObject.cpp
    M Source/WebCore/rendering/svg/RenderSVGRect.cpp
    M Source/WebCore/rendering/svg/RenderSVGResourceClipper.cpp
    M Source/WebCore/rendering/svg/RenderSVGResourceGradient.cpp
    M Source/WebCore/rendering/svg/RenderSVGResourceLinearGradient.cpp
    M Source/WebCore/rendering/svg/RenderSVGResourceLinearGradient.h
    M Source/WebCore/rendering/svg/RenderSVGResourceLinearGradientInlines.h
    M Source/WebCore/rendering/svg/RenderSVGResourceMarker.cpp
    M Source/WebCore/rendering/svg/RenderSVGResourceMarkerInlines.h
    M Source/WebCore/rendering/svg/RenderSVGResourceMasker.cpp
    M Source/WebCore/rendering/svg/RenderSVGResourcePattern.cpp
    M Source/WebCore/rendering/svg/RenderSVGResourcePattern.h
    M Source/WebCore/rendering/svg/RenderSVGResourcePatternInlines.h
    M Source/WebCore/rendering/svg/RenderSVGShape.cpp
    M Source/WebCore/rendering/svg/RenderSVGText.cpp
    M Source/WebCore/rendering/svg/RenderSVGText.h
    M Source/WebCore/rendering/svg/RenderSVGTransformableContainer.cpp
    M Source/WebCore/rendering/svg/SVGInlineTextBox.cpp
    M Source/WebCore/rendering/svg/SVGPaintServerHandling.h
    M Source/WebCore/rendering/svg/SVGRenderSupport.cpp
    M Source/WebCore/rendering/svg/SVGRenderTreeAsText.cpp
    M Source/WebCore/rendering/svg/SVGRenderingContext.cpp
    M Source/WebCore/rendering/svg/SVGResources.cpp
    M Source/WebCore/rendering/svg/SVGResourcesCache.cpp
    M Source/WebCore/rendering/svg/SVGRootInlineBox.cpp
    M Source/WebCore/rendering/svg/SVGTextChunk.cpp
    M Source/WebCore/rendering/svg/SVGTextLayoutAttributesBuilder.cpp
    M Source/WebCore/rendering/svg/SVGTextLayoutEngine.cpp
    M Source/WebCore/rendering/svg/SVGTextLayoutEngineBaseline.cpp
    M Source/WebCore/rendering/svg/legacy/LegacyRenderSVGContainer.cpp
    M Source/WebCore/rendering/svg/legacy/LegacyRenderSVGEllipse.cpp
    M Source/WebCore/rendering/svg/legacy/LegacyRenderSVGForeignObject.cpp
    M Source/WebCore/rendering/svg/legacy/LegacyRenderSVGImage.cpp
    M Source/WebCore/rendering/svg/legacy/LegacyRenderSVGModelObject.cpp
    M Source/WebCore/rendering/svg/legacy/LegacyRenderSVGModelObject.h
    M Source/WebCore/rendering/svg/legacy/LegacyRenderSVGRect.cpp
    M Source/WebCore/rendering/svg/legacy/LegacyRenderSVGResource.cpp
    M Source/WebCore/rendering/svg/legacy/LegacyRenderSVGResourceClipper.cpp
    M Source/WebCore/rendering/svg/legacy/LegacyRenderSVGResourceContainer.cpp
    M Source/WebCore/rendering/svg/legacy/LegacyRenderSVGResourceFilter.cpp
    M Source/WebCore/rendering/svg/legacy/LegacyRenderSVGResourceFilterPrimitive.cpp
    M Source/WebCore/rendering/svg/legacy/LegacyRenderSVGResourceGradient.cpp
    M Source/WebCore/rendering/svg/legacy/LegacyRenderSVGResourceMarker.cpp
    M Source/WebCore/rendering/svg/legacy/LegacyRenderSVGResourceMasker.cpp
    M Source/WebCore/rendering/svg/legacy/LegacyRenderSVGResourcePattern.cpp
    M Source/WebCore/rendering/svg/legacy/LegacyRenderSVGResourcePattern.h
    M Source/WebCore/rendering/svg/legacy/LegacyRenderSVGResourceRadialGradient.cpp
    M Source/WebCore/rendering/svg/legacy/LegacyRenderSVGResourceRadialGradient.h
    M Source/WebCore/rendering/svg/legacy/LegacyRenderSVGResourceRadialGradientInlines.h
    M Source/WebCore/rendering/svg/legacy/LegacyRenderSVGRoot.cpp
    M Source/WebCore/rendering/svg/legacy/LegacyRenderSVGRoot.h
    M Source/WebCore/rendering/svg/legacy/LegacyRenderSVGShape.cpp
    M Source/WebCore/rendering/svg/legacy/LegacyRenderSVGTransformableContainer.cpp
    M Source/WebCore/rendering/svg/legacy/LegacyRenderSVGViewportContainer.cpp
    M Source/WebCore/svg/SVGAnimateElementBase.cpp
    M Source/WebCore/svg/SVGElement.cpp
    M Source/WebCore/svg/SVGFontFaceElement.cpp
    M Source/WebCore/svg/SVGFontFaceUriElement.cpp
    A Source/WebCore/svg/SVGLength.cpp
    M Source/WebCore/svg/SVGLength.h
    M Source/WebCore/svg/SVGLocatable.cpp
    M Source/WebCore/svg/SVGStopElement.cpp
    M Source/WebCore/svg/SVGToOTFFontConversion.cpp
    M Source/WebCore/svg/SVGURIReference.cpp
    M Source/WebCore/svg/SVGUseElement.cpp
    M Source/WebCore/svg/SVGVisitedElementTracking.h
    M Source/WebCore/svg/animation/SMILTimeContainer.cpp
    M Source/WebCore/svg/graphics/SVGImageCache.cpp

  Log Message:
  -----------
  Adopt more smart pointers in SVG code
https://bugs.webkit.org/show_bug.cgi?id=269408

Reviewed by Brent Fulgham.

Adopt more smart pointers in SVG code, as reported by the static analyzer.

* Source/WebCore/dom/Document.h:
* Source/WebCore/dom/DocumentInlines.h:
(WebCore::Document::fontSelector const):
(WebCore::Document::protectedFontSelector const):
* Source/WebCore/rendering/svg/RenderSVGGradientStop.cpp:
(WebCore::RenderSVGGradientStop::styleDidChange):
* Source/WebCore/rendering/svg/RenderSVGImage.cpp:
(WebCore::RenderSVGImage::protectedImageElement const):
(WebCore::RenderSVGImage::calculateObjectBoundingBox const):
(WebCore::RenderSVGImage::imageChanged):
(WebCore::RenderSVGImage::needsHasSVGTransformFlags const):
(WebCore::RenderSVGImage::applyTransform const):
* Source/WebCore/rendering/svg/RenderSVGImage.h:
* Source/WebCore/rendering/svg/RenderSVGInlineText.cpp:
(WebCore::RenderSVGInlineText::computeNewScaledFontForStyle):
* Source/WebCore/rendering/svg/RenderSVGModelObject.cpp:
(WebCore::RenderSVGModelObject::checkIntersection):
(WebCore::RenderSVGModelObject::checkEnclosure):
(WebCore::RenderSVGModelObject::computeClipPath const):
* Source/WebCore/rendering/svg/RenderSVGRect.cpp:
(WebCore::RenderSVGRect::updateShapeFromElement):
* Source/WebCore/rendering/svg/RenderSVGResourceClipper.cpp:
(WebCore::RenderSVGResourceClipper::applyMaskClipping):
* Source/WebCore/rendering/svg/RenderSVGResourceGradient.cpp:
(WebCore::RenderSVGResourceGradient::prepareFillOperation):
(WebCore::RenderSVGResourceGradient::prepareStrokeOperation):
* Source/WebCore/rendering/svg/RenderSVGResourceLinearGradient.cpp:
(WebCore::RenderSVGResourceLinearGradient::collectGradientAttributesIfNeeded):
(WebCore::RenderSVGResourceLinearGradient::createGradient):
* Source/WebCore/rendering/svg/RenderSVGResourceLinearGradient.h:
* Source/WebCore/rendering/svg/RenderSVGResourceLinearGradientInlines.h:
(WebCore::RenderSVGResourceLinearGradient::protectedLinearGradientElement const):
* Source/WebCore/rendering/svg/RenderSVGResourceMarker.cpp:
(WebCore::RenderSVGResourceMarker::computeViewport const):
* Source/WebCore/rendering/svg/RenderSVGResourceMasker.cpp:
(WebCore::RenderSVGResourceMasker::applyMask):
(WebCore::RenderSVGResourceMasker::resourceBoundingBox):
* Source/WebCore/rendering/svg/RenderSVGResourcePattern.cpp:
(WebCore::RenderSVGResourcePattern::collectPatternAttributesIfNeeded):
(WebCore::RenderSVGResourcePattern::buildPattern):
* Source/WebCore/rendering/svg/RenderSVGResourcePattern.h:
* Source/WebCore/rendering/svg/RenderSVGResourcePatternInlines.h:
(WebCore::RenderSVGResourcePattern::protectedPatternElement const):
* Source/WebCore/rendering/svg/RenderSVGShape.cpp:
(WebCore::RenderSVGShape::nonScalingStrokeTransform const):
(WebCore::RenderSVGShape::strokeWidth const):
(WebCore::RenderSVGShape::createPath const):
(WebCore::RenderSVGShape::needsHasSVGTransformFlags const):
(WebCore::RenderSVGShape::applyTransform const):
* Source/WebCore/rendering/svg/RenderSVGText.cpp:
(WebCore::RenderSVGText::protectedTextElement const):
(WebCore::RenderSVGText::applyTransform const):
(WebCore::RenderSVGText::strokeBoundingBox const):
* Source/WebCore/rendering/svg/RenderSVGText.h:
* Source/WebCore/rendering/svg/RenderSVGTransformableContainer.cpp:
(WebCore::associatedUseElement):
* Source/WebCore/rendering/svg/SVGInlineTextBox.cpp:
(WebCore::SVGInlineTextBox::paint):
(WebCore::SVGInlineTextBox::paintDecoration):
(WebCore::SVGInlineTextBox::paintTextWithShadows):
* Source/WebCore/rendering/svg/SVGPaintServerHandling.h:
(WebCore::SVGPaintServerHandling::prepareFillOperation const):
(WebCore::SVGPaintServerHandling::prepareStrokeOperation const):
(WebCore::SVGPaintServerHandling::resolveColorFromStyle):
(WebCore::SVGPaintServerHandling::inheritColorFromParentStyleIfNeeded):
* Source/WebCore/rendering/svg/SVGRenderSupport.cpp:
(WebCore::isPointInCSSClippingArea):
(WebCore::SVGRenderSupport::clipContextToCSSClippingArea):
(WebCore::SVGRenderSupport::pointInClippingArea):
* Source/WebCore/rendering/svg/SVGRenderTreeAsText.cpp:
(WebCore::writeSVGStrokePaintingResource):
(WebCore::writeSVGPaintingFeatures):
(WebCore::operator<<):
(WebCore::writeSVGInlineTextBox):
(WebCore::writeSVGResourceContainer):
(WebCore::writeResources):
* Source/WebCore/rendering/svg/SVGRenderingContext.cpp:
(WebCore::SVGRenderingContext::prepareToRenderSVGContent):
* Source/WebCore/rendering/svg/SVGResources.cpp:
(WebCore::targetReferenceFromResource):
(WebCore::SVGResources::buildCachedResources):
* Source/WebCore/rendering/svg/SVGResourcesCache.cpp:
(WebCore::SVGResourcesCache::clientStyleChanged):
* Source/WebCore/rendering/svg/SVGRootInlineBox.cpp:
(WebCore::SVGRootInlineBox::layoutCharactersInTextBoxes):
* Source/WebCore/rendering/svg/SVGTextLayoutAttributesBuilder.cpp:
(WebCore::SVGTextLayoutAttributesBuilder::collectTextPositioningElements):
(WebCore::SVGTextLayoutAttributesBuilder::buildCharacterDataMap):
* Source/WebCore/rendering/svg/SVGTextLayoutEngine.cpp:
(WebCore::SVGTextLayoutEngine::parentDefinesTextLength const):
(WebCore::SVGTextLayoutEngine::beginTextPathLayout):
(WebCore::SVGTextLayoutEngine::layoutTextOnLineOrPath):
* Source/WebCore/rendering/svg/SVGTextLayoutEngineBaseline.cpp:
(WebCore::SVGTextLayoutEngineBaseline::dominantBaselineToAlignmentBaseline const):
* Source/WebCore/rendering/svg/legacy/LegacyRenderSVGContainer.cpp:
(WebCore::LegacyRenderSVGContainer::nodeAtFloatPoint):
* Source/WebCore/rendering/svg/legacy/LegacyRenderSVGModelObject.cpp:
(WebCore::getElementCTM):
(WebCore::LegacyRenderSVGModelObject::checkIntersection):
(WebCore::LegacyRenderSVGModelObject::checkEnclosure):
(WebCore::LegacyRenderSVGModelObject::protectedElement const):
* Source/WebCore/rendering/svg/legacy/LegacyRenderSVGModelObject.h:
* Source/WebCore/rendering/svg/legacy/LegacyRenderSVGResource.cpp:
(WebCore::inheritColorFromParentStyleIfNeeded):
* Source/WebCore/rendering/svg/legacy/LegacyRenderSVGResourceClipper.cpp:
(WebCore::LegacyRenderSVGResourceClipper::applyClippingToContext):
* Source/WebCore/rendering/svg/legacy/LegacyRenderSVGResourceContainer.cpp:
(WebCore::LegacyRenderSVGResourceContainer::markAllClientLayersForInvalidation):
(WebCore::LegacyRenderSVGResourceContainer::transformOnNonScalingStroke):
* Source/WebCore/rendering/svg/legacy/LegacyRenderSVGResourceFilter.cpp:
(WebCore::LegacyRenderSVGResourceFilter::applyResource):
* Source/WebCore/rendering/svg/legacy/LegacyRenderSVGResourceFilterPrimitive.cpp:
(WebCore::LegacyRenderSVGResourceFilterPrimitive::styleDidChange):
* Source/WebCore/rendering/svg/legacy/LegacyRenderSVGResourceGradient.cpp:
(WebCore::LegacyRenderSVGResourceGradient::postApplyResource):
* Source/WebCore/rendering/svg/legacy/LegacyRenderSVGResourceMasker.cpp:
(WebCore::LegacyRenderSVGResourceMasker::applyResource):
* Source/WebCore/rendering/svg/legacy/LegacyRenderSVGResourcePattern.cpp:
(WebCore::LegacyRenderSVGResourcePattern::protectedPatternElement const):
(WebCore::LegacyRenderSVGResourcePattern::collectPatternAttributes const):
(WebCore::LegacyRenderSVGResourcePattern::buildPattern):
(WebCore::LegacyRenderSVGResourcePattern::applyResource):
* Source/WebCore/rendering/svg/legacy/LegacyRenderSVGResourcePattern.h:
* Source/WebCore/rendering/svg/legacy/LegacyRenderSVGResourceRadialGradient.cpp:
(WebCore::LegacyRenderSVGResourceRadialGradient::collectGradientAttributes):
(WebCore::LegacyRenderSVGResourceRadialGradient::centerPoint const):
(WebCore::LegacyRenderSVGResourceRadialGradient::focalPoint const):
(WebCore::LegacyRenderSVGResourceRadialGradient::radius const):
(WebCore::LegacyRenderSVGResourceRadialGradient::focalRadius const):
* Source/WebCore/rendering/svg/legacy/LegacyRenderSVGResourceRadialGradient.h:
* Source/WebCore/rendering/svg/legacy/LegacyRenderSVGResourceRadialGradientInlines.h:
(WebCore::LegacyRenderSVGResourceRadialGradient::protectedRadialGradientElement const):
* Source/WebCore/rendering/svg/legacy/LegacyRenderSVGRoot.cpp:
(WebCore::LegacyRenderSVGRoot::protectedSVGSVGElement const):
(WebCore::LegacyRenderSVGRoot::isEmbeddedThroughSVGImage const):
(WebCore::LegacyRenderSVGRoot::nodeAtPoint):
* Source/WebCore/rendering/svg/legacy/LegacyRenderSVGRoot.h:
* Source/WebCore/rendering/svg/legacy/LegacyRenderSVGShape.cpp:
(WebCore::LegacyRenderSVGShape::nonScalingStrokeTransform const):
(WebCore::LegacyRenderSVGShape::paint):
(WebCore::LegacyRenderSVGShape::strokeWidth const):
(WebCore::LegacyRenderSVGShape::createPath const):
* Source/WebCore/rendering/svg/legacy/LegacyRenderSVGTransformableContainer.cpp:
(WebCore::LegacyRenderSVGTransformableContainer::calculateLocalTransform):
* Source/WebCore/rendering/svg/legacy/LegacyRenderSVGViewportContainer.cpp:
(WebCore::LegacyRenderSVGViewportContainer::calcViewport):
* Source/WebCore/svg/SVGAnimateElementBase.cpp:
(WebCore::SVGAnimateElementBase::hasInvalidCSSAttributeType const):
(WebCore::SVGAnimateElementBase::isDiscreteAnimator const):
(WebCore::SVGAnimateElementBase::applyResultsToTarget):
(WebCore::SVGAnimateElementBase::calculateDistance):
* Source/WebCore/svg/SVGElement.cpp:
(WebCore::SVGElement::ownerSVGElement const):
(WebCore::SVGElement::correspondingUseElement const):
* Source/WebCore/svg/SVGFontFaceElement.cpp:
(WebCore::SVGFontFaceElement::attributeChanged):
(WebCore::SVGFontFaceElement::rebuildFontFace):
* Source/WebCore/svg/SVGFontFaceUriElement.cpp:
(WebCore::SVGFontFaceUriElement::loadFont):
* Source/WebCore/svg/SVGLocatable.cpp:
(WebCore::SVGLocatable::farthestViewportElement):
* Source/WebCore/svg/SVGStopElement.cpp:
(WebCore::SVGStopElement::stopColorIncludingOpacity const):
* Source/WebCore/svg/SVGToOTFFontConversion.cpp:
(WebCore::SVGToOTFFontConverter::SVGToOTFFontConverter):
* Source/WebCore/svg/SVGURIReference.cpp:
(WebCore::SVGURIReference::targetElementFromIRIString):
* Source/WebCore/svg/SVGUseElement.cpp:
(WebCore::associateClonesWithOriginals):
(WebCore::associateReplacementClonesWithOriginals):
(WebCore::SVGUseElement::findTarget const):
(WebCore::SVGUseElement::cloneTarget const):
(WebCore::SVGUseElement::expandUseElementsInShadowTree const):
(WebCore::SVGUseElement::expandSymbolElementsInShadowTree const):
* Source/WebCore/svg/SVGVisitedElementTracking.h:
(WebCore::SVGVisitedElementTracking::Scope::~Scope):
* Source/WebCore/svg/animation/SMILTimeContainer.cpp:
(WebCore::SMILTimeContainer::animationFrameDelay const):
(WebCore::SMILTimeContainer::updateDocumentOrderIndexes):
* Source/WebCore/svg/graphics/SVGImageCache.cpp:
(WebCore::SVGImageCache::imageSizeForRenderer const):

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




More information about the webkit-changes mailing list