Title: [272602] trunk/Source/WebCore
Revision
272602
Author
[email protected]
Date
2021-02-09 12:27:58 -0800 (Tue, 09 Feb 2021)

Log Message

[LFC][IFC] Disable BIDI processing for modern line layout
https://bugs.webkit.org/show_bug.cgi?id=221615

Reviewed by Sam Weinig.

This was added in preparation for BIDI content support but we are not there yet. Let's just disable it for now.

* layout/integration/LayoutIntegrationInlineContentBuilder.cpp:
(WebCore::LayoutIntegration::InlineContentBuilder::createDisplayLineRuns const):

Modified Paths

Diff

Modified: trunk/Source/WebCore/ChangeLog (272601 => 272602)


--- trunk/Source/WebCore/ChangeLog	2021-02-09 20:24:36 UTC (rev 272601)
+++ trunk/Source/WebCore/ChangeLog	2021-02-09 20:27:58 UTC (rev 272602)
@@ -1,5 +1,17 @@
 2021-02-09  Zalan Bujtas  <[email protected]>
 
+        [LFC][IFC] Disable BIDI processing for modern line layout
+        https://bugs.webkit.org/show_bug.cgi?id=221615
+
+        Reviewed by Sam Weinig.
+
+        This was added in preparation for BIDI content support but we are not there yet. Let's just disable it for now.
+
+        * layout/integration/LayoutIntegrationInlineContentBuilder.cpp:
+        (WebCore::LayoutIntegration::InlineContentBuilder::createDisplayLineRuns const):
+
+2021-02-09  Zalan Bujtas  <[email protected]>
+
         [LFC][Integration] Style change on an inline box should trigger invalidation
         https://bugs.webkit.org/show_bug.cgi?id=221573
 

Modified: trunk/Source/WebCore/layout/integration/LayoutIntegrationInlineContentBuilder.cpp (272601 => 272602)


--- trunk/Source/WebCore/layout/integration/LayoutIntegrationInlineContentBuilder.cpp	2021-02-09 20:24:36 UTC (rev 272601)
+++ trunk/Source/WebCore/layout/integration/LayoutIntegrationInlineContentBuilder.cpp	2021-02-09 20:27:58 UTC (rev 272602)
@@ -42,6 +42,8 @@
 namespace WebCore {
 namespace LayoutIntegration {
 
+#define PROCESS_BIDI_CONTENT 0
+
 struct LineLevelVisualAdjustmentsForRuns {
     bool needsIntegralPosition { false };
     // It's only 'text-overflow: ellipsis' for now.
@@ -60,6 +62,7 @@
     return std::max(lineBoxLogicalWidth, lineContentLogicalWidth);
 }
 
+#if PROCESS_BIDI_CONTENT
 class Iterator {
 public:
     Iterator() = default;
@@ -145,6 +148,7 @@
     else
         m_level = (direction == U_RIGHT_TO_LEFT) ? m_level + 1 : (direction == U_ARABIC_NUMBER || direction == U_EUROPEAN_NUMBER) ? m_level + 2 : m_level;
 }
+#endif
 
 InlineContentBuilder::InlineContentBuilder(const Layout::LayoutState& layoutState, const RenderBlockFlow& blockFlow)
     : m_layoutState(layoutState)
@@ -202,6 +206,7 @@
         return;
     auto& lines = inlineFormattingState.lines();
 
+#if PROCESS_BIDI_CONTENT
     BidiResolver<Iterator, BidiRun> bidiResolver;
     // FIXME: Add support for override.
     bidiResolver.setStatus(BidiStatus(m_layoutState.root().style().direction(), false));
@@ -208,6 +213,7 @@
     // FIXME: Grab the nested isolates from the previous line.
     bidiResolver.setPosition(Iterator(&runList, 0), 0);
     bidiResolver.createBidiRunsForLine(Iterator(&runList, runList.size()));
+#endif
 
     Vector<bool> hasAdjustedTrailingLineList(lines.size(), false);
 
@@ -287,18 +293,13 @@
         inlineContent.runs.append(displayRun);
     };
 
-    auto& bidiRuns = bidiResolver.runs();
-    if (bidiRuns.runCount() == 1) {
-        // Fast path for cases when there's no bidi boundary.
-        inlineContent.runs.reserveInitialCapacity(inlineFormattingState.lineRuns().size());
-        for (auto& lineRun : inlineFormattingState.lineRuns()) {
-            if (auto& text = lineRun.text())
-                createDisplayTextRunForRange(lineRun, text->start(), text->end());
-            else
-                createDisplayBoxRun(lineRun);
-        }
-    } else
-        ASSERT_NOT_IMPLEMENTED_YET();
+    inlineContent.runs.reserveInitialCapacity(inlineFormattingState.lineRuns().size());
+    for (auto& lineRun : inlineFormattingState.lineRuns()) {
+        if (auto& text = lineRun.text())
+            createDisplayTextRunForRange(lineRun, text->start(), text->end());
+        else
+            createDisplayBoxRun(lineRun);
+    }
 }
 
 void InlineContentBuilder::createDisplayLines(const Layout::InlineFormattingState& inlineFormattingState, InlineContent& inlineContent, const LineLevelVisualAdjustmentsForRunsList& lineLevelVisualAdjustmentsForRuns) const
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to