[LFC][Integration] Allow all replaced elements
https://bugs.webkit.org/show_bug.cgi?id=218074
Reviewed by Zalan Bujtas.
Add a #define to allow all RenderReplaced in modern line layout.
Also add one for inline-blocks.
Both are disabled for now.
* layout/integration/LayoutIntegrationBoxTree.cpp:
(WebCore::LayoutIntegration::BoxTree::buildTree):
* layout/integration/LayoutIntegrationCoverage.cpp:
(WebCore::LayoutIntegration::canUseForChild):
(WebCore::LayoutIntegration::canUseForLineLayoutWithReason):
* layout/integration/LayoutIntegrationLineLayout.cpp:
(WebCore::LayoutIntegration::LineLayout::containing):
(WebCore::LayoutIntegration::LineLayout::hitTest):
Implement hit testing.
* rendering/RenderBlockFlow.cpp:
(WebCore::RenderBlockFlow::layoutLFCLines):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@268976 268f45cc-cd09-0410-ab3c-d52691b4dbfc
diff --git a/Source/WebCore/rendering/RenderBlockFlow.cpp b/Source/WebCore/rendering/RenderBlockFlow.cpp
index a532df3..cc81959 100644
--- a/Source/WebCore/rendering/RenderBlockFlow.cpp
+++ b/Source/WebCore/rendering/RenderBlockFlow.cpp
@@ -3676,6 +3676,14 @@
layoutFormattingContextLineLayout.updateReplacedDimensions(replaced);
continue;
}
+ if (is<RenderBlock>(renderer)) {
+ auto& block = downcast<RenderBlock>(renderer);
+ block.layoutIfNeeded();
+ // FIXME: Taking the same path as replaced for now.
+ layoutFormattingContextLineLayout.updateReplacedDimensions(block);
+ continue;
+ }
+
renderer.clearNeedsLayout();
}