[webkit-changes] [WebKit/WebKit] e3ae76: Stack overflow under WebCore::Layout::LineBuilder:...

Antti Koivisto noreply at github.com
Wed Oct 30 07:00:48 PDT 2024


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: e3ae76b007df0791fdd19ae326f713a1fdc021cf
      https://github.com/WebKit/WebKit/commit/e3ae76b007df0791fdd19ae326f713a1fdc021cf
  Author: Antti Koivisto <antti at apple.com>
  Date:   2024-10-30 (Wed, 30 Oct 2024)

  Changed paths:
    A LayoutTests/fast/inline/nested-inline-layout-stack-overflow-expected.txt
    A LayoutTests/fast/inline/nested-inline-layout-stack-overflow.html
    M Source/WebCore/layout/formattingContexts/inline/InlineFormattingContext.cpp
    M Source/WebCore/layout/formattingContexts/inline/InlineLineBuilder.cpp
    M Source/WebCore/layout/formattingContexts/inline/InlineLineBuilder.h

  Log Message:
  -----------
  Stack overflow under WebCore::Layout::LineBuilder::layoutInlineContent
https://bugs.webkit.org/show_bug.cgi?id=282325
rdar://138798974

Reviewed by Alan Baradlay.

We now do nested layouts from within line layout and may end up blowing through the stack.
Render tree depth is limited to 512 boxes so that is the depth we need to survive.

* LayoutTests/fast/inline/nested-inline-layout-stack-overflow-expected.txt: Added.
* LayoutTests/fast/inline/nested-inline-layout-stack-overflow.html: Renamed from LayoutTests/fast/inline/nested-inline-layout-crash.html.
* Source/WebCore/layout/formattingContexts/inline/InlineFormattingContext.cpp:
(WebCore::Layout::InlineFormattingContext::layout):
* Source/WebCore/layout/formattingContexts/inline/InlineLineBuilder.cpp:
(WebCore::Layout::LineBuilder::layoutInlineContent):
(WebCore::Layout::LineBuilder::placeInlineAndFloatContent):
* Source/WebCore/layout/formattingContexts/inline/InlineLineBuilder.h:

Reduce stack usage by moving some once-per-layout structs to heap.

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