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