Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: cc881281b01153513ba5f35ee185f14dc9f24168 https://github.com/WebKit/WebKit/commit/cc881281b01153513ba5f35ee185f14dc9f24168 Author: Alan Baradlay <za...@apple.com> Date: 2024-03-24 (Sun, 24 Mar 2024)
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 Log Message: ----------- [IFC][Cleanup] InlineDamage::type is redundant https://bugs.webkit.org/show_bug.cgi?id=271533 Reviewed by Antti Koivisto. 1. Content and/or style change always initiates InlineDamage (with a reason) 2. Partial layout happens when - there's an InlineDamage and - we manage to figure out a start layout position for all the damages (in many cases there's only one change) There may be cases with multiple changes when - we manage to find the layout position (partial layout candidate) for the first damage - but fail at a subsequent change In such cases we reset the "layout start position" indicating full layout, but we keep the reason. (in other words, decouple reason(s) the partial layout) This setups renders InlineDamage::Type::Invalid redundant. However we can't just destroy m_inlineDamage as we have to keep it around for "detached" content. * Source/WebCore/layout/formattingContexts/inline/invalidation/InlineDamage.h: (WebCore::Layout::InlineDamage::setDamageReason): (WebCore::Layout::InlineDamage::resetLayoutPosition): (WebCore::Layout::InlineDamage::type const): Deleted. (WebCore::Layout::InlineDamage::setDamageType): Deleted. (WebCore::Layout::InlineDamage::reset): Deleted. * Source/WebCore/layout/formattingContexts/inline/invalidation/InlineInvalidation.cpp: (WebCore::Layout::InlineInvalidation::updateInlineDamage): (WebCore::Layout::InlineInvalidation::setFullLayoutIfNeeded): (WebCore::Layout::InlineInvalidation::textInserted): (WebCore::Layout::InlineInvalidation::textWillBeRemoved): (WebCore::Layout::InlineInvalidation::inlineLevelBoxInserted): (WebCore::Layout::InlineInvalidation::inlineLevelBoxWillBeRemoved): (WebCore::Layout::InlineInvalidation::restartForPagination): (WebCore::Layout::InlineInvalidation::applyFullDamageIfNeeded): Deleted. * Source/WebCore/layout/formattingContexts/inline/invalidation/InlineInvalidation.h: Canonical link: https://commits.webkit.org/276617@main To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications _______________________________________________ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes