[webkit-changes] [WebKit/WebKit] f40431: [IFC][SVG text] Move painting code out from legacy...
Antti Koivisto
noreply at github.com
Tue Nov 26 08:09:42 PST 2024
Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: f4043116225394c265bc07894d82769a1f089f38
https://github.com/WebKit/WebKit/commit/f4043116225394c265bc07894d82769a1f089f38
Author: Antti Koivisto <antti at apple.com>
Date: 2024-11-26 (Tue, 26 Nov 2024)
Changed paths:
M Source/WebCore/layout/integration/inline/InlineIteratorBox.cpp
M Source/WebCore/layout/integration/inline/InlineIteratorBox.h
M Source/WebCore/layout/integration/inline/InlineIteratorBoxLegacyPath.h
M Source/WebCore/layout/integration/inline/InlineIteratorBoxModernPath.h
M Source/WebCore/layout/integration/inline/InlineIteratorLineBoxModernPath.h
M Source/WebCore/layout/integration/inline/InlineIteratorSVGTextBox.cpp
M Source/WebCore/layout/integration/inline/InlineIteratorSVGTextBox.h
M Source/WebCore/rendering/LegacyInlineBox.h
M Source/WebCore/rendering/LegacyInlineFlowBox.cpp
M Source/WebCore/rendering/LegacyInlineFlowBox.h
M Source/WebCore/rendering/LegacyInlineTextBox.cpp
M Source/WebCore/rendering/LegacyInlineTextBox.h
M Source/WebCore/rendering/RenderBlockFlow.cpp
M Source/WebCore/rendering/RenderInline.cpp
M Source/WebCore/rendering/RenderLineBoxList.cpp
M Source/WebCore/rendering/RenderLineBoxList.h
M Source/WebCore/rendering/svg/RenderSVGText.cpp
M Source/WebCore/rendering/svg/RenderSVGText.h
M Source/WebCore/rendering/svg/SVGInlineFlowBox.cpp
M Source/WebCore/rendering/svg/SVGInlineFlowBox.h
M Source/WebCore/rendering/svg/SVGInlineTextBox.cpp
M Source/WebCore/rendering/svg/SVGInlineTextBox.h
M Source/WebCore/rendering/svg/SVGRenderingContext.cpp
M Source/WebCore/rendering/svg/SVGRenderingContext.h
M Source/WebCore/rendering/svg/SVGRootInlineBox.cpp
M Source/WebCore/rendering/svg/SVGRootInlineBox.h
Log Message:
-----------
[IFC][SVG text] Move painting code out from legacy inline boxes
https://bugs.webkit.org/show_bug.cgi?id=283714
rdar://140580406
Reviewed by Alan Baradlay.
Use iterator to paint SVG text.
* Source/WebCore/layout/integration/inline/InlineIteratorBox.cpp:
(WebCore::InlineIterator::BoxIterator::traverseNextOnLine):
(WebCore::InlineIterator::BoxIterator::traverseNextOnLineSkippingChildren):
Add support for unconstrained tree-order traversal.
(WebCore::InlineIterator::LeafBoxIterator::traverseNextOnLine):
(WebCore::InlineIterator::LeafBoxIterator::traversePreviousOnLine):
* Source/WebCore/layout/integration/inline/InlineIteratorBox.h:
(WebCore::InlineIterator::BoxIterator::BoxIterator):
(WebCore::InlineIterator::BoxIterator::operator++):
(WebCore::InlineIterator::LeafBoxIterator::operator++):
* Source/WebCore/layout/integration/inline/InlineIteratorBoxLegacyPath.h:
(WebCore::InlineIterator::BoxLegacyPath::traverseNextLeafOnLine):
(WebCore::InlineIterator::BoxLegacyPath::traversePreviousLeafOnLine):
(WebCore::InlineIterator::BoxLegacyPath::traverseNextBoxOnLine):
(WebCore::InlineIterator::BoxLegacyPath::traverseNextBoxOnLineSkippingChildren):
(WebCore::InlineIterator::BoxLegacyPath::traverseNextOnLine): Deleted.
(WebCore::InlineIterator::BoxLegacyPath::traversePreviousOnLine): Deleted.
* Source/WebCore/layout/integration/inline/InlineIteratorBoxModernPath.h:
(WebCore::InlineIterator::BoxModernPath::traverseNextLeafOnLine):
(WebCore::InlineIterator::BoxModernPath::traversePreviousLeafOnLine):
(WebCore::InlineIterator::BoxModernPath::traverseNextBoxOnLine):
(WebCore::InlineIterator::BoxModernPath::traverseNextBoxOnLineSkippingChildren):
(WebCore::InlineIterator::BoxModernPath::firstLeafBoxForInlineBox const):
(WebCore::InlineIterator::BoxModernPath::lastLeafBoxForInlineBox const):
(WebCore::InlineIterator::BoxModernPath::traverseNextOnLine): Deleted.
(WebCore::InlineIterator::BoxModernPath::traversePreviousOnLine): Deleted.
* Source/WebCore/layout/integration/inline/InlineIteratorLineBoxModernPath.h:
(WebCore::InlineIterator::LineBoxIteratorModernPath::firstLeafBox const):
(WebCore::InlineIterator::LineBoxIteratorModernPath::lastLeafBox const):
* Source/WebCore/layout/integration/inline/InlineIteratorSVGTextBox.cpp:
(WebCore::InlineIterator::boxesFor):
* Source/WebCore/layout/integration/inline/InlineIteratorSVGTextBox.h:
(WebCore::InlineIterator::SVGTextBoxRange::SVGTextBoxRange): Deleted.
(WebCore::InlineIterator::SVGTextBoxRange::begin const): Deleted.
(WebCore::InlineIterator::SVGTextBoxRange::end const): Deleted.
* Source/WebCore/rendering/LegacyInlineBox.h:
* Source/WebCore/rendering/LegacyInlineFlowBox.cpp:
(WebCore::LegacyInlineFlowBox::paint): Deleted.
* Source/WebCore/rendering/LegacyInlineFlowBox.h:
* Source/WebCore/rendering/LegacyInlineTextBox.cpp:
(WebCore::LegacyInlineTextBox::paint): Deleted.
* Source/WebCore/rendering/LegacyInlineTextBox.h:
* Source/WebCore/rendering/RenderBlockFlow.cpp:
(WebCore::RenderBlockFlow::paintInlineChildren):
* Source/WebCore/rendering/RenderInline.cpp:
(WebCore::RenderInline::paint):
* Source/WebCore/rendering/RenderLineBoxList.cpp:
(WebCore::RenderLineBoxList::paint const): Deleted.
* Source/WebCore/rendering/RenderLineBoxList.h:
* Source/WebCore/rendering/svg/RenderSVGText.cpp:
(WebCore::RenderSVGText::paintInlineChildren):
Use iterator to paint SVG text boxes with SVGTextBoxPainter.
* Source/WebCore/rendering/svg/RenderSVGText.h:
* Source/WebCore/rendering/svg/SVGInlineFlowBox.cpp:
(WebCore::SVGInlineFlowBox::paintSelectionBackground): Deleted.
(WebCore::SVGInlineFlowBox::paint): Deleted.
* Source/WebCore/rendering/svg/SVGInlineFlowBox.h:
* Source/WebCore/rendering/svg/SVGInlineTextBox.cpp:
(WebCore::SVGInlineTextBox::paintSelectionBackground): Deleted.
(WebCore::SVGInlineTextBox::paint): Deleted.
* Source/WebCore/rendering/svg/SVGInlineTextBox.h:
* Source/WebCore/rendering/svg/SVGRenderingContext.cpp:
(WebCore::SVGRenderingContext::SVGRenderingContext):
Add a move constructor so these work correctly when pushed into a Vector.
* Source/WebCore/rendering/svg/SVGRenderingContext.h:
(WebCore::SVGRenderingContext::renderer const):
* Source/WebCore/rendering/svg/SVGRootInlineBox.cpp:
(WebCore::SVGRootInlineBox::paint): Deleted.
* Source/WebCore/rendering/svg/SVGRootInlineBox.h:
Canonical link: https://commits.webkit.org/287098@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