[webkit-changes] [WebKit/WebKit] bb0cfb: [IFC][SVG text] Update line box dimensions

Antti Koivisto noreply at github.com
Tue Dec 10 08:59:37 PST 2024


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: bb0cfb47512fb5f69314bcda5f72180fd2776cc3
      https://github.com/WebKit/WebKit/commit/bb0cfb47512fb5f69314bcda5f72180fd2776cc3
  Author: Antti Koivisto <antti at apple.com>
  Date:   2024-12-10 (Tue, 10 Dec 2024)

  Changed paths:
    M LayoutTests/TestExpectations
    M Source/WebCore/layout/formattingContexts/inline/display/InlineDisplayLine.h
    M Source/WebCore/layout/integration/LayoutIntegrationBoxTreeUpdater.cpp
    M Source/WebCore/layout/integration/inline/LayoutIntegrationLineLayout.cpp
    M Source/WebCore/rendering/svg/SVGTextLayoutEngine.cpp

  Log Message:
  -----------
  [IFC][SVG text] Update line box dimensions
https://bugs.webkit.org/show_bug.cgi?id=284307
rdar://problem/141167251

Reviewed by Alan Baradlay.

Also other fixes.

* LayoutTests/TestExpectations:

imported/w3c/web-platform-tests/svg/text/reftests/text-inline-size-003.svg is a test for SVG line
breaking that no browser supports. We passed it spuriously because the ref was misrendered.

We now render the ref correctly matching other engines (which also fail the test).

* Source/WebCore/layout/formattingContexts/inline/display/InlineDisplayLine.h:
(WebCore::InlineDisplay::Line::setLineBoxRectForSVGText):

Add setter.

* Source/WebCore/layout/integration/LayoutIntegrationBoxTreeUpdater.cpp:
(WebCore::LayoutIntegration::BoxTreeUpdater::adjustStyleIfNeeded):

Make sure inline boxes have inline display type when they get to IFC.

* Source/WebCore/layout/integration/inline/LayoutIntegrationLineLayout.cpp:
(WebCore::LayoutIntegration::LineLayout::applySVGTextFragments):

Update also line box dimensions.

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

Start a fragment if there is x/y attribute for a character. LegacyLineLayout used to
force inline boxes for these.

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