[webkit-changes] [WebKit/WebKit] d18277: [IFC][Ruby] Nested rubies stretch their ancestors'...

Alan Baradlay noreply at github.com
Tue Dec 5 09:48:13 PST 2023


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: d1827709a2adfbf0fa0fde9dc1cc566f2e7aed5e
      https://github.com/WebKit/WebKit/commit/d1827709a2adfbf0fa0fde9dc1cc566f2e7aed5e
  Author: Alan Baradlay <zalan at apple.com>
  Date:   2023-12-05 (Tue, 05 Dec 2023)

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

  Log Message:
  -----------
  [IFC][Ruby] Nested rubies stretch their ancestors' layout bounds
https://bugs.webkit.org/show_bug.cgi?id=265848

Reviewed by Antti Koivisto.

<ruby>base<ruby>nested base<rt>nested annotation</rt></ruby><rt>annotation</rt>

Outer ruby's annotation should be placed above the inner ruby which also
means the inner ruby stretches the outer ruby (through layout bounds).

This patch implements the layout bounds adjustment of ancestor ruby bases.

* Source/WebCore/layout/formattingContexts/inline/InlineLineBox.h:
* Source/WebCore/layout/formattingContexts/inline/InlineLineBoxBuilder.cpp:
(WebCore::Layout::LineBoxBuilder::setVerticalPropertiesForInlineLevelBox const):
(WebCore::Layout::LineBoxBuilder::constructInlineLevelBoxes):
* Source/WebCore/layout/formattingContexts/inline/ruby/RubyFormattingContext.cpp:
(WebCore::Layout::RubyFormattingContext::adjustLayoutBoundsAndStretchAncestorRubyBase):
(WebCore::Layout::RubyFormattingContext::applyAnnotationContributionToLayoutBounds):
* Source/WebCore/layout/formattingContexts/inline/ruby/RubyFormattingContext.h:

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




More information about the webkit-changes mailing list