Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: c1353df4a27c21ed9d969ee0f20a367a68ffbd29
      
https://github.com/WebKit/WebKit/commit/c1353df4a27c21ed9d969ee0f20a367a68ffbd29
  Author: Vitor Roriz <[email protected]>
  Date:   2024-01-30 (Tue, 30 Jan 2024)

  Changed paths:
    M LayoutTests/TestExpectations
    M Source/WebCore/layout/formattingContexts/block/BlockLayoutState.h
    M Source/WebCore/layout/formattingContexts/inline/InlineContentBalancer.cpp
    M Source/WebCore/layout/formattingContexts/inline/InlineContentBalancer.h
    M 
Source/WebCore/layout/formattingContexts/inline/InlineFormattingContext.cpp

  Log Message:
  -----------
  text-wrap balance should consider line-clamp when balancing
https://bugs.webkit.org/show_bug.cgi?id=268302
rdar://121858978

Reviewed by Alan Baradlay.

According to spec resolution [1], if line-clamp
is defined, text-wrap: balance should balance
only within the clamped lines.

Up to this patch, we would balance taking into
consideration all the lines and we would clamp
it after balance.

This patches makes InlineContentBalancer::initialize()
take the maximum number of visible lines into account,
based into the line-clamp property.

Also, this allows for a small optimization:
If line-clamp clamps to 1 line, we can skip balacing.

[1] https://github.com/w3c/csswg-drafts/issues/9310

* LayoutTests/TestExpectations:
* Source/WebCore/layout/formattingContexts/block/BlockLayoutState.h:
(WebCore::Layout::BlockLayoutState::LineClamp::allowedLineCount const):
* Source/WebCore/layout/formattingContexts/inline/InlineContentBalancer.cpp:
(WebCore::Layout::InlineContentBalancer::initialize):
(WebCore::Layout::InlineContentBalancer::computeBalanceConstraints):
* Source/WebCore/layout/formattingContexts/inline/InlineContentBalancer.h:
* Source/WebCore/layout/formattingContexts/inline/InlineFormattingContext.cpp:
(WebCore::Layout::InlineFormattingContext::createDisplayContentForInlineContent):

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


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

Reply via email to