[webkit-changes] [WebKit/WebKit] 3c75b0: [IFC][Intrinsic width] Enable simplified layout fo...

Alan Baradlay noreply at github.com
Sun Jan 28 16:18:46 PST 2024


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 3c75b065d964fffac96c7c6eae16abad2b8d3090
      https://github.com/WebKit/WebKit/commit/3c75b065d964fffac96c7c6eae16abad2b8d3090
  Author: Alan Baradlay <zalan at apple.com>
  Date:   2024-01-28 (Sun, 28 Jan 2024)

  Changed paths:
    M Source/WebCore/layout/formattingContexts/inline/InlineFormattingContext.cpp
    M Source/WebCore/layout/formattingContexts/inline/IntrinsicWidthHandler.cpp
    M Source/WebCore/layout/formattingContexts/inline/IntrinsicWidthHandler.h
    M Source/WebCore/layout/formattingContexts/inline/TextOnlySimpleLineBuilder.cpp
    M Source/WebCore/layout/formattingContexts/inline/TextOnlySimpleLineBuilder.h

  Log Message:
  -----------
  [IFC][Intrinsic width] Enable simplified layout for text only content nested inside inline boxes
https://bugs.webkit.org/show_bug.cgi?id=268241

Reviewed by Antti Koivisto.

This patch enables the simplified layout path for text only content nested inside inline boxes when computing intrinsic width.

supported content:
  <div><span>nested content</span></div>
  <div><span><span>nested content</span></span></div>

_not_ supported content:
  <div>not nested content<span>nested content</span></div>
  <div><span style="border: solid">nested content with decoration</span></div>

1. Check if the inline content is eligible
2. Adjust the inline item range for layout by skipping the leading/trailing inline items

* Source/WebCore/layout/formattingContexts/inline/InlineFormattingContext.cpp:
(WebCore::Layout::InlineFormattingContext::layout):
* Source/WebCore/layout/formattingContexts/inline/IntrinsicWidthHandler.cpp:
(WebCore::Layout::IntrinsicWidthHandler::IntrinsicWidthHandler):
(WebCore::Layout::IntrinsicWidthHandler::minimumContentSize):
(WebCore::Layout::IntrinsicWidthHandler::maximumContentSize):
(WebCore::Layout::IntrinsicWidthHandler::computedIntrinsicWidthForConstraint):
* Source/WebCore/layout/formattingContexts/inline/IntrinsicWidthHandler.h:
* Source/WebCore/layout/formattingContexts/inline/TextOnlySimpleLineBuilder.cpp:
(WebCore::Layout::TextOnlySimpleLineBuilder::isEligibleForSimplifiedTextOnlyInlineLayoutByContent):
(WebCore::Layout::TextOnlySimpleLineBuilder::isEligibleForSimplifiedInlineLayoutByStyle):
(WebCore::Layout::TextOnlySimpleLineBuilder::isEligibleForSimplifiedTextOnlyInlineLayout): Deleted.
* Source/WebCore/layout/formattingContexts/inline/TextOnlySimpleLineBuilder.h:

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




More information about the webkit-changes mailing list