[webkit-changes] [WebKit/WebKit] 1200e5: REGRESSION (Safari 16.4): "box-decoration-break: c...

Alan Baradlay noreply at github.com
Wed Apr 5 19:27:07 PDT 2023


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 1200e59015c2f14ef93c2e80aa952349506c2012
      https://github.com/WebKit/WebKit/commit/1200e59015c2f14ef93c2e80aa952349506c2012
  Author: Alan Baradlay <zalan at apple.com>
  Date:   2023-04-05 (Wed, 05 Apr 2023)

  Changed paths:
    M LayoutTests/fast/inline/box-decoration-clone-with-padding-end-expected.html
    A LayoutTests/fast/inline/box-decoration-clone-with-padding-end-line-wrap-expected.html
    A LayoutTests/fast/inline/box-decoration-clone-with-padding-end-line-wrap.html
    M Source/WebCore/layout/formattingContexts/inline/InlineLineBuilder.cpp

  Log Message:
  -----------
  REGRESSION (Safari 16.4): "box-decoration-break: clone" with "padding-right" wraps inline content unexpectedly
https://bugs.webkit.org/show_bug.cgi?id=255065
<rdar://problem/107684833>

Reviewed by Antti Koivisto.

Remove incorrect check against whether the candidate content has inline level box.
I am sure this was supposed to check against _inline_box_ (and not inline level box) so that
we don't even try to find the matching inline box end with cloned decoration unless the candidate content has an inline box (end) (perf optimization).
However we hardly have cloned inline boxes and even when we do, they are not super nested and/or sprinkled all over the inline content.

* LayoutTests/fast/inline/box-decoration-clone-with-padding-end-line-wrap-expected.html: Added.
* LayoutTests/fast/inline/box-decoration-clone-with-padding-end-line-wrap.html: Added.
* Source/WebCore/layout/formattingContexts/inline/InlineLineBuilder.cpp:
(WebCore::Layout::LineCandidate::InlineContent::isEmpty const):
(WebCore::Layout::LineCandidate::InlineContent::appendInlineItem):
(WebCore::Layout::LineCandidate::InlineContent::reset):
(WebCore::Layout::availableWidth):
(WebCore::Layout::LineCandidate::InlineContent::hasInlineLevelBox const): Deleted.

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




More information about the webkit-changes mailing list