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