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