[webkit-changes] [WebKit/WebKit] fa21df: [LFC][Floats] FloatingContext does not need to kno...

Alan Baradlay noreply at github.com
Thu Oct 5 04:59:04 PDT 2023


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

  Changed paths:
    M Source/WebCore/layout/floats/FloatingContext.cpp
    M Source/WebCore/layout/floats/FloatingContext.h
    M Source/WebCore/layout/formattingContexts/FormattingGeometry.cpp
    M Source/WebCore/layout/formattingContexts/block/BlockFormattingContext.cpp
    M Source/WebCore/layout/formattingContexts/inline/InlineFormattingContext.cpp
    M Source/WebCore/layout/formattingContexts/inline/InlineFormattingContext.h
    M Source/WebCore/layout/formattingContexts/inline/InlineLineBoxBuilder.cpp
    M Source/WebCore/layout/formattingContexts/inline/InlineLineBuilder.cpp
    M Source/WebCore/layout/formattingContexts/inline/InlineLineBuilder.h

  Log Message:
  -----------
  [LFC][Floats] FloatingContext does not need to know about the initiating FormattingContext
https://bugs.webkit.org/show_bug.cgi?id=262580

Reviewed by Antti Koivisto.

FloatingContext needs to know what the initiating root is (as the PlacedFloats may have a different root) and have access to containing block (box) geometry.
(This is also in preparation for detaching InlineFormattingContext from the base FormattingContext class).

* Source/WebCore/layout/floats/FloatingContext.cpp:
(WebCore::Layout::FloatingContext::FloatingContext):
(WebCore::Layout::FloatingContext::verticalPositionWithClearance const):
(WebCore::Layout::FloatingContext::constraints const):
(WebCore::Layout::FloatingContext::absoluteCoordinates const):
(WebCore::Layout::FloatingContext::mapTopLeftToPlacedFloatsRoot const):
(WebCore::Layout::FloatingContext::mapPointFromFormattingContextRootToPlacedFloatsRoot const):
* Source/WebCore/layout/floats/FloatingContext.h:
(WebCore::Layout::FloatingContext::root const):
(WebCore::Layout::FloatingContext::containingBlockGeometries const):
(WebCore::Layout::FloatingContext::formattingContext const): Deleted.
* Source/WebCore/layout/formattingContexts/FormattingGeometry.cpp:
(WebCore::Layout::FormattingGeometry::complicatedCases const):
* Source/WebCore/layout/formattingContexts/block/BlockFormattingContext.cpp:
(WebCore::Layout::BlockFormattingContext::layoutInFlowContent):
(WebCore::Layout::BlockFormattingContext::usedContentHeight const):
* Source/WebCore/layout/formattingContexts/inline/InlineFormattingContext.cpp:
(WebCore::Layout::InlineFormattingContext::InlineFormattingContext):
(WebCore::Layout::InlineFormattingContext::lineLayout):
(WebCore::Layout::InlineFormattingContext::layoutFloatContentOnly):
* Source/WebCore/layout/formattingContexts/inline/InlineFormattingContext.h:
(WebCore::Layout::InlineFormattingContext::floatingContext const):
* Source/WebCore/layout/formattingContexts/inline/InlineLineBoxBuilder.cpp:
(WebCore::Layout::LineBoxBuilder::adjustOutsideListMarkersPosition):
* Source/WebCore/layout/formattingContexts/inline/InlineLineBuilder.cpp:
(WebCore::Layout::LineBuilder::LineBuilder):
* Source/WebCore/layout/formattingContexts/inline/InlineLineBuilder.h:

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




More information about the webkit-changes mailing list