Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 399b65153f6977f4bd6fd62827fc9cbc87307ca9
      
https://github.com/WebKit/WebKit/commit/399b65153f6977f4bd6fd62827fc9cbc87307ca9
  Author: Alan Baradlay <[email protected]>
  Date:   2023-12-12 (Tue, 12 Dec 2023)

  Changed paths:
    M 
Source/WebCore/layout/formattingContexts/inline/display/InlineDisplayContentBuilder.cpp
    M 
Source/WebCore/layout/formattingContexts/inline/ruby/RubyFormattingContext.cpp
    M 
Source/WebCore/layout/formattingContexts/inline/ruby/RubyFormattingContext.h
    M Source/WebCore/rendering/RenderBlockFlow.cpp

  Log Message:
  -----------
  [IFC][Ruby][Bidi] Empty base with non-empty annotation box is not rendered
https://bugs.webkit.org/show_bug.cgi?id=266236

Reviewed by Antti Koivisto.

In InlineDisplayContentBuilder::processBidiContent, we assume that if an inline 
box has
the "has content" bit set (e.g. <span>this inline box has content</span>), the 
child
content will (at some point in this loop as we walk through the inline content) 
initiate constructing the parent inline box's display box.
This is to keep the pre-computed bidi visual order intact (inline boxes 
normally participate in bidi ordering through their content).

However while _empty_ ruby bases with non-empty annotations considered 
"contentful", we won't be seeing any _inline_ child content in this loop
(as annotation boxes are not part of the regular inline boxes).

* 
Source/WebCore/layout/formattingContexts/inline/display/InlineDisplayContentBuilder.cpp:
(WebCore::Layout::AncestorStack::push):
(WebCore::Layout::createDisplayBoxNodeForContainerAndPushToAncestorStack):
(WebCore::Layout::InlineDisplayContentBuilder::ensureDisplayBoxForContainer):
(WebCore::Layout::InlineDisplayContentBuilder::processBidiContent): Let's 
create a display box for ruby base
(WebCore::Layout::createdDisplayBoxNodeForElementBoxAndPushToAncestorStack): 
Deleted.

Canonical link: https://commits.webkit.org/271963@main


_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to