Title: [272062] trunk/Source/WebCore
Revision
272062
Author
[email protected]
Date
2021-01-29 09:20:31 -0800 (Fri, 29 Jan 2021)

Log Message

[LFC][Integration] Switch over to legacy line layout when inline tree is required
https://bugs.webkit.org/show_bug.cgi?id=221118

Reviewed by Antti Koivisto.

These functions still require inline tree.

* rendering/RenderInline.cpp:
(WebCore::RenderInline::generateLineBoxRects const):
(WebCore::RenderInline::absoluteRects const):
(WebCore::RenderInline::absoluteQuads const):
(WebCore::RenderInline::absoluteQuadsIgnoringContinuation const):
(WebCore::RenderInline::addFocusRingRects):

Modified Paths

Diff

Modified: trunk/Source/WebCore/ChangeLog (272061 => 272062)


--- trunk/Source/WebCore/ChangeLog	2021-01-29 17:15:35 UTC (rev 272061)
+++ trunk/Source/WebCore/ChangeLog	2021-01-29 17:20:31 UTC (rev 272062)
@@ -1,3 +1,19 @@
+2021-01-29  Zalan Bujtas  <[email protected]>
+
+        [LFC][Integration] Switch over to legacy line layout when inline tree is required
+        https://bugs.webkit.org/show_bug.cgi?id=221118
+
+        Reviewed by Antti Koivisto.
+
+        These functions still require inline tree.
+
+        * rendering/RenderInline.cpp:
+        (WebCore::RenderInline::generateLineBoxRects const):
+        (WebCore::RenderInline::absoluteRects const):
+        (WebCore::RenderInline::absoluteQuads const):
+        (WebCore::RenderInline::absoluteQuadsIgnoringContinuation const):
+        (WebCore::RenderInline::addFocusRingRects):
+
 2021-01-29  Commit Queue  <[email protected]>
 
         Unreviewed, reverting r272052.

Modified: trunk/Source/WebCore/rendering/RenderInline.cpp (272061 => 272062)


--- trunk/Source/WebCore/rendering/RenderInline.cpp	2021-01-29 17:15:35 UTC (rev 272061)
+++ trunk/Source/WebCore/rendering/RenderInline.cpp	2021-01-29 17:20:31 UTC (rev 272062)
@@ -361,6 +361,10 @@
 
 void RenderInline::absoluteRects(Vector<IntRect>& rects, const LayoutPoint& accumulatedOffset) const
 {
+#if ENABLE(LAYOUT_FORMATTING_CONTEXT)
+    if (auto* lineLayout = LayoutIntegration::LineLayout::containing(const_cast<RenderInline&>(*this)))
+        lineLayout->flow().ensureLineBoxes();
+#endif
     Vector<LayoutRect> lineboxRects;
     AbsoluteRectsGeneratorContext context(lineboxRects, accumulatedOffset);
     generateLineBoxRects(context);
@@ -401,6 +405,10 @@
 
 void RenderInline::absoluteQuads(Vector<FloatQuad>& quads, bool* wasFixed) const
 {
+#if ENABLE(LAYOUT_FORMATTING_CONTEXT)
+    if (auto* lineLayout = LayoutIntegration::LineLayout::containing(const_cast<RenderInline&>(*this)))
+        lineLayout->flow().ensureLineBoxes();
+#endif
     absoluteQuadsIgnoringContinuation({ }, quads, wasFixed);
     if (continuation())
         collectAbsoluteQuadsForContinuation(quads, wasFixed);
@@ -408,6 +416,10 @@
 
 void RenderInline::absoluteQuadsIgnoringContinuation(const FloatRect&, Vector<FloatQuad>& quads, bool*) const
 {
+#if ENABLE(LAYOUT_FORMATTING_CONTEXT)
+    if (auto* lineLayout = LayoutIntegration::LineLayout::containing(const_cast<RenderInline&>(*this)))
+        lineLayout->flow().ensureLineBoxes();
+#endif
     AbsoluteQuadsGeneratorContext context(this, quads);
     generateLineBoxRects(context);
 }
@@ -1169,6 +1181,10 @@
 
 void RenderInline::addFocusRingRects(Vector<LayoutRect>& rects, const LayoutPoint& additionalOffset, const RenderLayerModelObject* paintContainer)
 {
+#if ENABLE(LAYOUT_FORMATTING_CONTEXT)
+    if (auto* lineLayout = LayoutIntegration::LineLayout::containing(const_cast<RenderInline&>(*this)))
+        lineLayout->flow().ensureLineBoxes();
+#endif
     AbsoluteRectsGeneratorContext context(rects, additionalOffset);
     generateLineBoxRects(context);
 
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to