[webkit-changes] [WebKit/WebKit] 1e4b44: REGRESSION (267617 at main): Bad layout on kk.org

Alan Baradlay noreply at github.com
Wed Jan 24 06:47:14 PST 2024


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 1e4b445227ae8d5e3c9ef8d13d0acd90e1c1366b
      https://github.com/WebKit/WebKit/commit/1e4b445227ae8d5e3c9ef8d13d0acd90e1c1366b
  Author: Alan Baradlay <zalan at apple.com>
  Date:   2024-01-24 (Wed, 24 Jan 2024)

  Changed paths:
    A LayoutTests/fast/text/float-and-out-of-flow-and-br-with-clear-expected.html
    A LayoutTests/fast/text/float-and-out-of-flow-and-br-with-clear.html
    M Source/WebCore/layout/formattingContexts/inline/InlineLineBuilder.cpp
    M Source/WebCore/layout/formattingContexts/inline/InlineLineBuilder.h
    M Source/WebCore/layout/formattingContexts/inline/TextOnlySimpleLineBuilder.cpp

  Log Message:
  -----------
  REGRESSION (267617 at main): Bad layout on kk.org
https://bugs.webkit.org/show_bug.cgi?id=267940
<rdar://121444267>

Reviewed by Simon Fraser.

Now that we append out-of-flow boxes to Line, checking if m_line.runs() is empty does not always produce the correct answer for the question of "is this the last line with inline content".

We end up finding subsequent lines with isLastLineWithInlineContent true which confuses the clear gap logic that we use to offset cleared floats _after_ the last line (the distance between the last line with inline content and the bottom of the cleared float(s)).

* LayoutTests/fast/text/float-and-out-of-flow-and-br-with-clear-expected.html: Added.
* LayoutTests/fast/text/float-and-out-of-flow-and-br-with-clear.html: Added.
* Source/WebCore/layout/integration/inline/LayoutIntegrationLineLayout.cpp:
(WebCore::LayoutIntegration::LineLayout::contentBoxLogicalHeight const):

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




More information about the webkit-changes mailing list