[webkit-changes] [WebKit/WebKit] a8caff: [IFC][Ruby] Pass annotation adjustments to IFC

Antti Koivisto noreply at github.com
Fri Mar 17 03:33:47 PDT 2023


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: a8caffcf64e22d92bb25e5dfd2fcab4768534753
      https://github.com/WebKit/WebKit/commit/a8caffcf64e22d92bb25e5dfd2fcab4768534753
  Author: Antti Koivisto <antti at apple.com>
  Date:   2023-03-17 (Fri, 17 Mar 2023)

  Changed paths:
    M Source/WebCore/layout/formattingContexts/inline/InlineLevelBox.h
    M Source/WebCore/layout/formattingContexts/inline/InlineLineBoxVerticalAligner.cpp
    M Source/WebCore/layout/formattingContexts/inline/display/InlineDisplayContentBuilder.cpp
    M Source/WebCore/layout/formattingContexts/inline/display/InlineDisplayLineBuilder.cpp
    M Source/WebCore/layout/integration/inline/LayoutIntegrationLineLayout.cpp
    M Source/WebCore/layout/layouttree/LayoutBox.cpp
    M Source/WebCore/layout/layouttree/LayoutBox.h
    M Source/WebCore/rendering/LegacyInlineFlowBox.cpp
    M Source/WebCore/rendering/RenderRubyRun.cpp
    M Source/WebCore/rendering/RenderRubyRun.h

  Log Message:
  -----------
  [IFC][Ruby] Pass annotation adjustments to IFC
https://bugs.webkit.org/show_bug.cgi?id=254017

Reviewed by Alan Baradlay.

* Source/WebCore/layout/formattingContexts/inline/InlineLevelBox.h:
(WebCore::Layout::InlineLevelBox::hasAnnotation const):
(WebCore::Layout::InlineLevelBox::annotationAbove const):
(WebCore::Layout::InlineLevelBox::annotationBelow const):
(WebCore::Layout::InlineLevelBox::annotationUnder const): Deleted.

Rename for consistency.

* Source/WebCore/layout/formattingContexts/inline/InlineLineBoxVerticalAligner.cpp:
(WebCore::Layout::LineBoxVerticalAligner::adjustForAnnotationIfNeeded const):

Allow annotation adjustments for atomic inline boxes (because legacy ruby is wrapped to one).

* Source/WebCore/layout/formattingContexts/inline/display/InlineDisplayContentBuilder.cpp:
(WebCore::Layout::computeInkOverflowForInlineBox):
* Source/WebCore/layout/formattingContexts/inline/display/InlineDisplayLineBuilder.cpp:
(WebCore::Layout::InlineDisplayLineBuilder::collectEnclosingLineGeometry const):
* Source/WebCore/layout/integration/inline/LayoutIntegrationLineLayout.cpp:
(WebCore::LayoutIntegration::LineLayout::updateLayoutBoxDimensions):

Pass the annotation adjustments.

* Source/WebCore/layout/layouttree/LayoutBox.cpp:
(WebCore::Layout::Box::rubyAnnotationsAboveAndBelow const):
(WebCore::Layout::Box::setRubyAnnotationsAboveAndBelow):

Add a rare data field.

* Source/WebCore/layout/layouttree/LayoutBox.h:
* Source/WebCore/rendering/LegacyInlineFlowBox.cpp:
(WebCore::LegacyInlineFlowBox::computeOverAnnotationAdjustment const):
(WebCore::LegacyInlineFlowBox::computeUnderAnnotationAdjustment const):

Factor code from here to RenderRubyRun.

* Source/WebCore/rendering/RenderRubyRun.cpp:
(WebCore::RenderRubyRun::annotationsAboveAndBelow const):

Compute the adjustments.

* Source/WebCore/rendering/RenderRubyRun.h:

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




More information about the webkit-changes mailing list