[webkit-changes] [WebKit/WebKit] a0dc58: [IFC][Ruby] Offset ruby base end inline item with ...
Alan Baradlay
noreply at github.com
Mon Dec 4 09:19:57 PST 2023
Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: a0dc58c6d70ea710009978fe1902d03baa639cdb
https://github.com/WebKit/WebKit/commit/a0dc58c6d70ea710009978fe1902d03baa639cdb
Author: Alan Baradlay <zalan at 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
More information about the webkit-changes
mailing list