Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: d0f46be6d47ee24ab4a015d8fcc577ea71c0062b
      
https://github.com/WebKit/WebKit/commit/d0f46be6d47ee24ab4a015d8fcc577ea71c0062b
  Author: Antti Koivisto <[email protected]>
  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


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

Reply via email to