Branch: refs/heads/webkitglib/2.52
  Home:   https://github.com/WebKit/WebKit
  Commit: 5de3c38624ecf9eda1c16d3464df4818aa615eb0
      
https://github.com/WebKit/WebKit/commit/5de3c38624ecf9eda1c16d3464df4818aa615eb0
  Author: Alan Baradlay <[email protected]>
  Date:   2026-07-03 (Fri, 03 Jul 2026)

  Changed paths:
    A 
LayoutTests/fast/inline/inline-content-with-ellipsis-after-partial-layout-crash-expected.txt
    A 
LayoutTests/fast/inline/inline-content-with-ellipsis-after-partial-layout-crash.html
    M 
Source/WebCore/layout/formattingContexts/inline/InlineFormattingContext.cpp
    M 
Source/WebCore/layout/formattingContexts/inline/display/InlineDisplayContent.cpp
    M 
Source/WebCore/layout/formattingContexts/inline/display/InlineDisplayContent.h

  Log Message:
  -----------
  Cherry-pick 305937@main (1f89cbb0564a). 
https://bugs.webkit.org/show_bug.cgi?id=305897

    [IFC] Crash in EllipsisBoxPainter::paint when inline content had partial 
layout
    https://bugs.webkit.org/show_bug.cgi?id=305897
    <rdar://168453702>

    Reviewed by Antti Koivisto.

    1. LineBox's index is always relative to the whole content (line index 5 is 
the 5th line overall).
    2. Partial content layout may start at an in-between index.
    3. 'display content' structure only contains the lines being laid out.

    If partial content layout starts at line 4, and we finished with 2 lines 
already (4th and 5th)
    in createDisplayContentForInlineContent when constructing the display 
content for the 3rd line (6th overall)
    - LineBox's index is 5.
    - display content size (excluding the new content) is 2.

    displayContent.setLineEllipsis(5, WTF::move(*ellipsis)) on 'display 
content' with 3 lines overinflates the lineEllipsis vector causing ellipsis 
mismatch at paint time.

    Test: 
fast/inline/inline-content-with-ellipsis-after-partial-layout-crash.html

    * 
LayoutTests/fast/inline/inline-content-with-ellipsis-after-partial-layout-crash-expected.txt:
 Added.
    * 
LayoutTests/fast/inline/inline-content-with-ellipsis-after-partial-layout-crash.html:
 Added.
    * 
Source/WebCore/layout/formattingContexts/inline/InlineFormattingContext.cpp:
    
(WebCore::Layout::InlineFormattingContext::createDisplayContentForInlineContent):
    * 
Source/WebCore/layout/formattingContexts/inline/display/InlineDisplayContent.cpp:
    (WebCore::InlineDisplay::Content::setEllipsisOnTrailingLine):
    * 
Source/WebCore/layout/formattingContexts/inline/display/InlineDisplayContent.h:

    Canonical link: https://commits.webkit.org/305937@main

Canonical link: https://commits.webkit.org/305877.940@webkitglib/2.52



To unsubscribe from these emails, change your notification settings at 
https://github.com/WebKit/WebKit/settings/notifications

Reply via email to