Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 951ce5d72f7b62ad22806a64af8e8ef09385f6e9
      
https://github.com/WebKit/WebKit/commit/951ce5d72f7b62ad22806a64af8e8ef09385f6e9
  Author: Alan Baradlay <[email protected]>
  Date:   2022-12-03 (Sat, 03 Dec 2022)

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

  Log Message:
  -----------
  [leading-trim][IFC] Add support for leading-trim on non-root inline boxes
https://bugs.webkit.org/show_bug.cgi?id=248644

Reviewed by Antti Koivisto.

This patch adds initial support for leading-trim on non-root inline boxes.
"leading-trim" consults "text-edge" and trims the over/under sides accordingly.

Trimming here means that the content box of the inline box shrinks to match 
what "text-edge" says.
It also means that now the content logical top inside the inline box does not 
necessarily match the inline box's logical top. e.g. when text-edge says "ex" 
and leading-trim says "start", the "over ex" part of the text content starts 
overflowing the inline box's content box, or in other words the text content's 
top position is above the containing inline box's top.

* Source/WebCore/layout/formattingContexts/inline/InlineLevelBox.h:
(WebCore::Layout::InlineLevelBox::leadingTrim const):
(WebCore::Layout::InlineLevelBox::inlineBoxContentOffsetForLeadingTrim const):
(WebCore::Layout::InlineLevelBox::setInlineBoxContentOffsetForLeadingTrim):
(WebCore::Layout::m_style):
* Source/WebCore/layout/formattingContexts/inline/InlineLineBox.cpp:
(WebCore::Layout::LineBox::logicalRectForTextRun const):
* Source/WebCore/layout/formattingContexts/inline/InlineLineBoxBuilder.cpp:
(WebCore::Layout::LineBoxBuilder::computedAsentAndDescentForInlineBox const):
(WebCore::Layout::LineBoxBuilder::setVerticalPropertiesForInlineLevelBox const):
* Source/WebCore/layout/formattingContexts/inline/InlineLineBoxBuilder.h:

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


_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to