[webkit-changes] [WebKit/WebKit] 3fc32a: [Multicol] Incorrect clipping when a layer is pres...

Rob Buis noreply at github.com
Tue Nov 22 13:47:39 PST 2022


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 3fc32a416db0c58ed77f9f3b7414e00c7eba9ebb
      https://github.com/WebKit/WebKit/commit/3fc32a416db0c58ed77f9f3b7414e00c7eba9ebb
  Author: Rob Buis <rbuis at igalia.com>
  Date:   2022-11-22 (Tue, 22 Nov 2022)

  Changed paths:
    M LayoutTests/TestExpectations
    A LayoutTests/fast/multicol/positioned-split-expected.html
    M LayoutTests/fast/multicol/positioned-split.html
    A LayoutTests/imported/w3c/web-platform-tests/css/css-multicol/relative-child-overflowing-column-gap-expected.html
    A LayoutTests/imported/w3c/web-platform-tests/css/css-multicol/relative-child-overflowing-column-gap-ref.html
    A LayoutTests/imported/w3c/web-platform-tests/css/css-multicol/relative-child-overflowing-column-gap.html
    A LayoutTests/imported/w3c/web-platform-tests/css/css-multicol/relative-child-overflowing-container-expected.xht
    A LayoutTests/imported/w3c/web-platform-tests/css/css-multicol/relative-child-overflowing-container.html
    R LayoutTests/platform/glib/fast/multicol/positioned-split-expected.txt
    R LayoutTests/platform/gtk/fast/multicol/positioned-split-expected.png
    R LayoutTests/platform/ios/fast/multicol/positioned-split-expected.txt
    R LayoutTests/platform/mac/fast/multicol/positioned-split-expected.png
    R LayoutTests/platform/mac/fast/multicol/positioned-split-expected.txt
    R LayoutTests/platform/win/fast/multicol/positioned-split-expected.txt
    R LayoutTests/platform/wincairo/fast/multicol/positioned-split-expected.txt
    M Source/WebCore/rendering/RenderBlock.cpp
    M Source/WebCore/rendering/RenderBox.cpp

  Log Message:
  -----------
  [Multicol] Incorrect clipping when a layer is present between the column and the content layer
https://bugs.webkit.org/show_bug.cgi?id=238854

Reviewed by Darin Adler.

Multicol keeps track of both visual and layout overflow of children
to determine pagination clips for fragments. For layout overflow
this works fine, but for visual overflow RenderBox::addOverflowFromChild
skips self painting layers, needed amongst others for position:relative
elements, so this was not taken into account for pagination clipping.

Rework RenderBox::addOverflowFromChild to also take into account
visual overflow for elements that use a self painting layer, in order
to allow (visual) overflow of elements that do not cause column breaks
as specified in https://www.w3.org/TR/css-multicol-1/#overflow.

* LayoutTests/TestExpectations:
* LayoutTests/fast/multicol/positioned-split.html:
* LayoutTests/fast/multicol/positioned-split-expected.html: Added.
* LayoutTests/imported/w3c/web-platform-tests/css/css-multicol/relative-child-overflowing-container-expected.xht: Added.
* LayoutTests/imported/w3c/web-platform-tests/css/css-multicol/relative-child-overflowing-container.html: Added.
* LayoutTests/imported/w3c/web-platform-tests/css/css-multicol/relative-child-overflowing-column-gap-expected.html: Added.
* LayoutTests/imported/w3c/web-platform-tests/css/css-multicol/relative-child-overflowing-column-gap-ref.html: Added.
* LayoutTests/imported/w3c/web-platform-tests/css/css-multicol/relative-child-overflowing-column-gap.html: Added.
* LayoutTests/platform/glib/fast/multicol/positioned-split-expected.txt: Removed.
* LayoutTests/platform/gtk/fast/multicol/positioned-split-expected.png: Removed.
* LayoutTests/platform/ios/fast/multicol/positioned-split-expected.txt: Removed.
* LayoutTests/platform/mac/fast/multicol/positioned-split-expected.png: Removed.
* LayoutTests/platform/mac/fast/multicol/positioned-split-expected.txt: Removed.
* LayoutTests/platform/win/fast/multicol/positioned-split-expected.txt: Removed.
* LayoutTests/platform/wincairo/fast/multicol/positioned-split-expected.txt: Removed.
* Source/WebCore/rendering/RenderBlock.cpp:
(WebCore::RenderBlock::addOverflowFromChildren):
* Source/WebCore/rendering/RenderBox.cpp:
(WebCore::RenderBox::addOverflowFromChild):

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




More information about the webkit-changes mailing list