Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 65d8fc47b72417a2c3a248e3fab8c4cfc887d265 https://github.com/WebKit/WebKit/commit/65d8fc47b72417a2c3a248e3fab8c4cfc887d265 Author: Alan Baradlay <za...@apple.com> Date: 2024-04-22 (Mon, 22 Apr 2024)
Changed paths: M Source/WebCore/layout/formattingContexts/inline/InlineFormattingContext.cpp M Source/WebCore/layout/formattingContexts/inline/InlineFormattingContext.h 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][Invalidation] Let's rebuild inline item list only once per partial layout https://bugs.webkit.org/show_bug.cgi?id=273027 Reviewed by Antti Koivisto. Let's introduce a dirty bit on inline item list so that when layout is preceded by min/max computation, we don't run a second, redundant build on it. * Source/WebCore/layout/formattingContexts/inline/InlineFormattingContext.cpp: (WebCore::Layout::InlineFormattingContext::layout): (WebCore::Layout::InlineFormattingContext::minimumMaximumContentSize): (WebCore::Layout::InlineFormattingContext::minimumContentSize): (WebCore::Layout::InlineFormattingContext::maximumContentSize): (WebCore::Layout::InlineFormattingContext::rebuildInlineItemListIfNeeded): * Source/WebCore/layout/formattingContexts/inline/InlineFormattingContext.h: * Source/WebCore/layout/formattingContexts/inline/invalidation/InlineDamage.h: (WebCore::Layout::InlineDamage::isInlineItemListDirty const): (WebCore::Layout::InlineDamage::setInlineItemListClean): (WebCore::Layout::InlineDamage::setInlineItemListDirty): * Source/WebCore/layout/formattingContexts/inline/invalidation/InlineInvalidation.cpp: (WebCore::Layout::InlineInvalidation::rootStyleWillChange): (WebCore::Layout::InlineInvalidation::styleWillChange): (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/inline/LayoutIntegrationLineLayout.cpp: (WebCore::LayoutIntegration::LineLayout::layout): Canonical link: https://commits.webkit.org/277820@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