[webkit-changes] [WebKit/WebKit] 8f0464: [IFC] Maximum intrinsic width content caching shou...

Alan Baradlay noreply at github.com
Thu Aug 24 13:58:57 PDT 2023


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 8f046436475dbd52851f1d7d3679000dbd10ca3a
      https://github.com/WebKit/WebKit/commit/8f046436475dbd52851f1d7d3679000dbd10ca3a
  Author: Alan Baradlay <zalan at apple.com>
  Date:   2023-08-24 (Thu, 24 Aug 2023)

  Changed paths:
    M LayoutTests/platform/ios-wk2/editing/style/table-selection-expected.txt
    M LayoutTests/platform/mac/editing/style/table-selection-expected.txt
    M Source/WebCore/layout/formattingContexts/inline/AbstractLineBuilder.h
    M Source/WebCore/layout/formattingContexts/inline/InlineFormattingContext.cpp
    M Source/WebCore/layout/formattingContexts/inline/InlineLine.cpp
    M Source/WebCore/layout/formattingContexts/inline/InlineLine.h
    M Source/WebCore/layout/formattingContexts/inline/InlineLineBuilder.cpp
    M Source/WebCore/layout/formattingContexts/inline/IntrinsicWidthHandler.cpp
    M Source/WebCore/layout/formattingContexts/inline/TextOnlySimpleLineBuilder.cpp
    M Source/WebCore/layout/formattingContexts/inline/TextOnlySimpleLineBuilder.h

  Log Message:
  -----------
  [IFC] Maximum intrinsic width content caching should support "line-break: after-white-space"
https://bugs.webkit.org/show_bug.cgi?id=260568

Reviewed by Antti Koivisto.

"line-break: after-white-space" trims trailing whitespace in intrinsic width mode, while
preserves them in final layout.
This patch restores such trimmed whitespace content so that we can cache the layout result for subsequent layouts.

* Source/WebCore/layout/formattingContexts/inline/AbstractLineBuilder.h:
* Source/WebCore/layout/formattingContexts/inline/InlineLine.cpp:
(WebCore::Layout::Line::handleTrailingTrimmableContent):
(WebCore::Layout::Line::restoreTrimmedTrailingWhitespace):
* Source/WebCore/layout/formattingContexts/inline/InlineLine.h:
* Source/WebCore/layout/formattingContexts/inline/InlineLineBuilder.cpp:
(WebCore::Layout::LineBuilder::layoutInlineContent):
* Source/WebCore/layout/formattingContexts/inline/IntrinsicWidthHandler.cpp:
(WebCore::Layout::IntrinsicWidthHandler::computedIntrinsicSizes):
(WebCore::Layout::IntrinsicWidthHandler::computedIntrinsicWidthForConstraint):
* Source/WebCore/layout/formattingContexts/inline/TextOnlySimpleLineBuilder.cpp:
(WebCore::Layout::TextOnlySimpleLineBuilder::layoutInlineContent):
(WebCore::Layout::TextOnlySimpleLineBuilder::initialize):
(WebCore::Layout::TextOnlySimpleLineBuilder::handleLineEnding):
(WebCore::Layout::TextOnlySimpleLineBuilder::hasIntrinsicWidthSpecificStyle): Deleted.
* Source/WebCore/layout/formattingContexts/inline/TextOnlySimpleLineBuilder.h:

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




More information about the webkit-changes mailing list