Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 44bc05527994e02f8c2600065eca3d7c50264e46 https://github.com/WebKit/WebKit/commit/44bc05527994e02f8c2600065eca3d7c50264e46 Author: Alan Baradlay <za...@apple.com> Date: 2023-08-11 (Fri, 11 Aug 2023)
Changed paths: M Source/WebCore/layout/formattingContexts/inline/AbstractLineBuilder.h M Source/WebCore/layout/formattingContexts/inline/InlineContentBreaker.cpp M Source/WebCore/layout/formattingContexts/inline/InlineContentBreaker.h M Source/WebCore/layout/formattingContexts/inline/InlineFormattingContext.cpp M Source/WebCore/layout/formattingContexts/inline/InlineFormattingContext.h M Source/WebCore/layout/formattingContexts/inline/InlineLineBuilder.cpp M Source/WebCore/layout/formattingContexts/inline/InlineLineBuilder.h M Source/WebCore/layout/formattingContexts/inline/TextOnlyLineBuilder.cpp M Source/WebCore/layout/formattingContexts/inline/TextOnlyLineBuilder.h Log Message: ----------- [IFC] Use fast line builder for min/max computation when applicable https://bugs.webkit.org/show_bug.cgi?id=259936 Reviewed by Antti Koivisto. This patch takes simplified inline builder into use when computing min/max intrinsic sizes. Small related changes: 1. InlineContentBreaker only needs to know whether we are in intrinsic mode or not. 2, No need to reconstruct InlineContentBreaker for each lines 3, No need to construct a new instance of InlineBuilder for min/max computation. * Source/WebCore/layout/formattingContexts/inline/AbstractLineBuilder.h: (WebCore::Layout::AbstractLineBuilder::setIntrinsicWidthMode): (WebCore::Layout::AbstractLineBuilder::intrinsicWidthMode const): (WebCore::Layout::AbstractLineBuilder::isInIntrinsicWidthMode const): * Source/WebCore/layout/formattingContexts/inline/InlineContentBreaker.cpp: (WebCore::Layout::InlineContentBreaker::InlineContentBreaker): Deleted. * Source/WebCore/layout/formattingContexts/inline/InlineContentBreaker.h: (WebCore::Layout::InlineContentBreaker::setHyphenationDisabled): (WebCore::Layout::InlineContentBreaker::setIsInIntrinsicWidthMode): (WebCore::Layout::InlineContentBreaker::isInIntrinsicWidthMode const): * Source/WebCore/layout/formattingContexts/inline/InlineFormattingContext.cpp: (WebCore::Layout::InlineFormattingContext::layoutInFlowAndFloatContent): (WebCore::Layout::InlineFormattingContext::computedIntrinsicWidthConstraints): (WebCore::Layout::InlineFormattingContext::maximumContentSize): (WebCore::Layout::InlineFormattingContext::computedIntrinsicWidthForConstraint const): * Source/WebCore/layout/formattingContexts/inline/InlineFormattingContext.h: * Source/WebCore/layout/formattingContexts/inline/InlineLineBuilder.cpp: (WebCore::Layout::LineBuilder::LineBuilder): (WebCore::Layout::LineBuilder::placeInlineAndFloatContent): (WebCore::Layout::LineBuilder::handleInlineContent): * Source/WebCore/layout/formattingContexts/inline/InlineLineBuilder.h: (WebCore::Layout::LineBuilder::intrinsicWidthMode const): Deleted. (WebCore::Layout::LineBuilder::isInIntrinsicWidthMode const): Deleted. * Source/WebCore/layout/formattingContexts/inline/TextOnlyLineBuilder.cpp: (WebCore::Layout::TextOnlyLineBuilder::TextOnlyLineBuilder): (WebCore::Layout::TextOnlyLineBuilder::placeInlineTextContent): (WebCore::Layout::TextOnlyLineBuilder::placeNonWrappingInlineTextContent): (WebCore::Layout::TextOnlyLineBuilder::handleInlineTextContent): (WebCore::Layout::TextOnlyLineBuilder::isEligibleForSimplifiedTextOnlyInlineLayout): * Source/WebCore/layout/formattingContexts/inline/TextOnlyLineBuilder.h: (WebCore::Layout::TextOnlyLineBuilder::isFirstFormattedLine const): (WebCore::Layout::TextOnlyLineBuilder::TextOnlyLineBuilder): Deleted. (WebCore::Layout::TextOnlyLineBuilder::intrinsicWidthMode const): Deleted. (WebCore::Layout::TextOnlyLineBuilder::isInIntrinsicWidthMode const): Deleted. Canonical link: https://commits.webkit.org/266833@main _______________________________________________ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes