[webkit-changes] [WebKit/WebKit] df7677: [IFC][Partial layout] Compute damage extent when a...
Alan Baradlay
noreply at github.com
Thu Feb 16 17:15:07 PST 2023
Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: df7677f059938948853b73b340deeca6c8bff466
https://github.com/WebKit/WebKit/commit/df7677f059938948853b73b340deeca6c8bff466
Author: Alan Baradlay <zalan at apple.com>
Date: 2023-02-16 (Thu, 16 Feb 2023)
Changed paths:
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/inline/LayoutIntegrationLineLayout.cpp
Log Message:
-----------
[IFC][Partial layout] Compute damage extent when appending text content
https://bugs.webkit.org/show_bug.cgi?id=252279
Reviewed by Antti Koivisto.
Whenever some new inline content gets appended, we need to invalidate the last
line (even when the line may not be able to fit more content since the "last line"
could have special properties -mostly in the context of alignment and also it's hard to figure
out if a particular line is "full" without running layout).
Invalidation here simply means we compute the start point of the damage (InlineItemPosition -> [index, offset])
which is input to the subsequent layout.
* Source/WebCore/layout/formattingContexts/inline/invalidation/InlineDamage.h:
(WebCore::Layout::InlineDamage::contentPosition const):
(WebCore::Layout::InlineDamage::setDamagedPosition):
(WebCore::Layout::InlineDamage::line const): Deleted.
(WebCore::Layout::InlineDamage::setDamagedLine): Deleted.
* Source/WebCore/layout/formattingContexts/inline/invalidation/InlineInvalidation.cpp:
(WebCore::Layout::InlineInvalidation::InlineInvalidation):
(WebCore::Layout::InlineInvalidation::textInserted):
* Source/WebCore/layout/formattingContexts/inline/invalidation/InlineInvalidation.h:
* Source/WebCore/layout/integration/inline/LayoutIntegrationLineLayout.cpp:
(WebCore::LayoutIntegration::LineLayout::updateStyle):
(WebCore::LayoutIntegration::LineLayout::insertedIntoTree):
Canonical link: https://commits.webkit.org/260407@main
More information about the webkit-changes
mailing list