Title: [287199] trunk/Source/WebCore
Revision
287199
Author
[email protected]
Date
2021-12-17 11:44:58 -0800 (Fri, 17 Dec 2021)

Log Message

[LFC][IFC] Adjust the box geometry for atomic/generic inline level boxes in bidi content
https://bugs.webkit.org/show_bug.cgi?id=234419

Reviewed by Antti Koivisto.

Both the display box and the BoxGeometry need to be updated while adjusting the content position with
the inline box offsets.

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

Modified Paths

Diff

Modified: trunk/Source/WebCore/ChangeLog (287198 => 287199)


--- trunk/Source/WebCore/ChangeLog	2021-12-17 19:29:42 UTC (rev 287198)
+++ trunk/Source/WebCore/ChangeLog	2021-12-17 19:44:58 UTC (rev 287199)
@@ -1,5 +1,18 @@
 2021-12-17  Alan Bujtas  <[email protected]>
 
+        [LFC][IFC] Adjust the box geometry for atomic/generic inline level boxes in bidi content
+        https://bugs.webkit.org/show_bug.cgi?id=234419
+
+        Reviewed by Antti Koivisto.
+
+        Both the display box and the BoxGeometry need to be updated while adjusting the content position with
+        the inline box offsets.
+
+        * layout/formattingContexts/inline/InlineDisplayContentBuilder.cpp:
+        (WebCore::Layout::InlineDisplayContentBuilder::adjustVisualGeometryForDisplayBox):
+
+2021-12-17  Alan Bujtas  <[email protected]>
+
         [LFC][IFC] Let computeIsFirstIsLastBoxForInlineContent update the IsFirstForLayoutBox on the display boxes
         https://bugs.webkit.org/show_bug.cgi?id=234422
 

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


--- trunk/Source/WebCore/layout/formattingContexts/inline/InlineDisplayContentBuilder.cpp	2021-12-17 19:29:42 UTC (rev 287198)
+++ trunk/Source/WebCore/layout/formattingContexts/inline/InlineDisplayContentBuilder.cpp	2021-12-17 19:44:58 UTC (rev 287199)
@@ -468,9 +468,11 @@
 
     if (!displayBox.isNonRootInlineBox()) {
         displayBox.setLeft(contentRightInVisualOrder);
-        contentRightInVisualOrder += displayBox.width();
-        if (displayBox.isAtomicInlineLevelBox() || displayBox.isGenericInlineLevelBox())
-            contentRightInVisualOrder += marginRight(formattingState().boxGeometry(layoutBox), layoutBox.parent().style().isLeftToRightDirection());
+        if (displayBox.isAtomicInlineLevelBox() || displayBox.isGenericInlineLevelBox()) {
+            formattingState().boxGeometry(layoutBox).setLogicalLeft(LayoutUnit { contentRightInVisualOrder });
+            contentRightInVisualOrder += displayBox.width() + marginRight(formattingState().boxGeometry(layoutBox), layoutBox.parent().style().isLeftToRightDirection());
+        } else
+            contentRightInVisualOrder += displayBox.width();
         return;
     }
 
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to