⚠ Archived content — this site is no longer maintained.   Current WebKit documentation is at docs.webkit.org.

Changeset 286951 in webkit


Ignore:
Timestamp:
Dec 13, 2021, 9:04:02 AM (5 years ago)
Author:
Alan Bujtas
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):

Location:
trunk/Source/WebCore
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebCore/ChangeLog

    r286949 r286951  
     12021-12-13  Alan Bujtas  <zalan@apple.com>
     2
     3        [LFC][IFC] Non-bidi content with RTL inline base direction may need visual reordering
     4        https://bugs.webkit.org/show_bug.cgi?id=234242
     5
     6        Reviewed by Antti Koivisto.
     7
     8        This is in preparation for enabling content with RTL base direction.
     9
     10        * layout/formattingContexts/inline/InlineItemsBuilder.cpp:
     11        (WebCore::Layout::InlineItemsBuilder::build):
     12        (WebCore::Layout::InlineItemsBuilder::breakAndComputeBidiLevels):
     13        * layout/formattingContexts/inline/InlineItemsBuilder.h:
     14        (WebCore::Layout::InlineItemsBuilder::needsVisualReordeering const):
     15
    1162021-12-13  Antti Koivisto  <antti@apple.com>
    217
  • trunk/Source/WebCore/layout/formattingContexts/inline/InlineItemsBuilder.cpp

    r286929 r286951  
    8787    InlineItems inlineItems;
    8888    collectInlineItems(inlineItems);
    89     if (hasSeenBidiContent())
     89    if (needsVisualReordeering())
    9090        breakAndComputeBidiLevels(inlineItems);
    9191    computeInlineTextItemWidths(inlineItems);
     
    251251void InlineItemsBuilder::breakAndComputeBidiLevels(InlineItems& inlineItems)
    252252{
    253     ASSERT(hasSeenBidiContent());
     253    ASSERT(needsVisualReordeering());
    254254    ASSERT(!inlineItems.isEmpty());
    255255
  • trunk/Source/WebCore/layout/formattingContexts/inline/InlineItemsBuilder.h

    r286104 r286951  
    5151    void handleInlineLevelBox(const Box&, InlineItems&);
    5252   
     53    bool needsVisualReordeering() const { return hasSeenBidiContent() || !root().style().isLeftToRightDirection(); }
    5354    bool hasSeenBidiContent() const { return m_hasSeenBidiContent; }
    5455
Note: See TracChangeset for help on using the changeset viewer.