Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 71a0ded8866160e4f9ae799050094fc4d1856aa9
      
https://github.com/WebKit/WebKit/commit/71a0ded8866160e4f9ae799050094fc4d1856aa9
  Author: Alan Baradlay <[email protected]>
  Date:   2023-10-05 (Thu, 05 Oct 2023)

  Changed paths:
    M Source/WebCore/layout/formattingContexts/FormattingContext.cpp
    M Source/WebCore/layout/formattingContexts/FormattingContext.h
    M Source/WebCore/layout/formattingContexts/inline/InlineContentBalancer.cpp
    M 
Source/WebCore/layout/formattingContexts/inline/InlineFormattingContext.cpp
    M Source/WebCore/layout/formattingContexts/inline/InlineFormattingContext.h
    M Source/WebCore/layout/formattingContexts/inline/InlineFormattingUtils.cpp
    M Source/WebCore/layout/formattingContexts/inline/InlineFormattingUtils.h
    M Source/WebCore/layout/formattingContexts/inline/InlineLineBoxBuilder.cpp
    M Source/WebCore/layout/formattingContexts/inline/InlineLineBoxBuilder.h
    M 
Source/WebCore/layout/formattingContexts/inline/InlineLineBoxVerticalAligner.cpp
    M 
Source/WebCore/layout/formattingContexts/inline/InlineLineBoxVerticalAligner.h
    M Source/WebCore/layout/formattingContexts/inline/InlineLineBuilder.cpp
    M Source/WebCore/layout/formattingContexts/inline/InlineLineBuilder.h
    M Source/WebCore/layout/formattingContexts/inline/InlineQuirks.cpp
    M 
Source/WebCore/layout/formattingContexts/inline/display/InlineDisplayContentBuilder.cpp
    M 
Source/WebCore/layout/formattingContexts/inline/display/InlineDisplayLineBuilder.cpp
    M Source/WebCore/layout/integration/inline/LayoutIntegrationLineLayout.cpp

  Log Message:
  -----------
  Detach InlineFormattingContext from FormattingContext base class
https://bugs.webkit.org/show_bug.cgi?id=262588

Reviewed by Antti Koivisto.

Different formatting contexts don't have much shared logic after all.
With this change, IFC is completely decoupled (context, geometry, quirk) from 
the rest of the LFC codebase.

