Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: a0dc58c6d70ea710009978fe1902d03baa639cdb
      
https://github.com/WebKit/WebKit/commit/a0dc58c6d70ea710009978fe1902d03baa639cdb
  Author: Alan Baradlay <za...@apple.com>
  Date:   2023-12-04 (Mon, 04 Dec 2023)

  Changed paths:
    M Source/WebCore/layout/formattingContexts/inline/InlineLineBuilder.cpp
    M 
Source/WebCore/layout/formattingContexts/inline/ruby/RubyFormattingContext.cpp
    M 
Source/WebCore/layout/formattingContexts/inline/ruby/RubyFormattingContext.h

  Log Message:
  -----------
  [IFC][Ruby] Offset ruby base end inline item with overflowing interlinear 
annotation box
https://bugs.webkit.org/show_bug.cgi?id=265756

Reviewed by Antti Koivisto.

While annotation boxes don't participate in inline layout, when placing the 
associated base content
on the line, we have to make sure the base inline box end "covers" any 
overflowing interlinear annotation.

e.g.
"<ruby>base content<rt>this is a long annotation</rt></ruby>after ruby content" 
does not produce this:

[this is a long annotation]
[base content][after ruby content]      <- line content.

but something along the lines of

[this is a long annotation]
[base content]             [after ruby content]

(ignore ruby base alignment for now)

* Source/WebCore/layout/formattingContexts/inline/InlineLineBuilder.cpp:
(WebCore::Layout::LineBuilder::candidateContentForLine):
* 
Source/WebCore/layout/formattingContexts/inline/ruby/RubyFormattingContext.cpp:
(WebCore::Layout::RubyFormattingContext::baseLogicalWidthFromRubyBaseEnd):
* Source/WebCore/layout/formattingContexts/inline/ruby/RubyFormattingContext.h:

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


_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to