[webkit-changes] [WebKit/WebKit] 4313af: Infinite recursion with pagination and widow breaks

Antti Koivisto noreply at github.com
Thu Apr 4 12:17:18 PDT 2024


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 4313af94d4942baf5a2e112fcc2c3f0f0c5bf8dc
      https://github.com/WebKit/WebKit/commit/4313af94d4942baf5a2e112fcc2c3f0f0c5bf8dc
  Author: Antti Koivisto <antti at apple.com>
  Date:   2024-04-04 (Thu, 04 Apr 2024)

  Changed paths:
    A LayoutTests/fast/multicol/multicol-restart-empty-lines-crash-expected.txt
    A LayoutTests/fast/multicol/multicol-restart-empty-lines-crash.html
    M Source/WebCore/layout/formattingContexts/inline/invalidation/InlineInvalidation.cpp
    M Source/WebCore/layout/formattingContexts/inline/invalidation/InlineInvalidation.h
    M Source/WebCore/layout/integration/inline/LayoutIntegrationLineLayout.cpp

  Log Message:
  -----------
  Infinite recursion with pagination and widow breaks
https://bugs.webkit.org/show_bug.cgi?id=272147
rdar://125579563

Reviewed by Alan Baradlay.

We are creating completely empty lines which confuses the restart logic.

* LayoutTests/fast/multicol/multicol-restart-empty-lines-crash-expected.txt: Added.
* LayoutTests/fast/multicol/multicol-restart-empty-lines-crash.html: Added.
* Source/WebCore/layout/formattingContexts/inline/invalidation/InlineInvalidation.cpp:
(WebCore::Layout::InlineInvalidation::restartForPagination):

If the restart position computes to the first inline item then we will not be making progress and
should not restart.

* Source/WebCore/layout/formattingContexts/inline/invalidation/InlineInvalidation.h:
* Source/WebCore/layout/integration/inline/LayoutIntegrationLineLayout.cpp:
(WebCore::LayoutIntegration::LineLayout::adjustContentForPagination):

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