[webkit-changes] [WebKit/WebKit] b5c89e: [IFC][SVG text] SVGTextLayoutEngine should not mut...

Antti Koivisto noreply at github.com
Thu Sep 5 08:49:34 PDT 2024


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: b5c89ea40f95e6668af6af0e7999b3fdb665960e
      https://github.com/WebKit/WebKit/commit/b5c89ea40f95e6668af6af0e7999b3fdb665960e
  Author: Antti Koivisto <antti at apple.com>
  Date:   2024-09-05 (Thu, 05 Sep 2024)

  Changed paths:
    M Source/WebCore/layout/integration/inline/InlineIteratorSVGTextBox.cpp
    M Source/WebCore/layout/integration/inline/InlineIteratorSVGTextBox.h
    M Source/WebCore/rendering/svg/SVGInlineTextBox.cpp
    M Source/WebCore/rendering/svg/SVGInlineTextBox.h
    M Source/WebCore/rendering/svg/SVGRootInlineBox.cpp
    M Source/WebCore/rendering/svg/SVGRootInlineBox.h
    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/SVGTextLayoutEngine.cpp
    M Source/WebCore/rendering/svg/SVGTextLayoutEngine.h

  Log Message:
  -----------
  [IFC][SVG text] SVGTextLayoutEngine should not mutate its input
https://bugs.webkit.org/show_bug.cgi?id=279187
rdar://problem/135341497

Reviewed by Alan Baradlay.

Separate input and output.

* Source/WebCore/layout/integration/inline/InlineIteratorSVGTextBox.cpp:
(WebCore::InlineIterator::makeKey):
* Source/WebCore/layout/integration/inline/InlineIteratorSVGTextBox.h:
* Source/WebCore/rendering/svg/SVGInlineTextBox.cpp:
(WebCore::SVGInlineTextBox::dirtyOwnLineBoxes):
* Source/WebCore/rendering/svg/SVGInlineTextBox.h:
* Source/WebCore/rendering/svg/SVGRootInlineBox.cpp:
(WebCore::SVGRootInlineBox::computePerCharacterLayoutInformation):
(WebCore::SVGRootInlineBox::layoutChildBoxes):
* Source/WebCore/rendering/svg/SVGRootInlineBox.h:
* Source/WebCore/rendering/svg/SVGTextChunk.cpp:
(WebCore::SVGTextChunk::SVGTextChunk):
(WebCore::SVGTextChunk::totalCharacters const):
(WebCore::SVGTextChunk::totalLength const):
(WebCore::SVGTextChunk::processTextLengthSpacingCorrection const):
(WebCore::SVGTextChunk::buildBoxTransformations const):
(WebCore::SVGTextChunk::boxSpacingAndGlyphsTransform const):
(WebCore::SVGTextChunk::processTextAnchorCorrection const):
(WebCore::makeSVGChunkTransformMapKey): Deleted.
* 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/SVGTextLayoutEngine.cpp:
(WebCore::SVGTextLayoutEngine::recordTextFragment):
(WebCore::SVGTextLayoutEngine::beginTextPathLayout):
(WebCore::SVGTextLayoutEngine::layoutInlineTextBox):
(WebCore::SVGTextLayoutEngine::finalizeTransformMatrices):
(WebCore::SVGTextLayoutEngine::finishLayout):

Return output text fragments as a map.

(WebCore::SVGTextLayoutEngine::layoutTextOnLineOrPath):
* Source/WebCore/rendering/svg/SVGTextLayoutEngine.h:

Canonical link: https://commits.webkit.org/283211@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