Title: [286529] trunk/Source/WebCore
Revision
286529
Author
[email protected]
Date
2021-12-04 05:52:55 -0800 (Sat, 04 Dec 2021)

Log Message

[LFC][IFC] Set BoxGeometry for bidi inline boxes
https://bugs.webkit.org/show_bug.cgi?id=233616

Reviewed by Antti Koivisto.

In this patch we compute the BoxGeometry values for the bidi inline boxes.
BoxGeometry is mostly used for boundingClientRect/offsetWidth(left etc).

* layout/formattingContexts/inline/InlineDisplayContentBuilder.cpp:
(WebCore::Layout::InlineDisplayContentBuilder::processBidiContent):

Modified Paths

Diff

Modified: trunk/Source/WebCore/ChangeLog (286528 => 286529)


--- trunk/Source/WebCore/ChangeLog	2021-12-04 09:13:50 UTC (rev 286528)
+++ trunk/Source/WebCore/ChangeLog	2021-12-04 13:52:55 UTC (rev 286529)
@@ -1,3 +1,16 @@
+2021-12-04  Alan Bujtas  <[email protected]>
+
+        [LFC][IFC] Set BoxGeometry for bidi inline boxes
+        https://bugs.webkit.org/show_bug.cgi?id=233616
+
+        Reviewed by Antti Koivisto.
+
+        In this patch we compute the BoxGeometry values for the bidi inline boxes.
+        BoxGeometry is mostly used for boundingClientRect/offsetWidth(left etc).
+
+        * layout/formattingContexts/inline/InlineDisplayContentBuilder.cpp:
+        (WebCore::Layout::InlineDisplayContentBuilder::processBidiContent):
+
 2021-12-04  Alex Christensen  <[email protected]>
 
         Prepare for SharedWorker implementation

Modified: trunk/Source/WebCore/layout/formattingContexts/inline/InlineDisplayContentBuilder.cpp (286528 => 286529)


--- trunk/Source/WebCore/layout/formattingContexts/inline/InlineDisplayContentBuilder.cpp	2021-12-04 09:13:50 UTC (rev 286528)
+++ trunk/Source/WebCore/layout/formattingContexts/inline/InlineDisplayContentBuilder.cpp	2021-12-04 13:52:55 UTC (rev 286529)
@@ -549,6 +549,16 @@
     };
     if (needsDisplayBoxHorizontalAdjustment)
         adjustVisualGeometryWithInlineBoxes();
+
+    auto computeInlineBoxGeometry = [&] {
+        ASSERT(!inlineBoxRangeList.isEmpty());
+        for (auto& inlineBoxRange : inlineBoxRangeList) {
+            auto& inlineBoxDisplayBox = boxes[inlineBoxRange.begin()];
+            setInlineBoxGeometry(inlineBoxDisplayBox.layoutBox(), inlineBoxDisplayBox.logicalRect(), inlineBoxDisplayBox.isFirstBox());
+        }
+    };
+    if (needsNonRootInlineBoxDisplayBox)
+        computeInlineBoxGeometry();
 }
 
 void InlineDisplayContentBuilder::processOverflownRunsForEllipsis(DisplayBoxes& boxes, InlineLayoutUnit lineBoxLogicalRight)
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to