Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: fd501bda408cb934e51bf96775d26a1d78e5b3fb
https://github.com/WebKit/WebKit/commit/fd501bda408cb934e51bf96775d26a1d78e5b3fb
Author: Alan Baradlay <[email protected]>
Date: 2023-09-09 (Sat, 09 Sep 2023)
Changed paths:
A LayoutTests/fast/text/simple-text-append-with-br-expected.html
A LayoutTests/fast/text/simple-text-append-with-br.html
M
Source/WebCore/layout/formattingContexts/inline/invalidation/InlineDamage.h
M
Source/WebCore/layout/formattingContexts/inline/invalidation/InlineInvalidation.cpp
M
Source/WebCore/layout/formattingContexts/inline/invalidation/InlineInvalidation.h
M Source/WebCore/layout/integration/LayoutIntegrationCoverage.cpp
M Source/WebCore/layout/integration/inline/LayoutIntegrationLineLayout.h
Log Message:
-----------
[IFC][Invalidation] Enable multiple, append type of damages
https://bugs.webkit.org/show_bug.cgi?id=261346
Reviewed by Antti Koivisto.
Introduce "damage reason" so that invalidation code can check if multiple
mutations should
or should not trigger full invalidation (by looking at existing damage types on
the current content).
(Currently (and it's a FIXME item) in case of such mutations, we keep
re-visiting
the existing display content to dirty the last line, which is certainly not
optimal but it's not expensive either)
* LayoutTests/fast/text/simple-text-append-with-br-expected.html: Added.
* LayoutTests/fast/text/simple-text-append-with-br.html: Added.
* Source/WebCore/layout/formattingContexts/inline/display/InlineDisplayLine.h:
(WebCore::InlineDisplay::Line::lastBoxIndex const):
* Source/WebCore/layout/formattingContexts/inline/invalidation/InlineDamage.h:
(WebCore::Layout::InlineDamage::reason const):
(WebCore::Layout::InlineDamage::setDamageReason):
(WebCore::Layout::InlineDamage::reset):
*
Source/WebCore/layout/formattingContexts/inline/invalidation/InlineInvalidation.cpp:
(WebCore::Layout::InlineInvalidation::updateInlineDamage):
(WebCore::Layout::InlineInvalidation::applyFullDamageIfNeeded):
(WebCore::Layout::InlineInvalidation::textInserted):
(WebCore::Layout::InlineInvalidation::textWillBeRemoved):
(WebCore::Layout::InlineInvalidation::inlineLevelBoxInserted):
(WebCore::Layout::InlineInvalidation::inlineLevelBoxWillBeRemoved):
*
Source/WebCore/layout/formattingContexts/inline/invalidation/InlineInvalidation.h:
* Source/WebCore/layout/integration/LayoutIntegrationCoverage.cpp:
(WebCore::LayoutIntegration::shouldInvalidateLineLayoutPathAfterChangeFor):
* Source/WebCore/layout/integration/inline/LayoutIntegrationLineLayout.h:
(WebCore::LayoutIntegration::LineLayout::damageReason const):
Canonical link: https://commits.webkit.org/267829@main
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes