Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: e243e0caa9c27dfc32a0edfee28d537b1cab005c
      
https://github.com/WebKit/WebKit/commit/e243e0caa9c27dfc32a0edfee28d537b1cab005c
  Author: Alan Baradlay <[email protected]>
  Date:   2025-05-07 (Wed, 07 May 2025)

  Changed paths:
    A 
LayoutTests/fast/box-decoration-break/box-decoration-clone-rendering2-expected.html
    A LayoutTests/fast/box-decoration-break/box-decoration-clone-rendering2.html
    M Source/WebCore/layout/formattingContexts/inline/InlineFormattingUtils.cpp
    M Source/WebCore/layout/formattingContexts/inline/InlineLine.cpp
    M Source/WebCore/layout/formattingContexts/inline/InlineLine.h
    M Source/WebCore/layout/formattingContexts/inline/InlineLineBuilder.cpp
    M Source/WebCore/layout/formattingContexts/inline/InlineLineBuilder.h

  Log Message:
  -----------
  (REGRESSION 262652@main): box-decoration-break: clone is not taken into 
account when breaking lines
https://bugs.webkit.org/show_bug.cgi?id=267846
<rdar://problem/121382658>

Reviewed by Antti Koivisto.

Replace existing (and slightly intrusive) cloned decoration box implementation 
in IFC with
a less complex and more error-prone one. See comment in 
handleInlineContentWithClonedDecoration.

* Source/WebCore/layout/formattingContexts/inline/InlineFormattingUtils.cpp:
(WebCore::Layout::InlineFormattingUtils::inlineItemWidth const):
* Source/WebCore/layout/formattingContexts/inline/InlineLine.cpp:
(WebCore::Layout::Line::initialize):
(WebCore::Layout::Line::close):
(WebCore::Layout::Line::appendInlineBoxStart):
(WebCore::Layout::Line::appendInlineBoxEnd):
(WebCore::Layout::Line::appendTextContent):
(WebCore::Layout::Line::addBorderAndPaddingEndForInlineBoxDecorationClone): 
Deleted.
(WebCore::Layout::Line::removeBorderAndPaddingEndForInlineBoxDecorationClone): 
Deleted.
* Source/WebCore/layout/formattingContexts/inline/InlineLine.h:
(WebCore::Layout::Line::contentLogicalRight const):
* Source/WebCore/layout/formattingContexts/inline/InlineLineBuilder.cpp:
(WebCore::Layout::LineCandidate::InlineContent::setHasTrailingClonedDecoration):
(WebCore::Layout::LineCandidate::InlineContent::hasTrailingClonedDecoration 
const):
(WebCore::Layout::LineCandidate::InlineContent::reset):
(WebCore::Layout::LineBuilder::candidateContentForLine):
(WebCore::Layout::availableWidth):
(WebCore::Layout::LineBuilder::handleInlineContent):
(WebCore::Layout::lineBreakingResultContentWidth):
(WebCore::Layout::LineBuilder::placedClonedDecorationWidth const):
(WebCore::Layout::LineBuilder::clonedDecorationAtBreakingPosition const):
(WebCore::Layout::LineBuilder::handleInlineContentWithClonedDecoration):
(WebCore::Layout::LineCandidate::InlineContent::setAccumulatedClonedDecorationEnd):
 Deleted.
(WebCore::Layout::LineCandidate::InlineContent::accumulatedClonedDecorationEnd 
const): Deleted.
* Source/WebCore/layout/formattingContexts/inline/InlineLineBuilder.h:

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



To unsubscribe from these emails, change your notification settings at 
https://github.com/WebKit/WebKit/settings/notifications
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to