[webkit-changes] [WebKit/WebKit] 30b1da: [IFC][SVG text] SVGTextLayoutEngine should use inl...
Antti Koivisto
noreply at github.com
Thu Aug 29 12:32:46 PDT 2024
Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 30b1dab3e77f07d673ebbcce0d25aa66743b091a
https://github.com/WebKit/WebKit/commit/30b1dab3e77f07d673ebbcce0d25aa66743b091a
Author: Antti Koivisto <antti at apple.com>
Date: 2024-08-29 (Thu, 29 Aug 2024)
Changed paths:
M Source/WebCore/layout/integration/inline/InlineIteratorBox.h
M Source/WebCore/layout/integration/inline/InlineIteratorSVGTextBox.cpp
M Source/WebCore/layout/integration/inline/InlineIteratorSVGTextBox.h
M Source/WebCore/layout/integration/inline/InlineIteratorTextBox.cpp
M Source/WebCore/layout/integration/inline/InlineIteratorTextBox.h
M Source/WebCore/rendering/RenderText.cpp
M Source/WebCore/rendering/svg/RenderSVGInlineText.cpp
M Source/WebCore/rendering/svg/RenderSVGInlineText.h
M Source/WebCore/rendering/svg/SVGRenderTreeAsText.cpp
M Source/WebCore/rendering/svg/SVGRootInlineBox.cpp
M Source/WebCore/rendering/svg/SVGTextChunk.cpp
M Source/WebCore/rendering/svg/SVGTextChunk.h
M Source/WebCore/rendering/svg/SVGTextChunkBuilder.cpp
M Source/WebCore/rendering/svg/SVGTextChunkBuilder.h
M Source/WebCore/rendering/svg/SVGTextLayoutAttributes.h
M Source/WebCore/rendering/svg/SVGTextLayoutEngine.cpp
M Source/WebCore/rendering/svg/SVGTextLayoutEngine.h
M Source/WebCore/svg/SVGTextContentElement.cpp
M Source/WebCore/svg/SVGTextContentElement.h
Log Message:
-----------
[IFC][SVG text] SVGTextLayoutEngine should use inline iterator
https://bugs.webkit.org/show_bug.cgi?id=278851
rdar://134924182
Reviewed by Alan Baradlay.
Make it independent from legacy inline boxes.
* Source/WebCore/layout/integration/inline/InlineIteratorBox.h:
(WebCore::InlineIterator::BoxRange::BoxRange):
(WebCore::InlineIterator::BoxRange::begin const):
(WebCore::InlineIterator::BoxRange::end const):
* Source/WebCore/layout/integration/inline/InlineIteratorSVGTextBox.cpp:
(WebCore::InlineIterator::SVGTextBox::textFragments const):
(WebCore::InlineIterator::firstSVGTextBoxFor):
(WebCore::InlineIterator::svgTextBoxesFor):
(WebCore::InlineIterator::svgTextBoxFor):
(WebCore::InlineIterator::SVGTextBox::svgTextFragments const): Deleted.
(WebCore::InlineIterator::firstTextBoxFor): Deleted.
(WebCore::InlineIterator::textBoxesFor): Deleted.
Also some iterator cleanups.
* Source/WebCore/layout/integration/inline/InlineIteratorSVGTextBox.h:
* Source/WebCore/layout/integration/inline/InlineIteratorTextBox.cpp:
(WebCore::InlineIterator::textBoxesFor):
* Source/WebCore/layout/integration/inline/InlineIteratorTextBox.h:
(WebCore::InlineIterator::TextBoxRange::TextBoxRange): Deleted.
(WebCore::InlineIterator::TextBoxRange::begin const): Deleted.
(WebCore::InlineIterator::TextBoxRange::end const): Deleted.
* Source/WebCore/rendering/RenderText.cpp:
(WebCore::selectionRectForTextBox):
* Source/WebCore/rendering/svg/RenderSVGInlineText.cpp:
(WebCore::RenderSVGInlineText::floatLinesBoundingBox const):
(WebCore::RenderSVGInlineText::positionForPoint):
* Source/WebCore/rendering/svg/RenderSVGInlineText.h:
* Source/WebCore/rendering/svg/SVGRenderTreeAsText.cpp:
(WebCore::writeSVGInlineTextBox):
(WebCore::writeSVGInlineTextBoxes):
* Source/WebCore/rendering/svg/SVGRootInlineBox.cpp:
(WebCore::SVGRootInlineBox::layoutCharactersInTextBoxes):
* Source/WebCore/rendering/svg/SVGTextChunk.cpp:
(WebCore::makeSVGChunkTransformMapKey):
(WebCore::SVGTextChunk::SVGTextChunk):
(WebCore::SVGTextChunk::totalCharacters const):
(WebCore::SVGTextChunk::totalLength const):
(WebCore::SVGTextChunk::layout const):
(WebCore::SVGTextChunk::processTextLengthSpacingCorrection const):
(WebCore::SVGTextChunk::buildBoxTransformations const):
(WebCore::SVGTextChunk::boxSpacingAndGlyphsTransform const):
(WebCore::SVGTextChunk::processTextAnchorCorrection const):
* Source/WebCore/rendering/svg/SVGTextChunk.h:
* Source/WebCore/rendering/svg/SVGTextChunkBuilder.cpp:
(WebCore::SVGTextChunkBuilder::transformationForTextBox const):
(WebCore::SVGTextChunkBuilder::buildTextChunks):
(WebCore::SVGTextChunkBuilder::layoutTextChunks):
* Source/WebCore/rendering/svg/SVGTextChunkBuilder.h:
* Source/WebCore/rendering/svg/SVGTextLayoutAttributes.h:
(WebCore::SVGTextLayoutAttributes::textMetricsValues const):
* Source/WebCore/rendering/svg/SVGTextLayoutEngine.cpp:
(WebCore::SVGTextLayoutEngine::recordTextFragment):
(WebCore::SVGTextLayoutEngine::layoutInlineTextBox):
(WebCore::dumpTextBoxes):
(WebCore::SVGTextLayoutEngine::finalizeTransformMatrices):
(WebCore::SVGTextLayoutEngine::currentVisualCharacterMetrics):
(WebCore::SVGTextLayoutEngine::layoutTextOnLineOrPath):
* Source/WebCore/rendering/svg/SVGTextLayoutEngine.h:
* Source/WebCore/svg/SVGTextContentElement.cpp:
(WebCore::SVGTextContentElement::elementFromRenderer):
* Source/WebCore/svg/SVGTextContentElement.h:
Canonical link: https://commits.webkit.org/282918@main
To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications
More information about the webkit-changes
mailing list