* Source/WebCore/layout/formattingContexts/FormattingContext.cpp:
(WebCore::Layout::FormattingContext::geometryForBox const):
* Source/WebCore/layout/formattingContexts/FormattingContext.h:
(WebCore::Layout::FormattingContext::isBlockFormattingContext const):
(WebCore::Layout::FormattingContext::isInlineFormattingContext const): Deleted.
* Source/WebCore/layout/formattingContexts/inline/InlineContentBalancer.cpp:
(WebCore::Layout::InlineContentBalancer::initialize):
* Source/WebCore/layout/formattingContexts/inline/InlineFormattingContext.cpp:
(WebCore::Layout::InlineFormattingContext::InlineFormattingContext):
(WebCore::Layout::InlineFormattingContext::layout):
(WebCore::Layout::InlineFormattingContext::lineLayout):
(WebCore::Layout::InlineFormattingContext::layoutFloatContentOnly):
(WebCore::Layout::InlineFormattingContext::updateInlineLayoutStateWithLineLayoutResult):
(WebCore::Layout::InlineFormattingContext::createDisplayContentForInlineContent):
(WebCore::Layout::InlineFormattingContext::createDisplayContentForLineFromCachedContent):
(WebCore::Layout::InlineFormattingContext::initializeInlineLayoutState):
(WebCore::Layout::isOkToAccessBoxGeometry):
(WebCore::Layout::InlineFormattingContext::geometryForBox const):
(WebCore::Layout::InlineFormattingContext::geometryForBox):
(WebCore::Layout::InlineFormattingContext::initializeLayoutState): Deleted.
* Source/WebCore/layout/formattingContexts/inline/InlineFormattingContext.h:
(WebCore::Layout::InlineFormattingContext::root const):
(WebCore::Layout::InlineFormattingContext::layoutState):
(WebCore::Layout::InlineFormattingContext::layoutState const):
(WebCore::Layout::InlineFormattingContext::inlineLayoutState): Deleted.
(WebCore::Layout::InlineFormattingContext::inlineLayoutState const): Deleted.
* Source/WebCore/layout/formattingContexts/inline/InlineFormattingUtils.cpp:
(WebCore::Layout::InlineFormattingUtils::inlineLevelBoxAffectsLineBox const):
(WebCore::Layout::InlineFormattingUtils::initialLineHeight const):
(WebCore::Layout::InlineFormattingUtils::layoutState const):
(WebCore::Layout::InlineFormattingUtils::inlineLayoutState const): Deleted.
* Source/WebCore/layout/formattingContexts/inline/InlineFormattingUtils.h:
* Source/WebCore/layout/formattingContexts/inline/InlineLineBoxBuilder.cpp:
(WebCore::Layout::LineBoxBuilder::setVerticalPropertiesForInlineLevelBox const):
(WebCore::Layout::LineBoxBuilder::constructInlineLevelBoxes):
(WebCore::Layout::LineBoxBuilder::adjustOutsideListMarkersPosition):
* Source/WebCore/layout/formattingContexts/inline/InlineLineBoxBuilder.h:
(WebCore::Layout::LineBoxBuilder::layoutState const):
(WebCore::Layout::LineBoxBuilder::blockLayoutState const):
(WebCore::Layout::LineBoxBuilder::inlineLayoutState const): Deleted.
* 
Source/WebCore/layout/formattingContexts/inline/InlineLineBoxVerticalAligner.cpp:
(WebCore::Layout::LineBoxVerticalAligner::computeLogicalHeightAndAlign const):
* 
Source/WebCore/layout/formattingContexts/inline/InlineLineBoxVerticalAligner.h:
(WebCore::Layout::LineBoxVerticalAligner::layoutState const):
(WebCore::Layout::LineBoxVerticalAligner::inlineLayoutState const): Deleted.
* Source/WebCore/layout/formattingContexts/inline/InlineLineBuilder.cpp:
(WebCore::Layout::LineBuilder::initialize):
(WebCore::Layout::LineBuilder::tryPlacingFloatBox):
(WebCore::Layout::LineBuilder::handleInlineContent):
(WebCore::Layout::LineBuilder::layoutState const):
(WebCore::Layout::LineBuilder::layoutState):
(WebCore::Layout::LineBuilder::inlineLayoutState const): Deleted.
(WebCore::Layout::LineBuilder::inlineLayoutState): Deleted.
* Source/WebCore/layout/formattingContexts/inline/InlineLineBuilder.h:
(WebCore::Layout::LineBuilder::blockLayoutState const):
* Source/WebCore/layout/formattingContexts/inline/InlineQuirks.cpp:
(WebCore::Layout::InlineQuirks::initialLineHeight const):
(WebCore::Layout::InlineQuirks::inlineBoxAffectsLineBox const):
(WebCore::Layout::InlineQuirks::adjustedRectForLineGridLineAlign const):
* 
Source/WebCore/layout/formattingContexts/inline/display/InlineDisplayContentBuilder.cpp:
(WebCore::Layout::InlineDisplayContentBuilder::InlineDisplayContentBuilder):
* 
Source/WebCore/layout/formattingContexts/inline/display/InlineDisplayLineBuilder.cpp:
(WebCore::Layout::InlineDisplayLineBuilder::collectEnclosingLineGeometry const):
* Source/WebCore/layout/integration/inline/LayoutIntegrationLineLayout.cpp:
(WebCore::LayoutIntegration::LineLayout::layout):

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


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

Reply via email to