[webkit-changes] [WebKit/WebKit] 76697a: Make RenderSVGPath check if its path is created be...
Said Abou-Hallawa
noreply at github.com
Wed Jun 21 14:05:33 PDT 2023
Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 76697a3fe448ca55326e8b18e0ee20d44494509d
https://github.com/WebKit/WebKit/commit/76697a3fe448ca55326e8b18e0ee20d44494509d
Author: Said Abou-Hallawa <said at apple.com>
Date: 2023-06-21 (Wed, 21 Jun 2023)
Changed paths:
M Source/WebCore/rendering/svg/LegacyRenderSVGEllipse.cpp
M Source/WebCore/rendering/svg/LegacyRenderSVGEllipse.h
M Source/WebCore/rendering/svg/LegacyRenderSVGPath.cpp
M Source/WebCore/rendering/svg/LegacyRenderSVGPath.h
M Source/WebCore/rendering/svg/LegacyRenderSVGRect.cpp
M Source/WebCore/rendering/svg/LegacyRenderSVGRect.h
M Source/WebCore/rendering/svg/LegacyRenderSVGShape.cpp
M Source/WebCore/rendering/svg/LegacyRenderSVGShape.h
M Source/WebCore/rendering/svg/RenderSVGEllipse.cpp
M Source/WebCore/rendering/svg/RenderSVGEllipse.h
M Source/WebCore/rendering/svg/RenderSVGPath.cpp
M Source/WebCore/rendering/svg/RenderSVGPath.h
M Source/WebCore/rendering/svg/RenderSVGRect.cpp
M Source/WebCore/rendering/svg/RenderSVGRect.h
M Source/WebCore/rendering/svg/RenderSVGShape.cpp
M Source/WebCore/rendering/svg/RenderSVGShape.h
Log Message:
-----------
Make RenderSVGPath check if its path is created before calling RenderSVGShape::strokeShape()
https://bugs.webkit.org/show_bug.cgi?id=258333
rdar://110382674
Reviewed by Cameron McCormack.
1) Remove the flag `m_usePathFallback` from the SVG renderers. It is always set
to false when the fallback Path is cleared. It is set to true when the base class
method updateShapeFromElement() is called. So replace `m_usePathFallback` with
`hasPath()`.
2) RenderSVGShape has two strokeShape() functions. Both take a GraphicsContext as
an argument. One of them is marked as const and the other is not. They have two
different behaviors. To remove this confusion, add a RenderStyle as an argument
to the non const one and rename the similar one strokeShapeInternal().
* Source/WebCore/rendering/svg/LegacyRenderSVGEllipse.cpp:
(WebCore::LegacyRenderSVGEllipse::LegacyRenderSVGEllipse):
(WebCore::LegacyRenderSVGEllipse::updateShapeFromElement):
(WebCore::LegacyRenderSVGEllipse::fillShape const):
(WebCore::LegacyRenderSVGEllipse::strokeShape const):
(WebCore::LegacyRenderSVGEllipse::shapeDependentStrokeContains):
(WebCore::LegacyRenderSVGEllipse::shapeDependentFillContains const):
* Source/WebCore/rendering/svg/LegacyRenderSVGEllipse.h:
* Source/WebCore/rendering/svg/LegacyRenderSVGPath.cpp:
(WebCore::LegacyRenderSVGPath::strokeShape const):
(WebCore::LegacyRenderSVGPath::strokeZeroLengthSubpaths const):
* Source/WebCore/rendering/svg/LegacyRenderSVGPath.h:
* Source/WebCore/rendering/svg/LegacyRenderSVGRect.cpp:
(WebCore::LegacyRenderSVGRect::LegacyRenderSVGRect):
(WebCore::LegacyRenderSVGRect::updateShapeFromElement):
(WebCore::LegacyRenderSVGRect::fillShape const):
(WebCore::LegacyRenderSVGRect::strokeShape const):
(WebCore::LegacyRenderSVGRect::shapeDependentStrokeContains):
(WebCore::LegacyRenderSVGRect::shapeDependentFillContains const):
* Source/WebCore/rendering/svg/LegacyRenderSVGRect.h:
* Source/WebCore/rendering/svg/LegacyRenderSVGShape.cpp:
(WebCore::LegacyRenderSVGShape::strokeShapeInternal):
(WebCore::LegacyRenderSVGShape::strokeShape):
(WebCore::LegacyRenderSVGShape::fillStrokeMarkers):
* Source/WebCore/rendering/svg/LegacyRenderSVGShape.h:
* Source/WebCore/rendering/svg/RenderSVGEllipse.cpp:
(WebCore::RenderSVGEllipse::RenderSVGEllipse):
(WebCore::RenderSVGEllipse::updateShapeFromElement):
(WebCore::RenderSVGEllipse::fillShape const):
(WebCore::RenderSVGEllipse::strokeShape const):
(WebCore::RenderSVGEllipse::shapeDependentStrokeContains):
(WebCore::RenderSVGEllipse::shapeDependentFillContains const):
* Source/WebCore/rendering/svg/RenderSVGEllipse.h:
* Source/WebCore/rendering/svg/RenderSVGPath.cpp:
(WebCore::RenderSVGPath::strokeShape const):
(WebCore::RenderSVGPath::strokeZeroLengthSubpaths const):
* Source/WebCore/rendering/svg/RenderSVGPath.h:
* Source/WebCore/rendering/svg/RenderSVGRect.cpp:
(WebCore::RenderSVGRect::RenderSVGRect):
(WebCore::RenderSVGRect::updateShapeFromElement):
(WebCore::RenderSVGRect::fillShape const):
(WebCore::RenderSVGRect::strokeShape const):
(WebCore::RenderSVGRect::shapeDependentStrokeContains):
(WebCore::RenderSVGRect::shapeDependentFillContains const):
* Source/WebCore/rendering/svg/RenderSVGRect.h:
* Source/WebCore/rendering/svg/RenderSVGShape.cpp:
(WebCore::RenderSVGShape::strokeShapeInternal):
(WebCore::RenderSVGShape::strokeShape):
(WebCore::RenderSVGShape::fillStrokeMarkers):
* Source/WebCore/rendering/svg/RenderSVGShape.h:
Canonical link: https://commits.webkit.org/265374@main
More information about the webkit-changes
mailing list