Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 44b5f74e5accebba03b5df063720d930f1db6276
https://github.com/WebKit/WebKit/commit/44b5f74e5accebba03b5df063720d930f1db6276
Author: Alan Baradlay <[email protected]>
Date: 2023-04-27 (Thu, 27 Apr 2023)
Changed paths:
A
LayoutTests/fast/inline/contenteditable-with-leading-whitespace-crash-expected.txt
A LayoutTests/fast/inline/contenteditable-with-leading-whitespace-crash.html
M Source/WebCore/layout/formattingContexts/inline/InlineItemsBuilder.cpp
M
Source/WebCore/layout/formattingContexts/inline/invalidation/InlineInvalidation.cpp
Log Message:
-----------
[IFC][Partial layout] Incorrect damage line index may cause double inline
items
https://bugs.webkit.org/show_bug.cgi?id=256020
<rdar://108558653>
Reviewed by Antti Koivisto.
When the damaged content is at the beginning of the line, we mark the previous
line as
the entry point for the subsequent partial layout. It is not only a correctness
requirement but also it provides a more
convenient starting point for line layout/InlineItemBuilder to process the
inline content.
Layout::damagedLineIndex failed to recognize a leading display box due to
collapsed whitespace content.
Through some further content mutation, it lead to duplicated inline items (hard
line breaks).
*
LayoutTests/fast/inline/contenteditable-with-leading-whitespace-crash-expected.txt:
Added.
* LayoutTests/fast/inline/contenteditable-with-leading-whitespace-crash.html:
Added.
* Source/WebCore/layout/formattingContexts/inline/InlineItemsBuilder.cpp:
(WebCore::Layout::InlineItemsBuilder::build):
*
Source/WebCore/layout/formattingContexts/inline/invalidation/InlineInvalidation.cpp:
(WebCore::Layout::damagedLineIndex):
Canonical link: https://commits.webkit.org/263455@main
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes