Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 76697a3fe448ca55326e8b18e0ee20d44494509d
https://github.com/WebKit/WebKit/commit/76697a3fe448ca55326e8b18e0ee20d44494509d
Author: Said Abou-Hallawa <[email protected]>
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
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes