[webkit-changes] [WebKit/WebKit] 7c0ba3: [LFC][IFC] Enable non-replaced out-of-flow positio...

Alan Baradlay noreply at github.com
Sat Oct 15 18:48:35 PDT 2022


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 7c0ba36865de3448ad635ebcc0408c5e0ac08838
      https://github.com/WebKit/WebKit/commit/7c0ba36865de3448ad635ebcc0408c5e0ac08838
  Author: Alan Bujtas <zalan at apple.com>
  Date:   2022-10-15 (Sat, 15 Oct 2022)

  Changed paths:
    M LayoutTests/TestExpectations
    M LayoutTests/compositing/iframes/page-cache-layer-tree-expected.txt
    M LayoutTests/platform/ios-wk2/compositing/iframes/page-cache-layer-tree-expected.txt
    M LayoutTests/platform/ios/fast/multicol/client-rects-expected.txt
    M LayoutTests/platform/ios/fast/multicol/client-rects-spanners-complex-expected.txt
    M LayoutTests/platform/ios/fast/multicol/client-rects-spanners-expected.txt
    M LayoutTests/platform/ios/fast/multicol/newmulticol/client-rects-expected.txt
    M LayoutTests/platform/mac/fast/multicol/client-rects-expected.txt
    M LayoutTests/platform/mac/fast/multicol/client-rects-spanners-complex-expected.txt
    M LayoutTests/platform/mac/fast/multicol/client-rects-spanners-expected.txt
    M LayoutTests/platform/mac/fast/multicol/newmulticol/client-rects-expected.txt
    M Source/WebCore/layout/formattingContexts/inline/InlineFormattingContext.cpp
    M Source/WebCore/layout/formattingContexts/inline/InlineFormattingContext.h
    M Source/WebCore/layout/formattingContexts/inline/InlineFormattingGeometry.cpp
    M Source/WebCore/layout/formattingContexts/inline/InlineFormattingGeometry.h
    M Source/WebCore/layout/integration/LayoutIntegrationCoverage.cpp

  Log Message:
  -----------
  [LFC][IFC] Enable non-replaced out-of-flow positioned content for IFC
https://bugs.webkit.org/show_bug.cgi?id=245766

Reviewed by Antti Koivisto.

This patch enables horizontal/ltr out-of-flow content for IFC.

* Source/WebCore/layout/formattingContexts/inline/InlineFormattingGeometry.cpp:
Fix cases where previous inflow box's (of which the out-of-flow box is based off) content is collapsed and does not generate any display box. In such cases we go and use the previous box's previous sibling (and so on).

* LayoutTests/TestExpectations:
* LayoutTests/compositing/iframes/page-cache-layer-tree-expected.txt:
* LayoutTests/platform/mac/fast/multicol/client-rects-expected.txt:
* LayoutTests/platform/mac/fast/multicol/client-rects-spanners-complex-expected.txt:
* LayoutTests/platform/mac/fast/multicol/client-rects-spanners-expected.txt:
* LayoutTests/platform/mac/fast/multicol/newmulticol/client-rects-expected.txt:
* Source/WebCore/layout/formattingContexts/inline/InlineFormattingContext.cpp:
(WebCore::Layout::InlineFormattingContext::layoutInFlowContent):
(WebCore::Layout::InlineFormattingContext::layoutInFlowContentForIntegration):
(WebCore::Layout::InlineFormattingContext::computeStaticPositionForOutOfFlowContent):
* Source/WebCore/layout/formattingContexts/inline/InlineFormattingContext.h:
* Source/WebCore/layout/formattingContexts/inline/InlineFormattingGeometry.cpp:
(WebCore::Layout::firstDisplayBoxIndexForLayoutBox):
(WebCore::Layout::lastDisplayBoxIndexForLayoutBox):
(WebCore::Layout::previousDisplayBoxIndex):
(WebCore::Layout::nextDisplayBoxIndex):
(WebCore::Layout::InlineFormattingGeometry::staticPositionForOutOfFlowInlineLevelBox const):
(WebCore::Layout::InlineFormattingGeometry::staticPositionForOutOfFlowBlockLevelBox const):
(): Deleted.
* Source/WebCore/layout/formattingContexts/inline/InlineFormattingGeometry.h:
* Source/WebCore/layout/integration/LayoutIntegrationCoverage.cpp:
(WebCore::LayoutIntegration::canUseForChild):

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




More information about the webkit-changes mailing list