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

Reply via email to