Title: [286951] trunk/Source/WebCore
Revision
286951
Author
za...@apple.com
Date
2021-12-13 09:04:02 -0800 (Mon, 13 Dec 2021)

Log Message

[LFC][IFC] Non-bidi content with RTL inline base direction may need visual reordering
https://bugs.webkit.org/show_bug.cgi?id=234242

Reviewed by Antti Koivisto.

This is in preparation for enabling content with RTL base direction.

* layout/formattingContexts/inline/InlineItemsBuilder.cpp:
(WebCore::Layout::InlineItemsBuilder::build):
(WebCore::Layout::InlineItemsBuilder::breakAndComputeBidiLevels):
* layout/formattingContexts/inline/InlineItemsBuilder.h:
(WebCore::Layout::InlineItemsBuilder::needsVisualReordeering const):

Modified Paths

Diff

Modified: trunk/Source/WebCore/ChangeLog (286950 => 286951)


--- trunk/Source/WebCore/ChangeLog	2021-12-13 16:59:13 UTC (rev 286950)
+++ trunk/Source/WebCore/ChangeLog	2021-12-13 17:04:02 UTC (rev 286951)
@@ -1,3 +1,18 @@
+2021-12-13  Alan Bujtas  <za...@apple.com>
+
+        [LFC][IFC] Non-bidi content with RTL inline base direction may need visual reordering
+        https://bugs.webkit.org/show_bug.cgi?id=234242
+
+        Reviewed by Antti Koivisto.
+
+        This is in preparation for enabling content with RTL base direction.
+
+        * layout/formattingContexts/inline/InlineItemsBuilder.cpp:
+        (WebCore::Layout::InlineItemsBuilder::build):
+        (WebCore::Layout::InlineItemsBuilder::breakAndComputeBidiLevels):
+        * layout/formattingContexts/inline/InlineItemsBuilder.h:
+        (WebCore::Layout::InlineItemsBuilder::needsVisualReordeering const):
+
 2021-12-13  Antti Koivisto  <an...@apple.com>
 
         [CSS Cascade Layers] Unflake and fix web-platform-tests/css/css-cascade/layer-statement-before-import.html

Modified: trunk/Source/WebCore/layout/formattingContexts/inline/InlineItemsBuilder.cpp (286950 => 286951)


--- trunk/Source/WebCore/layout/formattingContexts/inline/InlineItemsBuilder.cpp	2021-12-13 16:59:13 UTC (rev 286950)
+++ trunk/Source/WebCore/layout/formattingContexts/inline/InlineItemsBuilder.cpp	2021-12-13 17:04:02 UTC (rev 286951)
@@ -86,7 +86,7 @@
 {
     InlineItems inlineItems;
     collectInlineItems(inlineItems);
-    if (hasSeenBidiContent())
+    if (needsVisualReordeering())
         breakAndComputeBidiLevels(inlineItems);
     computeInlineTextItemWidths(inlineItems);
     return inlineItems;
@@ -250,7 +250,7 @@
 
 void InlineItemsBuilder::breakAndComputeBidiLevels(InlineItems& inlineItems)
 {
-    ASSERT(hasSeenBidiContent());
+    ASSERT(needsVisualReordeering());
     ASSERT(!inlineItems.isEmpty());
 
     StringBuilder paragraphContentBuilder;

Modified: trunk/Source/WebCore/layout/formattingContexts/inline/InlineItemsBuilder.h (286950 => 286951)


--- trunk/Source/WebCore/layout/formattingContexts/inline/InlineItemsBuilder.h	2021-12-13 16:59:13 UTC (rev 286950)
+++ trunk/Source/WebCore/layout/formattingContexts/inline/InlineItemsBuilder.h	2021-12-13 17:04:02 UTC (rev 286951)
@@ -50,6 +50,7 @@
     void handleInlineBoxEnd(const Box&, InlineItems&);
     void handleInlineLevelBox(const Box&, InlineItems&);
     
+    bool needsVisualReordeering() const { return hasSeenBidiContent() || !root().style().isLeftToRightDirection(); }
     bool hasSeenBidiContent() const { return m_hasSeenBidiContent; }
 
     const ContainerBox& root() const { return m_root; }
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to