[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