[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