[webkit-changes] [WebKit/WebKit] b0bf79: [LFC][IFC] Add support for "line-box-contain: repl...

Alan Baradlay noreply at github.com
Sat Oct 22 12:09:30 PDT 2022


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: b0bf7903ccb0950f6ef34483774bba27c837aa90
      https://github.com/WebKit/WebKit/commit/b0bf7903ccb0950f6ef34483774bba27c837aa90
  Author: Alan Bujtas <zalan at apple.com>
  Date:   2022-10-22 (Sat, 22 Oct 2022)

  Changed paths:
    M LayoutTests/fast/block/float/floats-offset-linebox-contain-inline.html
    M Source/WebCore/layout/formattingContexts/inline/InlineFormattingGeometry.cpp
    M Source/WebCore/layout/formattingContexts/inline/InlineLineBuilder.cpp
    M Source/WebCore/layout/formattingContexts/inline/InlineLineBuilder.h
    M Source/WebCore/layout/integration/LayoutIntegrationCoverage.cpp

  Log Message:
  -----------
  [LFC][IFC] Add support for "line-box-contain: replaced"
https://bugs.webkit.org/show_bug.cgi?id=246786

Reviewed by Antti Koivisto.

This is in preparation for adding full support for -webkit-line-box-contain.
This property affects the line box height in 2 ways
a, it can exclude certain types of inline level boxes from the line box height computation
b, included inline level boxes may contribute to the line box height with a quirk height value (e.g. inline boxes include their vertical decoration)

This patch implements (a) and adds support for atomic inline level boxes as their height contribution stays the same (see (b)).

* Source/WebCore/layout/formattingContexts/inline/InlineFormattingGeometry.cpp:
(WebCore::Layout::InlineFormattingGeometry::inlineLevelBoxAffectsLineBox const):
* Source/WebCore/layout/integration/LayoutIntegrationCoverage.cpp:
(WebCore::LayoutIntegration::canUseForStyle):
*fast/block/float/floats-offset-linebox-contain-inline.html: incorrect test case. The root inline box stretches the linebox when line-box-contain is inline.

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




More information about the webkit-changes mailing list