[webkit-changes] [WebKit/WebKit] 1f17ad: [IFC][Cleanup] Turn InlineFormattingState into Inl...

Alan Baradlay noreply at github.com
Mon Oct 2 06:26:31 PDT 2023


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 1f17ad1c37a7b98f0bb9f78ed422003cc65c1cf4
      https://github.com/WebKit/WebKit/commit/1f17ad1c37a7b98f0bb9f78ed422003cc65c1cf4
  Author: Alan Baradlay <zalan at apple.com>
  Date:   2023-10-02 (Mon, 02 Oct 2023)

  Changed paths:
    M Source/WebCore/Sources.txt
    M Source/WebCore/WebCore.xcodeproj/project.pbxproj
    M Source/WebCore/layout/FormattingState.cpp
    M Source/WebCore/layout/FormattingState.h
    M Source/WebCore/layout/LayoutState.cpp
    M Source/WebCore/layout/LayoutState.h
    M Source/WebCore/layout/formattingContexts/block/BlockMarginCollapse.cpp
    M Source/WebCore/layout/formattingContexts/flex/FlexLayout.cpp
    A Source/WebCore/layout/formattingContexts/inline/InlineContentCache.h
    M Source/WebCore/layout/formattingContexts/inline/InlineFormattingContext.cpp
    M Source/WebCore/layout/formattingContexts/inline/InlineFormattingContext.h
    R Source/WebCore/layout/formattingContexts/inline/InlineFormattingState.cpp
    R Source/WebCore/layout/formattingContexts/inline/InlineFormattingState.h
    M Source/WebCore/layout/formattingContexts/inline/InlineItemsBuilder.cpp
    M Source/WebCore/layout/formattingContexts/inline/InlineItemsBuilder.h
    M Source/WebCore/layout/formattingContexts/inline/IntrinsicWidthHandler.h
    M Source/WebCore/layout/formattingContexts/inline/TextOnlySimpleLineBuilder.cpp
    M Source/WebCore/layout/formattingContexts/inline/TextOnlySimpleLineBuilder.h
    M Source/WebCore/layout/integration/inline/LayoutIntegrationLineLayout.cpp
    M Source/WebCore/layout/integration/inline/LayoutIntegrationLineLayout.h

  Log Message:
  -----------
  [IFC][Cleanup] Turn InlineFormattingState into InlineContentCache
https://bugs.webkit.org/show_bug.cgi?id=262441

Reviewed by Antti Koivisto.

1. InlineContentCache is used to cache content between subsequent layout frames.
2. It is not a type of FormattingState anymore (other FormattingState types will be dealt with separately)
(Individual caches are stored in the global layout state <- rename is coming up.)

