Ignore:
Timestamp:
Jun 21, 2022, 1:26:31 AM (3 years ago)
Author:
[email protected]
Message:

[LBSE] Add support for <path>
https://bugs.webkit.org/show_bug.cgi?id=240864

Patch by Nikolas Zimmermann <[email protected]> on 2022-06-21
Reviewed by Rob Buis.

Rename RenderSVGPath -> LegacyRenderSVGPath and adapt callees.

Re-introduce RenderSVGPath for LBSE, and activate
renderer creation for <path>, if LBSE is enabled at run-time.

This allows a 22 more SVG 1.1 testcases to pass with LBSE.

  • LayoutTests/platform/mac-monterey-wk2-lbse-text/TestExpectations:
  • LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/animate-elem-04-t-expected.txt:
  • LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/animate-elem-05-t-expected.txt:
  • LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/animate-elem-06-t-expected.txt:
  • LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/animate-elem-07-t-expected.txt:
  • LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/animate-elem-08-t-expected.txt:
  • LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/animate-elem-09-t-expected.txt:
  • LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/animate-elem-10-t-expected.txt:
  • LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/animate-elem-11-t-expected.txt:
  • LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/animate-elem-12-t-expected.txt:
  • LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/animate-elem-28-t-expected.txt:
  • LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/animate-elem-30-t-expected.txt:
  • LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/animate-elem-34-t-expected.txt:
  • LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/animate-elem-36-t-expected.txt:
  • LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/animate-elem-37-t-expected.txt:
  • LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/animate-elem-44-t-expected.txt:
  • LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/animate-elem-83-t-expected.txt:
  • LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/coords-viewattr-01-b-expected.txt:
  • LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/extend-namespace-01-f-expected.txt:
  • LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/filters-offset-01-b-expected.txt:
  • LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/fonts-elem-01-t-expected.txt:
  • LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/fonts-elem-02-t-expected.txt:
  • LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/fonts-elem-03-b-expected.txt:
  • LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/fonts-elem-04-b-expected.txt:
  • LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/fonts-elem-07-b-expected.txt:
  • LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/linking-a-05-t-expected.txt:
  • LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/metadata-example-01-b-expected.txt:
  • LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/painting-fill-03-t-expected.txt:
  • LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/painting-marker-01-f-expected.txt:
  • LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/painting-marker-02-f-expected.txt:
  • LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/painting-marker-03-f-expected.txt:
  • LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/painting-stroke-03-t-expected.txt:
  • LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/painting-stroke-04-t-expected.txt:
  • LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/painting-stroke-07-t-expected.txt:
  • LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/paths-data-01-t-expected.txt:
  • LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/paths-data-02-t-expected.txt:
  • LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/paths-data-03-f-expected.txt:
  • LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/paths-data-04-t-expected.txt:
  • LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/paths-data-05-t-expected.txt:
  • LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/paths-data-06-t-expected.txt:
  • LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/paths-data-07-t-expected.txt:
  • LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/paths-data-08-t-expected.txt:
  • LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/paths-data-09-t-expected.txt:
  • LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/paths-data-10-t-expected.txt:
  • LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/paths-data-12-t-expected.txt:
  • LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/paths-data-13-t-expected.txt:
  • LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/paths-data-14-t-expected.txt:
  • LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/paths-data-15-t-expected.txt:
  • LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/render-elems-01-t-expected.txt:
  • LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/render-elems-02-t-expected.txt:
  • LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/render-elems-03-t-expected.txt:
  • LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/struct-frag-06-t-expected.txt:
  • Source/WebCore/Sources.txt:
  • Source/WebCore/WebCore.xcodeproj/project.pbxproj:
  • Source/WebCore/accessibility/AccessibilitySVGElement.cpp:

(WebCore::AccessibilitySVGElement::determineAccessibilityRole):

  • Source/WebCore/rendering/RenderObject.h:

(WebCore::RenderObject::isLegacySVGPath const):
(WebCore::RenderObject::isSVGPathOrLegacySVGPath const):

  • Source/WebCore/rendering/RenderTreeAsText.cpp:
  • Source/WebCore/rendering/svg/LegacyRenderSVGPath.cpp: Copied from Source/WebCore/rendering/svg/RenderSVGPath.cpp.

(WebCore::LegacyRenderSVGPath::LegacyRenderSVGPath):
(WebCore::LegacyRenderSVGPath::updateShapeFromElement):
(WebCore::LegacyRenderSVGPath::calculateUpdatedStrokeBoundingBox const):
(WebCore::useStrokeStyleToFill):
(WebCore::LegacyRenderSVGPath::strokeShape const):
(WebCore::LegacyRenderSVGPath::shapeDependentStrokeContains):
(WebCore::LegacyRenderSVGPath::shouldStrokeZeroLengthSubpath const):
(WebCore::LegacyRenderSVGPath::zeroLengthLinecapPath const):
(WebCore::LegacyRenderSVGPath::zeroLengthSubpathRect const):
(WebCore::LegacyRenderSVGPath::updateZeroLengthSubpaths):
(WebCore::LegacyRenderSVGPath::isRenderingDisabled const):

  • Source/WebCore/rendering/svg/LegacyRenderSVGPath.h: Copied from Source/WebCore/rendering/svg/RenderSVGPath.h.
  • Source/WebCore/rendering/svg/LegacyRenderSVGShape.h:
  • Source/WebCore/rendering/svg/RenderSVGHiddenContainer.cpp:
  • Source/WebCore/rendering/svg/RenderSVGPath.cpp:

(WebCore::RenderSVGPath::RenderSVGPath):
(WebCore::RenderSVGPath::updateShapeFromElement):
(WebCore::RenderSVGPath::strokeShape const):
(WebCore::RenderSVGPath::shapeDependentStrokeContains):

  • Source/WebCore/rendering/svg/RenderSVGPath.h:
  • Source/WebCore/rendering/svg/RenderSVGShape.h:
  • Source/WebCore/rendering/svg/SVGRenderTreeAsText.cpp:
  • Source/WebCore/svg/SVGElement.cpp:

(WebCore::createSVGLayerAwareElementSet):

  • Source/WebCore/svg/SVGGraphicsElement.cpp:

(WebCore::SVGGraphicsElement::createElementRenderer):

  • Source/WebCore/svg/SVGPathElement.cpp:

(WebCore::SVGPathElement::svgAttributeChanged):
(WebCore::SVGPathElement::getBBox):
(WebCore::SVGPathElement::createElementRenderer):

  • Source/WebCore/svg/SVGPolyElement.cpp:

(WebCore::SVGPolyElement::svgAttributeChanged):
(WebCore::SVGPolyElement::approximateMemoryCost const):

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

File:
1 edited

Legend:

Unmodified
Added
Removed
Note: See TracChangeset for help on using the changeset viewer.