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