* Source/WebCore/Sources.txt:
* Source/WebCore/WebCore.xcodeproj/project.pbxproj:
* Source/WebCore/layout/FormattingState.cpp:
(WebCore::Layout::FormattingState::boxGeometry):
* Source/WebCore/layout/FormattingState.h:
(WebCore::Layout::FormattingState::isBlockFormattingState const):
(WebCore::Layout::FormattingState::isInlineFormattingState const): Deleted.
* Source/WebCore/layout/LayoutState.cpp:
(WebCore::Layout::LayoutState::hasFormattingState const):
(WebCore::Layout::LayoutState::formattingStateForFormattingContext const):
(WebCore::Layout::LayoutState::inlineLayoutCache):
(WebCore::Layout::LayoutState::destroyInlineLayoutCache):
(WebCore::Layout::LayoutState::formattingStateForInlineFormattingContext const): Deleted.
(WebCore::Layout::LayoutState::ensureInlineFormattingState): Deleted.
(WebCore::Layout::LayoutState::destroyInlineFormattingState): Deleted.
* Source/WebCore/layout/LayoutState.h:
(WebCore::Layout::LayoutState::hasInlineFormattingState const): Deleted.
* Source/WebCore/layout/formattingContexts/block/BlockMarginCollapse.cpp:
(WebCore::Layout::BlockMarginCollapse::marginsCollapseThrough const):
* Source/WebCore/layout/formattingContexts/flex/FlexLayout.cpp:
(WebCore::Layout::FlexLayout::maxContentForFlexItem):
(WebCore::Layout::FlexLayout::hypotheticalCrossSizeForFlexItems):
* Source/WebCore/layout/formattingContexts/inline/InlineFormattingContext.cpp:
(WebCore::Layout::InlineFormattingContext::InlineFormattingContext):
(WebCore::Layout::InlineFormattingContext::layout):
(WebCore::Layout::InlineFormattingContext::computedIntrinsicSizes):
(WebCore::Layout::InlineFormattingContext::maximumContentSize):
(WebCore::Layout::InlineFormattingContext::layoutFloatContentOnly):
(WebCore::Layout::InlineFormattingContext::resetGeometryForClampedContent):
(WebCore::Layout::InlineFormattingContext::createDisplayContentForLineFromCachedContent):
(WebCore::Layout::InlineFormattingContext::formattingState): Deleted.
* Source/WebCore/layout/formattingContexts/inline/InlineFormattingContext.h:
* Source/WebCore/layout/formattingContexts/inline/InlineFormattingState.cpp: Removed.
* Source/WebCore/layout/formattingContexts/inline/InlineItemsBuilder.cpp:
(WebCore::Layout::InlineItemsBuilder::InlineItemsBuilder):
(WebCore::Layout::InlineItemsBuilder::build):
(WebCore::Layout::InlineItemsBuilder::initializeLayoutQueue):
(WebCore::Layout::InlineItemsBuilder::collectInlineItems):
* Source/WebCore/layout/formattingContexts/inline/InlineItemsBuilder.h:
(WebCore::Layout::InlineItemsBuilder::inlineLayoutCache):
(WebCore::Layout::InlineItemsBuilder::inlineFormattingState): Deleted.
* Source/WebCore/layout/formattingContexts/inline/InlineLayoutCache.h: Renamed from Source/WebCore/layout/formattingContexts/inline/InlineFormattingState.h.
(WebCore::Layout::InlineLayoutCache::inlineItems):
(WebCore::Layout::InlineLayoutCache::inlineItems const):
(WebCore::Layout::InlineLayoutCache::setInlineItems):
(WebCore::Layout::InlineLayoutCache::appendInlineItems):
(WebCore::Layout::InlineLayoutCache::setContentRequiresVisualReordering):
(WebCore::Layout::InlineLayoutCache::contentRequiresVisualReordering const):
(WebCore::Layout::InlineLayoutCache::setIsNonBidiTextAndForcedLineBreakOnlyContent):
(WebCore::Layout::InlineLayoutCache::isNonBidiTextAndForcedLineBreakOnlyContent const):
(WebCore::Layout::InlineLayoutCache::clearInlineItems):
(WebCore::Layout::InlineLayoutCache::shrinkToFit):
(WebCore::Layout::InlineLayoutCache::setMaximumIntrinsicWidthLayoutResult):
(WebCore::Layout::InlineLayoutCache::clearMaximumIntrinsicWidthLayoutResult):
(WebCore::Layout::InlineLayoutCache::maximumIntrinsicWidthLayoutResult):
(WebCore::Layout::InlineLayoutCache::setIntrinsicWidthConstraints):
(WebCore::Layout::InlineLayoutCache::resetIntrinsicWidthConstraints):
(WebCore::Layout::InlineLayoutCache::intrinsicWidthConstraints const):
* Source/WebCore/layout/formattingContexts/inline/IntrinsicWidthHandler.h:
* Source/WebCore/layout/formattingContexts/inline/TextOnlySimpleLineBuilder.cpp:
(WebCore::Layout::TextOnlySimpleLineBuilder::isEligibleForSimplifiedTextOnlyInlineLayout):
* Source/WebCore/layout/formattingContexts/inline/TextOnlySimpleLineBuilder.h:
* Source/WebCore/layout/integration/inline/LayoutIntegrationLineLayout.cpp:
(WebCore::LayoutIntegration::LineLayout::LineLayout):
(WebCore::LayoutIntegration::LineLayout::~LineLayout):
(WebCore::LayoutIntegration::LineLayout::updateStyle):
(WebCore::LayoutIntegration::LineLayout::computeIntrinsicWidthConstraints):
(WebCore::LayoutIntegration::LineLayout::layout):
(WebCore::LayoutIntegration::LineLayout::constructContent):
(WebCore::LayoutIntegration::LineLayout::insertedIntoTree):
(WebCore::LayoutIntegration::LineLayout::removedFromTree):
(WebCore::LayoutIntegration::LineLayout::updateTextContent):
(WebCore::LayoutIntegration::LineLayout::releaseCaches):
(WebCore::LayoutIntegration::LineLayout::contentNeedsVisualReordering const):
* Source/WebCore/layout/integration/inline/LayoutIntegrationLineLayout.h:

Canonical link: https://commits.webkit.org/268724@main




More information about the webkit-changes mailing list