Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 3dd3f19f008d969a4db58dbd81093dc69aa28137
https://github.com/WebKit/WebKit/commit/3dd3f19f008d969a4db58dbd81093dc69aa28137
Author: Elika Etemad <[email protected]>
Date: 2026-02-10 (Tue, 10 Feb 2026)
Changed paths:
M
LayoutTests/compositing/overflow/rtl-scrollbar-layer-positioning-expected.txt
M
LayoutTests/compositing/tiling/perspective-on-scroller-tile-coverage-expected.txt
M
LayoutTests/css2.1/20110323/abspos-containing-block-initial-001-expected.txt
M LayoutTests/css3/scroll-snap/scroll-snap-offsets-expected.txt
M LayoutTests/css3/scroll-snap/scroll-snap-offsets-rtl-expected.txt
M
LayoutTests/fast/scrolling/mac/negative-z-index-overflow-scroll-expected.txt
M LayoutTests/http/tests/misc/ftp-eplf-directory-expected.txt
M
LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/scrollable-overflow-transform-005.tentative-expected.txt
M
LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/scrollable-overflow-zero-one-axis-expected.txt
M
LayoutTests/imported/w3c/web-platform-tests/css/cssom-view/scrollWidthHeight-expected.txt
M LayoutTests/interaction-region/text-input-expected.txt
M LayoutTests/overflow/overflow-transform-perspective-expected.txt
M
LayoutTests/platform/glib/compositing/overflow/ancestor-overflow-expected.txt
M
LayoutTests/platform/glib/compositing/tiling/visiblerect-accumulated-offset-expected.txt
M
LayoutTests/platform/glib/overflow/overflow-transform-perspective-expected.txt
M LayoutTests/platform/gtk/tables/mozilla/bugs/bug44505-expected.txt
M
LayoutTests/platform/gtk/tables/mozilla_expected_failures/bugs/bug2479-5-expected.txt
M
LayoutTests/platform/ios/compositing/overflow/ancestor-overflow-expected.txt
M
LayoutTests/platform/ios/compositing/tiling/perspective-on-scroller-tile-coverage-expected.txt
M
LayoutTests/platform/ios/compositing/tiling/visiblerect-accumulated-offset-expected.txt
M
LayoutTests/platform/ios/css2.1/20110323/abspos-containing-block-initial-001-expected.txt
M LayoutTests/platform/ios/http/tests/misc/ftp-eplf-directory-expected.txt
M
LayoutTests/platform/ios/overflow/overflow-transform-perspective-expected.txt
M LayoutTests/platform/ios/tables/mozilla/bugs/bug44505-expected.txt
M
LayoutTests/platform/ios/tables/mozilla_expected_failures/bugs/bug2479-5-expected.txt
M
LayoutTests/platform/mac-sequoia-wk2/tables/mozilla/bugs/bug44505-expected.txt
M
LayoutTests/platform/mac-sequoia-wk2/tables/mozilla_expected_failures/bugs/bug2479-5-expected.txt
R LayoutTests/platform/mac-wk2/tables/mozilla/bugs/bug44505-expected.txt
R
LayoutTests/platform/mac-wk2/tables/mozilla_expected_failures/bugs/bug2479-5-expected.txt
M
LayoutTests/platform/mac/compositing/overflow/ancestor-overflow-expected.txt
M
LayoutTests/platform/mac/compositing/tiling/visiblerect-accumulated-offset-expected.txt
M LayoutTests/platform/mac/tables/mozilla/bugs/bug44505-expected.txt
M
LayoutTests/platform/mac/tables/mozilla_expected_failures/bugs/bug2479-5-expected.txt
M
LayoutTests/platform/win/compositing/tiling/visiblerect-accumulated-offset-expected.txt
M
LayoutTests/platform/win/overflow/overflow-transform-perspective-expected.txt
M LayoutTests/platform/wpe/tables/mozilla/bugs/bug44505-expected.txt
M
LayoutTests/platform/wpe/tables/mozilla_expected_failures/bugs/bug2479-5-expected.png
M
LayoutTests/platform/wpe/tables/mozilla_expected_failures/bugs/bug2479-5-expected.txt
M Source/WebCore/platform/graphics/LayoutRect.cpp
M Source/WebCore/platform/graphics/LayoutRect.h
M Source/WebCore/rendering/RenderBlock.cpp
M Source/WebCore/rendering/RenderBlockFlow.cpp
M Source/WebCore/rendering/RenderBox.cpp
M Source/WebCore/rendering/RenderBox.h
M Source/WebCore/rendering/RenderBoxInlines.h
M Source/WebCore/rendering/RenderFlexibleBox.cpp
M Source/WebCore/rendering/RenderGrid.cpp
M Source/WebCore/rendering/RenderOverflow.h
Log Message:
-----------
Block container inline-axis overflow includes padding + block-level child
margins
https://bugs.webkit.org/show_bug.cgi?id=286753
rdar://144312078
Reviewed by Alan Baradlay.
The CSS specs recently expanded the scrollable overflow area of block containers
in the inline axis to include the padding edge as appended to the outer (margin)
edge of child block-level boxes.
See discussion in https://github.com/w3c/csswg-drafts/issues/129
and https://github.com/w3c/csswg-drafts/issues/8660
This patch updates our implementation by
- Adding some options to ComputeOverflowOptions to enable this behavior.
- Passing in those options when calling computeOverflow from RenderBlockFlow.
- Adding/rearranging some helper functions to calculate it.
- Renaming some methods for clarity.
* LayoutTests/compositing/overflow/rtl-scrollbar-layer-positioning-expected.txt:
*
LayoutTests/compositing/tiling/perspective-on-scroller-tile-coverage-expected.txt:
* LayoutTests/css2.1/20110323/abspos-containing-block-initial-001-expected.txt:
* LayoutTests/css3/scroll-snap/scroll-snap-offsets-expected.txt:
* LayoutTests/css3/scroll-snap/scroll-snap-offsets-rtl-expected.txt:
* LayoutTests/fast/scrolling/mac/negative-z-index-overflow-scroll-expected.txt:
* LayoutTests/http/tests/misc/ftp-eplf-directory-expected.txt:
*
LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/scrollable-overflow-transform-005.tentative-expected.txt:
Rebaseline.
*
LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/scrollable-overflow-zero-one-axis-expected.txt:
*
LayoutTests/imported/w3c/web-platform-tests/css/cssom-view/scrollWidthHeight-expected.txt:
Pass more tests.
*
LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/scrollable-overflow-zero-one-axis-expected.txt:
*
LayoutTests/imported/w3c/web-platform-tests/css/cssom-view/scrollWidthHeight-expected.txt:
* LayoutTests/interaction-region/text-input-expected.txt:
* LayoutTests/overflow/overflow-transform-perspective-expected.txt:
* LayoutTests/platform/glib/compositing/overflow/ancestor-overflow-expected.txt:
*
LayoutTests/platform/glib/compositing/tiling/visiblerect-accumulated-offset-expected.txt:
*
LayoutTests/platform/glib/overflow/overflow-transform-perspective-expected.txt:
* LayoutTests/platform/gtk/tables/mozilla/bugs/bug44505-expected.txt:
*
LayoutTests/platform/gtk/tables/mozilla_expected_failures/bugs/bug2479-5-expected.txt:
* LayoutTests/platform/ios/compositing/overflow/ancestor-overflow-expected.txt:
*
LayoutTests/platform/ios/compositing/tiling/perspective-on-scroller-tile-coverage-expected.txt:
*
LayoutTests/platform/ios/compositing/tiling/visiblerect-accumulated-offset-expected.txt:
*
LayoutTests/platform/ios/css2.1/20110323/abspos-containing-block-initial-001-expected.txt:
* LayoutTests/platform/ios/http/tests/misc/ftp-eplf-directory-expected.txt:
* LayoutTests/platform/ios/overflow/overflow-transform-perspective-expected.txt:
* LayoutTests/platform/ios/tables/mozilla/bugs/bug44505-expected.txt:
*
LayoutTests/platform/ios/tables/mozilla_expected_failures/bugs/bug2479-5-expected.txt:
*
LayoutTests/platform/mac-sequoia-wk2/tables/mozilla/bugs/bug44505-expected.txt:
*
LayoutTests/platform/mac-sequoia-wk2/tables/mozilla_expected_failures/bugs/bug2479-5-expected.txt:
* LayoutTests/platform/mac-wk2/tables/mozilla/bugs/bug44505-expected.txt:
Removed.
*
LayoutTests/platform/mac-wk2/tables/mozilla_expected_failures/bugs/bug2479-5-expected.txt:
Removed.
* LayoutTests/platform/mac/compositing/overflow/ancestor-overflow-expected.txt:
*
LayoutTests/platform/mac/compositing/tiling/visiblerect-accumulated-offset-expected.txt:
* LayoutTests/platform/mac/tables/mozilla/bugs/bug44505-expected.txt:
*
LayoutTests/platform/mac/tables/mozilla_expected_failures/bugs/bug2479-5-expected.txt:
*
LayoutTests/platform/win/compositing/tiling/visiblerect-accumulated-offset-expected.txt:
* LayoutTests/platform/win/overflow/overflow-transform-perspective-expected.txt:
* LayoutTests/platform/wpe/tables/mozilla/bugs/bug44505-expected.txt:
*
LayoutTests/platform/wpe/tables/mozilla_expected_failures/bugs/bug2479-5-expected.png:
*
LayoutTests/platform/wpe/tables/mozilla_expected_failures/bugs/bug2479-5-expected.txt:
Rebaseline.
* Source/WebCore/platform/graphics/LayoutRect.cpp:
(WebCore::LayoutRect::uniteXEvenIfEmpty):
(WebCore::LayoutRect::uniteYEvenIfEmpty):
* Source/WebCore/platform/graphics/LayoutRect.h:
(WebCore::LayoutRect::containsX const):
(WebCore::LayoutRect::containsY const):
Add utility functions.
* Source/WebCore/rendering/RenderBlock.cpp:
(WebCore::RenderBlock::computeOverflow):
* Source/WebCore/rendering/RenderBlockFlow.cpp:
(WebCore::RenderBlockFlow::layoutBlock):
Make RenderBlockFlow add inline-axis child margins and self padding to overflow.
* Source/WebCore/rendering/RenderBox.cpp:
(WebCore::RenderBox::addOverflowWithRendererOffset):
(WebCore::RenderBox::clampToAllowedLayoutOverflow):
(WebCore::RenderBox::addLayoutOverflow):
(WebCore::RenderBox::addMarginBoxOverflow):
* Source/WebCore/rendering/RenderBox.h:
* Source/WebCore/rendering/RenderBoxInlines.h:
(WebCore::RenderBox::scrollableContentAreaOverflowRect const):
(WebCore::RenderBox::scrollablePaddingAreaOverflowRect const):
Extract some logic into helper methods and add per-axis arguments for
computeOverflow() methods.
* Source/WebCore/rendering/RenderFlexibleBox.cpp:
(WebCore::RenderFlexibleBox::layoutBlock):
* Source/WebCore/rendering/RenderGrid.cpp:
(WebCore::RenderGrid::layoutMasonry):
Update call site to new argument format.
* Source/WebCore/rendering/RenderOverflow.h:
(WebCore::RenderOverflow::addContentOverflowX):
(WebCore::RenderOverflow::addContentOverflowY):
Provide per-axis variants of addContentOverflow methods.
Canonical link: https://commits.webkit.org/307212@main
To unsubscribe from these emails, change your notification settings at
https://github.com/WebKit/WebKit/settings/notifications