Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 75cd68b636ed80eaf97703cc4cb798c518347995
      
https://github.com/WebKit/WebKit/commit/75cd68b636ed80eaf97703cc4cb798c518347995
  Author: Alan Baradlay <[email protected]>
  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


_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to