Title: [285108] trunk/Source/WebCore
Revision
285108
Author
[email protected]
Date
2021-11-01 09:02:28 -0700 (Mon, 01 Nov 2021)

Log Message

Addressing post-commit comment (r285093).

* layout/formattingContexts/inline/InlineItemsBuilder.cpp:
(WebCore::Layout::InlineItemsBuilder::handleInlineBoxStart):
(WebCore::Layout::InlineItemsBuilder::handleInlineBoxEnd):

Modified Paths

Diff

Modified: trunk/Source/WebCore/ChangeLog (285107 => 285108)


--- trunk/Source/WebCore/ChangeLog	2021-11-01 15:58:18 UTC (rev 285107)
+++ trunk/Source/WebCore/ChangeLog	2021-11-01 16:02:28 UTC (rev 285108)
@@ -1,5 +1,13 @@
 2021-11-01  Alan Bujtas  <[email protected]>
 
+        Addressing post-commit comment (r285093).
+
+        * layout/formattingContexts/inline/InlineItemsBuilder.cpp:
+        (WebCore::Layout::InlineItemsBuilder::handleInlineBoxStart):
+        (WebCore::Layout::InlineItemsBuilder::handleInlineBoxEnd):
+
+2021-11-01  Alan Bujtas  <[email protected]>
+
         [LFC][IFC] Introduce paragraph content building to InlineItemsBuilder::handleTextContent
         https://bugs.webkit.org/show_bug.cgi?id=232546
 

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


--- trunk/Source/WebCore/layout/formattingContexts/inline/InlineItemsBuilder.cpp	2021-11-01 15:58:18 UTC (rev 285107)
+++ trunk/Source/WebCore/layout/formattingContexts/inline/InlineItemsBuilder.cpp	2021-11-01 16:02:28 UTC (rev 285108)
@@ -265,9 +265,6 @@
         return;
 
     auto isLeftToRightDirection = style.isLeftToRightDirection();
-    auto enteringContentControlChar = std::optional<UChar> { };
-    auto nestedContentControlChar = std::optional<UChar> { };
-
     switch (style.unicodeBidi()) {
     case EUnicodeBidi::UBNormal:
         // The box does not open an additional level of embedding with respect to the bidirectional algorithm.
@@ -274,29 +271,24 @@
         // For inline boxes, implicit reordering works across box boundaries.
         break;
     case EUnicodeBidi::Embed:
-        enteringContentControlChar = isLeftToRightDirection ? leftToRightEmbed : rightToLeftEmbed;
+        enterBidiContext(inlineBox, isLeftToRightDirection ? leftToRightEmbed : rightToLeftEmbed, inlineItems);
         break;
     case EUnicodeBidi::Override:
-        enteringContentControlChar = isLeftToRightDirection ? leftToRightOverride : rightToLeftOverride;
+        enterBidiContext(inlineBox, isLeftToRightDirection ? leftToRightOverride : rightToLeftOverride, inlineItems);
         break;
     case EUnicodeBidi::Isolate:
-        enteringContentControlChar = isLeftToRightDirection ? leftToRightIsolate : rightToLeftIsolate;
+        enterBidiContext(inlineBox, isLeftToRightDirection ? leftToRightIsolate : rightToLeftIsolate, inlineItems);
         break;
     case EUnicodeBidi::Plaintext:
-        enteringContentControlChar = firstStrongIsolate;
+        enterBidiContext(inlineBox, firstStrongIsolate, inlineItems);
         break;
     case EUnicodeBidi::IsolateOverride:
-        enteringContentControlChar = firstStrongIsolate;
-        nestedContentControlChar = isLeftToRightDirection ? leftToRightOverride : rightToLeftOverride;
+        enterBidiContext(inlineBox, firstStrongIsolate, inlineItems);
+        enterBidiContext(inlineBox, isLeftToRightDirection ? leftToRightOverride : rightToLeftOverride, inlineItems);
         break;
     default:
         ASSERT_NOT_REACHED();
     }
-
-    if (enteringContentControlChar)
-        enterBidiContext(inlineBox, *enteringContentControlChar, inlineItems);
-    if (nestedContentControlChar)
-        enterBidiContext(inlineBox, *nestedContentControlChar, inlineItems);
 }
 
 void InlineItemsBuilder::handleInlineBoxEnd(const Box& inlineBox, InlineItems& inlineItems)
@@ -307,9 +299,6 @@
     if (style.rtlOrdering() == Order::Visual)
         return;
 
-    auto exitingContentControlChar = std::optional<UChar> { };
-    auto nestedContentControlChar = std::optional<UChar> { };
-
     switch (style.unicodeBidi()) {
     case EUnicodeBidi::UBNormal:
         // The box does not open an additional level of embedding with respect to the bidirectional algorithm.
@@ -316,29 +305,24 @@
         // For inline boxes, implicit reordering works across box boundaries.
         break;
     case EUnicodeBidi::Embed:
-        exitingContentControlChar = popDirectionalFormatting;
+        exitBidiContext(inlineBox, popDirectionalFormatting);
         break;
     case EUnicodeBidi::Override:
-        exitingContentControlChar = popDirectionalFormatting;
+        exitBidiContext(inlineBox, popDirectionalFormatting);
         break;
     case EUnicodeBidi::Isolate:
-        exitingContentControlChar = popDirectionalIsolate;
+        exitBidiContext(inlineBox, popDirectionalIsolate);
         break;
     case EUnicodeBidi::Plaintext:
-        exitingContentControlChar = popDirectionalIsolate;
+        exitBidiContext(inlineBox, popDirectionalIsolate);
         break;
     case EUnicodeBidi::IsolateOverride:
-        nestedContentControlChar = popDirectionalFormatting;
-        exitingContentControlChar = popDirectionalIsolate;
+        exitBidiContext(inlineBox, popDirectionalFormatting);
+        exitBidiContext(inlineBox, popDirectionalIsolate);
         break;
     default:
         ASSERT_NOT_REACHED();
     }
-
-    if (nestedContentControlChar)
-        exitBidiContext(inlineBox, *nestedContentControlChar);
-    if (exitingContentControlChar)
-        exitBidiContext(inlineBox, *exitingContentControlChar);
 }
 
 void InlineItemsBuilder::handleInlineLevelBox(const Box& layoutBox, InlineItems& inlineItems)
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to