Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 99a63dae8f1e4268dae97aead1c2c6051f97098a
      
https://github.com/WebKit/WebKit/commit/99a63dae8f1e4268dae97aead1c2c6051f97098a
  Author: Alan Baradlay <[email protected]>
  Date:   2025-03-11 (Tue, 11 Mar 2025)

  Changed paths:
    A LayoutTests/fast/inline/marquee-with-spanner-remove-crash-expected.txt
    A LayoutTests/fast/inline/marquee-with-spanner-remove-crash.html
    M Source/WebCore/layout/integration/inline/LayoutIntegrationLineLayout.cpp

  Log Message:
  -----------
  [IFC] Do not try to populate breaking position cache with invalid content
https://bugs.webkit.org/show_bug.cgi?id=289527

Reviewed by Antti Koivisto.

1. When the inline content is damaged (i.e. some renderers may have got 
destroyed already) we can't use the current (invalid) content to populate the 
breaking position cache.
2. isDamage() check only works when we actually have inline content.

This change addresses the cases when renders come and go without running layout 
(and thus not producing inline content) but we actually managed to create an 
LineLayout object for them.
This highly uncommon case is triggered by RenderMarquee::start() that forces us 
to run
preferred with computation -which while constructs a LineLayout object, does 
not create inline content.

* LayoutTests/fast/inline/marquee-with-spanner-remove-crash-expected.txt: Added.
* LayoutTests/fast/inline/marquee-with-spanner-remove-crash.html: Added.
* Source/WebCore/layout/formattingContexts/inline/InlineItemsBuilder.cpp:
(WebCore::Layout::InlineItemsBuilder::populateBreakingPositionCache):
* Source/WebCore/layout/integration/inline/LayoutIntegrationLineLayout.cpp:
(WebCore::LayoutIntegration::LineLayout::~LineLayout):

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