12022-04-25 Nikolas Zimmermann <nzimmermann@igalia.com>
2
3 [LBSE] Activate text rendering, by re-using RenderSVGText
4 https://bugs.webkit.org/show_bug.cgi?id=239743
5
6 Reviewed by NOBODY (OOPS!).
7
8 Adapt RenderSVGText to be usable at the same time from legacy SVG engine (as
9 it is right now) and from LBSE. This requires minimal effort, since RenderSVGText
10 already inherited from RenderLayerModelObject, so there's no need for the creation
11 of LegacyRenderSVGText / RenderSVGText as separated legacy/LBSE implementations.
12
13 Most SVG 1.1 <text> testcases already pass out of the box with this change.
14 The next patch after text support will add a new 'macos-wk2-lbse-xxx' specific
15 platform baseline, so that we can run tests LBSE againt iself (finally we can
16 include the progressions in the form of TestExpectation file changes, once a certain
17 patch implements a new feature in LBSE. This makes sense now as enough is upstreamed
18 that a considerable amount of the SVG 1.1 testsuite already passes pixel perfect.
19
20 Covered by existing tests, no change in behaviour. (However testability for LBSE is ready soon!).
21
22 * rendering/RenderLayerModelObject.cpp:
23 (WebCore::RenderLayerModelObject::computeVisibleRectInSVGContainer const):
24 * rendering/RenderObject.cpp:
25 (WebCore::objectIsRelayoutBoundary):
26 * rendering/svg/RenderSVGBlock.cpp:
27 (WebCore::RenderSVGBlock::updateFromStyle):
28 (WebCore::RenderSVGBlock::absoluteRects const):
29 (WebCore::RenderSVGBlock::absoluteQuads const):
30 (WebCore::RenderSVGBlock::styleDidChange):
31 (WebCore::RenderSVGBlock::computeOverflow):
32 (WebCore::RenderSVGBlock::clippedOverflowRect const):
33 (WebCore::RenderSVGBlock::computeVisibleRectInContainer const):
34 (WebCore::RenderSVGBlock::computeFloatVisibleRectInContainer const):
35 (WebCore::RenderSVGBlock::pushMappingToContainer const):
36 (WebCore::RenderSVGBlock::offsetFromContainer const):
37 (WebCore::RenderSVGBlock::nodeAtPoint): Deleted.
38 * rendering/svg/RenderSVGBlock.h:
39 * rendering/svg/RenderSVGText.cpp:
40 (WebCore::RenderSVGText::RenderSVGText):
41 (WebCore::RenderSVGText::layout):
42 (WebCore::RenderSVGText::nodeAtFloatPoint):
43 (WebCore::RenderSVGText::nodeAtPoint):
44 (WebCore::RenderSVGText::paint):
45 (WebCore::RenderSVGText::repaintRectInLocalCoordinates const):
46 (WebCore::RenderSVGText::updatePositionAndOverflow):
47 (WebCore::RenderSVGText::absoluteQuads const): Deleted.
48 * rendering/svg/RenderSVGText.h:
49 * rendering/svg/SVGRootInlineBox.cpp:
50 (WebCore::SVGRootInlineBox::renderSVGText const):
51 (WebCore::SVGRootInlineBox::paint):
52 (WebCore::SVGRootInlineBox::layoutRootBox):
53 (WebCore::SVGRootInlineBox::renderSVGText): Deleted.
54 * rendering/svg/SVGRootInlineBox.h:
55 * svg/SVGElement.cpp:
56 (WebCore::createSVGLayerAwareElementSet):
57