[webkit-changes] [WebKit/WebKit] d8e284: [IFC][Ruby] Exclude inter-character annotation box...
Alan Baradlay
noreply at github.com
Mon Oct 30 05:28:50 PDT 2023
Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: d8e2845bfd78f992359ea9d66247ee9114fe238a
https://github.com/WebKit/WebKit/commit/d8e2845bfd78f992359ea9d66247ee9114fe238a
Author: Alan Baradlay <zalan at apple.com>
Date: 2023-10-30 (Mon, 30 Oct 2023)
Changed paths:
M Source/WebCore/layout/formattingContexts/inline/InlineItemsBuilder.cpp
M Source/WebCore/layout/formattingContexts/inline/display/InlineDisplayContentBuilder.cpp
M Source/WebCore/layout/formattingContexts/inline/display/InlineDisplayContentBuilder.h
M Source/WebCore/layout/formattingContexts/inline/ruby/RubyFormattingContext.cpp
Log Message:
-----------
[IFC][Ruby] Exclude inter-character annotation box from inline items
https://bugs.webkit.org/show_bug.cgi?id=263860
Reviewed by Antti Koivisto.
While originally it seemed like a good idea to treat inter-character annotation box as regular
atomic inline level box and let inline layout take care of (inline direction) positioning,
it let regular inline CSS properties leak into it (e.g. letter spacing).
This patch turns inter-character handling very much like interlinear. It also helps reason
about not having any type of annotation box part of inline items.
* LayoutTests/fast/ruby/bopomofo-letter-spacing.html:
* Source/WebCore/layout/formattingContexts/inline/InlineItemsBuilder.cpp:
(WebCore::Layout::InlineItemsBuilder::handleInlineLevelBox):
* Source/WebCore/layout/formattingContexts/inline/display/InlineDisplayContentBuilder.cpp:
(WebCore::Layout::InlineDisplayContentBuilder::appendAtomicInlineLevelDisplayBox):
(WebCore::Layout::InlineDisplayContentBuilder::appendInlineBoxDisplayBox):
(WebCore::Layout::InlineDisplayContentBuilder::handleInlineBoxEnd):
(WebCore::Layout::InlineDisplayContentBuilder::appendRubyAnnotationBox):
(WebCore::Layout::InlineDisplayContentBuilder::appendInterlinearRubyAnnotationBox): Deleted.
(WebCore::Layout::InlineDisplayContentBuilder::appendIntercharacterRubyAnnotationBox): Deleted.
* Source/WebCore/layout/formattingContexts/inline/display/InlineDisplayContentBuilder.h:
* Source/WebCore/layout/formattingContexts/inline/ruby/RubyFormattingContext.cpp:
(WebCore::Layout::RubyFormattingContext::placeRubyContent):
(WebCore::Layout::RubyFormattingContext::logicaWidthForRubyRange const):
Canonical link: https://commits.webkit.org/269934@main
More information about the webkit-changes
mailing list