[webkit-changes] [WebKit/WebKit] d0f46b: [IFC][Integration] Allow RenderView layout by IFC

Antti Koivisto noreply at github.com
Thu Oct 5 11:06:03 PDT 2023


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: d0f46be6d47ee24ab4a015d8fcc577ea71c0062b
      https://github.com/WebKit/WebKit/commit/d0f46be6d47ee24ab4a015d8fcc577ea71c0062b
  Author: Antti Koivisto <antti at apple.com>
  Date:   2023-10-05 (Thu, 05 Oct 2023)

  Changed paths:
    M Source/WebCore/layout/integration/LayoutIntegrationBoxTree.cpp
    M Source/WebCore/layout/integration/LayoutIntegrationCoverage.cpp
    M Source/WebCore/layout/integration/LayoutIntegrationCoverage.h
    M Source/WebCore/rendering/RenderView.cpp
    M Source/WebCore/rendering/RenderView.h

  Log Message:
  -----------
  [IFC][Integration] Allow RenderView layout by IFC
https://bugs.webkit.org/show_bug.cgi?id=262705
rdar://116525525

Reviewed by Alan Baradlay.

In some cases (like if the document element has display:inline) root content will be laid out by IFC.

We currently use the LFC initial containing block box as a place to parent subtrees that are not
fully connected via ancestor chain (because we don't yet create layout boxes for all blocks).
Because of this the natural solution of just making RenderView::layoutBox() same as
RenderView::initialContainBlock() does not work. Instead this patch makes RenderView::layoutBox()
return a separate box parented to the initial containing block box.

* Source/WebCore/layout/integration/LayoutIntegrationBoxTree.cpp:
(WebCore::LayoutIntegration::BoxTree::BoxTree):
* Source/WebCore/layout/integration/LayoutIntegrationCoverage.cpp:
(WebCore::LayoutIntegration::canUseForLineLayoutWithReason):
* Source/WebCore/layout/integration/LayoutIntegrationCoverage.h:
* Source/WebCore/rendering/RenderView.cpp:
(WebCore::RenderView::~RenderView):

Ensure we delete line layout if it exits before we delete the initial containing block.

* Source/WebCore/rendering/RenderView.h:

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




More information about the webkit-changes mailing list