[webkit-changes] [WebKit/WebKit] 75cd68: [IFC] Move non-persistent data from InlineFormatti...

Alan Baradlay noreply at github.com
Sat Apr 29 07:16:22 PDT 2023


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 75cd68b636ed80eaf97703cc4cb798c518347995
      https://github.com/WebKit/WebKit/commit/75cd68b636ed80eaf97703cc4cb798c518347995
  Author: Alan Baradlay <zalan at apple.com>
  Date:   2023-04-29 (Sat, 29 Apr 2023)

  Changed paths:
    M Source/WebCore/WebCore.xcodeproj/project.pbxproj
    M Source/WebCore/layout/formattingContexts/inline/InlineFormattingContext.cpp
    M Source/WebCore/layout/formattingContexts/inline/InlineFormattingContext.h
    M Source/WebCore/layout/formattingContexts/inline/InlineFormattingState.h
    A Source/WebCore/layout/formattingContexts/inline/InlineLayoutState.h
    M Source/WebCore/layout/formattingContexts/inline/InlineLineBoxBuilder.cpp
    M Source/WebCore/layout/formattingContexts/inline/InlineLineBoxBuilder.h
    M Source/WebCore/layout/formattingContexts/inline/InlineLineBuilder.cpp
    M Source/WebCore/layout/formattingContexts/inline/InlineLineBuilder.h
    M Source/WebCore/layout/integration/inline/LayoutIntegrationLineLayout.cpp
    M Source/WebCore/layout/integration/inline/LayoutIntegrationLineLayout.h

  Log Message:
  -----------
  [IFC] Move non-persistent data from InlineFormattingState to InlineLayoutState
https://bugs.webkit.org/show_bug.cgi?id=256100

Reviewed by Antti Koivisto.

InlineLayoutState (very similar to BlockLayoutState) holds the state of the current inline layout (including the parent block formatting state).
InlineFormattingState holds content that we need to cache across subsequent inline layout frames (and now we have a chance of finding a better name for this class).

This patch moves non-persistent content from InlineFormattingState to InlineLayoutState.

* Source/WebCore/WebCore.xcodeproj/project.pbxproj:
* Source/WebCore/layout/formattingContexts/inline/InlineFormattingContext.cpp:
(WebCore::Layout::InlineFormattingContext::layoutInFlowContent):
(WebCore::Layout::InlineFormattingContext::layoutInFlowAndFloatContentForIntegration):
(WebCore::Layout::InlineFormattingContext::layoutOutOfFlowContentForIntegration):
(WebCore::Layout::InlineFormattingContext::lineLayout):
(WebCore::Layout::InlineFormattingContext::layoutFloatContentOnly):
(WebCore::Layout::InlineFormattingContext::createDisplayContentForLine):
* Source/WebCore/layout/formattingContexts/inline/InlineFormattingContext.h:
* Source/WebCore/layout/formattingContexts/inline/InlineFormattingState.h:
(WebCore::Layout::InlineFormattingState::shrinkToFit):
(WebCore::Layout::InlineFormattingState::clearGapAfterLastLine const): Deleted.
(WebCore::Layout::InlineFormattingState::setClearGapBeforeFirstLine): Deleted.
(WebCore::Layout::InlineFormattingState::clearGapBeforeFirstLine const): Deleted.
(WebCore::Layout::InlineFormattingState::addNestedListMarkerOffset): Deleted.
(WebCore::Layout::InlineFormattingState::nestedListMarkerOffset const): Deleted.
(WebCore::Layout::InlineFormattingState::resetNestedListMarkerOffsets): Deleted.
(): Deleted.
(WebCore::Layout::InlineFormattingState::setClearGapAfterLastLine): Deleted.
* Source/WebCore/layout/formattingContexts/inline/InlineLayoutState.h: Copied from Source/WebCore/layout/formattingContexts/inline/InlineFormattingState.h.
(WebCore::Layout::InlineLayoutState::clearGapAfterLastLine const):
(WebCore::Layout::InlineLayoutState::setClearGapBeforeFirstLine):
(WebCore::Layout::InlineLayoutState::clearGapBeforeFirstLine const):
(WebCore::Layout::InlineLayoutState::parentBlockLayoutState const):
(WebCore::Layout::InlineLayoutState::parentBlockLayoutState):
(WebCore::Layout::InlineLayoutState::nestedListMarkerOffset const):
(WebCore::Layout::InlineLayoutState::InlineLayoutState):
(WebCore::Layout::InlineLayoutState::setClearGapAfterLastLine):
* Source/WebCore/layout/formattingContexts/inline/InlineLineBoxBuilder.cpp:
(WebCore::Layout::LineBoxBuilder::LineBoxBuilder):
(WebCore::Layout::LineBoxBuilder::adjustOutsideListMarkersPosition):
* Source/WebCore/layout/formattingContexts/inline/InlineLineBoxBuilder.h:
(WebCore::Layout::LineBoxBuilder::inlineLayoutState const):
(WebCore::Layout::LineBoxBuilder::blockLayoutState const):
* Source/WebCore/layout/formattingContexts/inline/InlineLineBuilder.cpp:
(WebCore::Layout::LineBuilder::LineBuilder):
(WebCore::Layout::LineBuilder::adjustGeometryForInitialLetterIfNeeded):
* Source/WebCore/layout/formattingContexts/inline/InlineLineBuilder.h:
(WebCore::Layout::LineBuilder::inlineLayoutState const):
(WebCore::Layout::LineBuilder::blockLayoutState const):
(WebCore::Layout::LineBuilder::floatingState):
* Source/WebCore/layout/integration/inline/LayoutIntegrationLineLayout.cpp:
(WebCore::LayoutIntegration::LineLayout::updateListMarkerDimensions):
(WebCore::LayoutIntegration::LineLayout::layout):
(WebCore::LayoutIntegration::LineLayout::constructContent):
* Source/WebCore/layout/integration/inline/LayoutIntegrationLineLayout.h:

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




More information about the webkit-changes mailing list