Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: b4ea8abad3e2450857984bb5abc1c7d6fbcf278d
      
https://github.com/WebKit/WebKit/commit/b4ea8abad3e2450857984bb5abc1c7d6fbcf278d
  Author: Alan Baradlay <[email protected]>
  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


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

Reply via email to