[webkit-changes] [WebKit/WebKit] 7c0a9d: Consistent handling of out-of-flow children in Mat...

icesfont noreply at github.com
Wed Sep 25 09:49:08 PDT 2024


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 7c0a9d18a4e012bcfba7939a6bf697e50ad079b1
      https://github.com/WebKit/WebKit/commit/7c0a9d18a4e012bcfba7939a6bf697e50ad079b1
  Author: Harry Chen <hchen at igalia.com>
  Date:   2024-09-25 (Wed, 25 Sep 2024)

  Changed paths:
    M LayoutTests/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/size-and-position-of-stretchy-fences-with-default-font-001-expected.txt
    M LayoutTests/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/stretchy-largeop-with-default-font-2-expected.txt
    M LayoutTests/imported/w3c/web-platform-tests/mathml/presentation-markup/scripts/scripts-rendering-from-in-flow-expected.txt
    M LayoutTests/imported/w3c/web-platform-tests/mathml/relations/css-styling/floats/not-floating-001-expected.txt
    R LayoutTests/imported/w3c/web-platform-tests/mathml/relations/css-styling/ignored-properties-001-expected.txt
    M LayoutTests/imported/w3c/web-platform-tests/mathml/relations/css-styling/not-participating-to-parent-layout-expected.txt
    M LayoutTests/imported/w3c/web-platform-tests/mathml/relations/css-styling/out-of-flow/all-mathml-containers-expected.txt
    A LayoutTests/imported/w3c/web-platform-tests/mathml/relations/html5-tree/dynamic-childlist-002-expected.txt
    R LayoutTests/platform/glib/imported/w3c/web-platform-tests/mathml/presentation-markup/scripts/scripts-rendering-from-in-flow-expected.txt
    A LayoutTests/platform/glib/imported/w3c/web-platform-tests/mathml/relations/css-styling/floats/not-floating-001-expected.txt
    M LayoutTests/platform/glib/imported/w3c/web-platform-tests/mathml/relations/css-styling/ignored-properties-001-expected.txt
    M LayoutTests/platform/glib/imported/w3c/web-platform-tests/mathml/relations/html5-tree/dynamic-childlist-002-expected.txt
    M LayoutTests/platform/gtk/imported/w3c/web-platform-tests/mathml/relations/css-styling/not-participating-to-parent-layout-expected.txt
    A LayoutTests/platform/ios/imported/w3c/web-platform-tests/mathml/relations/css-styling/floats/not-floating-001-expected.txt
    M LayoutTests/platform/ios/imported/w3c/web-platform-tests/mathml/relations/css-styling/ignored-properties-001-expected.txt
    M LayoutTests/platform/ios/imported/w3c/web-platform-tests/mathml/relations/html5-tree/dynamic-childlist-002-expected.txt
    M LayoutTests/platform/mac/imported/w3c/web-platform-tests/mathml/relations/css-styling/ignored-properties-001-expected.txt
    R LayoutTests/platform/mac/imported/w3c/web-platform-tests/mathml/relations/html5-tree/dynamic-childlist-002-expected.txt
    M Source/WebCore/rendering/mathml/RenderMathMLBlock.cpp
    M Source/WebCore/rendering/mathml/RenderMathMLBlock.h
    M Source/WebCore/rendering/mathml/RenderMathMLFraction.cpp
    M Source/WebCore/rendering/mathml/RenderMathMLMath.cpp
    M Source/WebCore/rendering/mathml/RenderMathMLMenclose.cpp
    M Source/WebCore/rendering/mathml/RenderMathMLOperator.cpp
    M Source/WebCore/rendering/mathml/RenderMathMLPadded.cpp
    M Source/WebCore/rendering/mathml/RenderMathMLRoot.cpp
    M Source/WebCore/rendering/mathml/RenderMathMLRow.cpp
    M Source/WebCore/rendering/mathml/RenderMathMLScripts.cpp
    M Source/WebCore/rendering/mathml/RenderMathMLSpace.cpp
    M Source/WebCore/rendering/mathml/RenderMathMLToken.cpp
    M Source/WebCore/rendering/mathml/RenderMathMLUnderOver.cpp

  Log Message:
  -----------
  Consistent handling of out-of-flow children in MathML layout functions

https://bugs.webkit.org/show_bug.cgi?id=179739

Reviewed by Frédéric Wang.

According to the spec [1], out-of-flow children should not affect the rendering of MathML elements. Ensure that out-of-flow children are still laid out and rendered, but that layout/validity logic only concerns in-flow children.

WebKit does not follow the spec specifically here ([2]), causing floating children to be OOF:

> The float property does not create floating of elements whose parent's computed display value is block math or inline math, and does not take them out-of-flow.

Cases in the WPT test in [3] used to pass regardless, since layout functions for MathML elements did not consider flow. Because they now *do* consider flow, the float property is no longer ignored in layout (as it causes elements to be OOF) and cases in the WPT test fail.

See webkit.org/b/279978.

[1] https://w3c.github.io/mathml-core/
[2] https://w3c.github.io/mathml-core/#css-styling
[3] https://github.com/web-platform-tests/wpt/blob/4d67f35a4dcc96bc40de00102a150d925d9fca61/mathml/relations/css-styling/floats/not-floating-001.html

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



To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications


More information about the webkit-changes mailing list