[webkit-changes] [WebKit/WebKit] b4ea8a: [IFC][Ruby] Add support for soft wrap opportunitie...
Alan Baradlay
noreply at github.com
Sun Sep 24 20:37:10 PDT 2023
Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: b4ea8abad3e2450857984bb5abc1c7d6fbcf278d
https://github.com/WebKit/WebKit/commit/b4ea8abad3e2450857984bb5abc1c7d6fbcf278d
Author: Alan Baradlay <zalan at apple.com>
Date: 2023-09-24 (Sun, 24 Sep 2023)
Changed paths:
M Source/WebCore/layout/formattingContexts/inline/InlineFormattingGeometry.cpp
M Source/WebCore/layout/formattingContexts/inline/InlineLineBuilder.cpp
M Source/WebCore/layout/formattingContexts/inline/display/InlineDisplayContentBuilder.cpp
M Source/WebCore/layout/formattingContexts/inline/ruby/RubyFormattingContext.cpp
M Source/WebCore/layout/formattingContexts/inline/ruby/RubyFormattingContext.h
Log Message:
-----------
[IFC][Ruby] Add support for soft wrap opportunities between ruby bases
https://bugs.webkit.org/show_bug.cgi?id=261967
Reviewed by Antti Koivisto.
This patch enables line breaking insider ruby containers, between ruby bases.
1. Move nextWrapOpportunity logic to RubyFormattingContext (IFC consults RubyFormattingContext for next wrap opportunity now)
2. Measure ruby to decide whether we can only fit partial (ruby base) content.
* Source/WebCore/layout/formattingContexts/inline/InlineFormattingGeometry.cpp:
(WebCore::Layout::InlineFormattingGeometry::nextWrapOpportunity):
* Source/WebCore/layout/formattingContexts/inline/InlineLineBuilder.cpp:
(WebCore::Layout::LineBuilder::candidateContentForLine):
(WebCore::Layout::LineBuilder::handleRubyContent):
* Source/WebCore/layout/formattingContexts/inline/display/InlineDisplayContentBuilder.cpp:
(WebCore::Layout::InlineDisplayContentBuilder::handleInlineBoxEnd):
* Source/WebCore/layout/formattingContexts/inline/ruby/RubyFormattingContext.cpp:
(WebCore::Layout::nextWrapOpportunityWithinRubyContainer):
(WebCore::Layout::RubyFormattingContext::layoutInlineAxis):
(WebCore::Layout::RubyFormattingContext::placeRubyContent):
(WebCore::Layout::RubyFormattingContext::nextWrapOpportunity):
(WebCore::Layout::RubyFormattingContext::logicaWidthForRubyRange const):
* Source/WebCore/layout/formattingContexts/inline/ruby/RubyFormattingContext.h:
Canonical link: https://commits.webkit.org/268384@main
More information about the webkit-changes
mailing list