Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: d8e2845bfd78f992359ea9d66247ee9114fe238a https://github.com/WebKit/WebKit/commit/d8e2845bfd78f992359ea9d66247ee9114fe238a Author: Alan Baradlay <za...@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 _______________________________________________ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes