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

Reply via email to