servo/tests/wpt/meta/css/css-masking/clip-path
Martin Robinson 0f61361e27
layout: Unify scrollable overflow calculation and include position: absolute (#37475)
Previously, layout was handling scrollable overflow and srolling area
calculation separately, only excluding the "unreachable scrollable
overflow region" at the last step. In addition, `position: absolute` was
not included in scrollable overflow calculation.

This change combines the two concepts into a single scrollable overflow
calculation and starts taking into account `position: absolute`.
Finally, `BoxFragment::scrollable_overflow_for_parent` is converted to
use early returns which reduces the amount of indentation.

Fixes #35928.
Fixes #37204.
Testing: This causes some WPT test to pass, but also two to start
failing:
- `/css/css-masking/clip-path/clip-path-fixed-scroll.html`: This seems
to fail
because script is scrolling past the boundaries of the document. This is
a
failure that was uncovered by the fixed element now being added to the
   page's scroll area.
- `/css/css-overflow/overflow-outside-padding.html`: One test has
started to fail
here because now the absolutely positioned element is included in the
scroll area,
and I think there is an issue with how we are placing RTL items with
negative margins.

Signed-off-by: Martin Robinson <mrobinson@igalia.com>
2025-06-16 11:30:31 +00:00
..
clip-path-blending-offset.html.ini layout: Add initial support for clip-path: [<basic-shape> || <shape-box>] (#33107) 2024-08-28 15:00:34 +00:00
clip-path-borderBox-1a.html.ini layout: Add initial support for clip-path: [<basic-shape> || <shape-box>] (#33107) 2024-08-28 15:00:34 +00:00
clip-path-borderBox-1c.html.ini layout: Add initial support for clip-path: [<basic-shape> || <shape-box>] (#33107) 2024-08-28 15:00:34 +00:00
clip-path-circle-closest-corner.html.ini layout: Add initial support for clip-path: [<basic-shape> || <shape-box>] (#33107) 2024-08-28 15:00:34 +00:00
clip-path-circle-farthest-corner.html.ini layout: Add initial support for clip-path: [<basic-shape> || <shape-box>] (#33107) 2024-08-28 15:00:34 +00:00
clip-path-columns-shape-001.html.ini
clip-path-columns-shape-002.html.ini
clip-path-contentBox-1a.html.ini layout: Add initial support for clip-path: [<basic-shape> || <shape-box>] (#33107) 2024-08-28 15:00:34 +00:00
clip-path-descendant-text-mutated-001.html.ini layout: Add initial support for clip-path: [<basic-shape> || <shape-box>] (#33107) 2024-08-28 15:00:34 +00:00
clip-path-document-element-will-change.html.ini
clip-path-document-element.html.ini
clip-path-element-userSpaceOnUse-001.html.ini
clip-path-element-userSpaceOnUse-002.html.ini
clip-path-element-userSpaceOnUse-003.html.ini
clip-path-element-userSpaceOnUse-004.html.ini
clip-path-ellipse-closest-farthest-corner.html.ini layout: Add initial support for clip-path: [<basic-shape> || <shape-box>] (#33107) 2024-08-28 15:00:34 +00:00
clip-path-fillBox-1a.html.ini layout: Add initial support for clip-path: [<basic-shape> || <shape-box>] (#33107) 2024-08-28 15:00:34 +00:00
clip-path-fixed-scroll.html.ini layout: Unify scrollable overflow calculation and include position: absolute (#37475) 2025-06-16 11:30:31 +00:00
clip-path-foreignobject-non-zero-xy.html.ini layout: Add initial support for clip-path: [<basic-shape> || <shape-box>] (#33107) 2024-08-28 15:00:34 +00:00
clip-path-geometryBox-2.html.ini layout: Add initial support for clip-path: [<basic-shape> || <shape-box>] (#33107) 2024-08-28 15:00:34 +00:00
clip-path-inline-001.html.ini
clip-path-inline-002.html.ini
clip-path-inline-003.html.ini
clip-path-inline-007.html.ini layout: Add initial support for clip-path: [<basic-shape> || <shape-box>] (#33107) 2024-08-28 15:00:34 +00:00
clip-path-mix-blend-mode-1.html.ini layout: Add initial support for clip-path: [<basic-shape> || <shape-box>] (#33107) 2024-08-28 15:00:34 +00:00
clip-path-paddingBox-1a.html.ini layout: Add initial support for clip-path: [<basic-shape> || <shape-box>] (#33107) 2024-08-28 15:00:34 +00:00
clip-path-paddingBox-1c.html.ini layout: Add initial support for clip-path: [<basic-shape> || <shape-box>] (#33107) 2024-08-28 15:00:34 +00:00
clip-path-path-003.html.ini layout: Add initial support for clip-path: [<basic-shape> || <shape-box>] (#33107) 2024-08-28 15:00:34 +00:00
clip-path-path-with-zoom-hittest.html.ini layout: Add initial support for clip-path: [<basic-shape> || <shape-box>] (#33107) 2024-08-28 15:00:34 +00:00
clip-path-path-with-zoom.html.ini layout: Add initial support for clip-path: [<basic-shape> || <shape-box>] (#33107) 2024-08-28 15:00:34 +00:00
clip-path-polygon-001.html.ini
clip-path-polygon-002.html.ini
clip-path-polygon-003.html.ini
clip-path-polygon-004.html.ini
clip-path-polygon-005.html.ini
clip-path-polygon-006.html.ini
clip-path-polygon-007.html.ini
clip-path-polygon-008.html.ini
clip-path-polygon-009.html.ini
clip-path-polygon-010.html.ini
clip-path-polygon-011.html.ini
clip-path-polygon-012.html.ini
clip-path-polygon-013.html.ini
clip-path-reference-box-001.html.ini
clip-path-reference-box-002.html.ini
clip-path-reference-box-003.html.ini
clip-path-reference-box-004.html.ini
clip-path-reference-restore.html.ini
clip-path-round-zero-size.html.ini layout: Add initial support for clip-path: [<basic-shape> || <shape-box>] (#33107) 2024-08-28 15:00:34 +00:00
clip-path-scaled-video.html.ini layout: Add initial support for clip-path: [<basic-shape> || <shape-box>] (#33107) 2024-08-28 15:00:34 +00:00
clip-path-scroll.html.ini layout: Add initial support for clip-path: [<basic-shape> || <shape-box>] (#33107) 2024-08-28 15:00:34 +00:00
clip-path-shape-005.html.ini layout: Add initial support for clip-path: [<basic-shape> || <shape-box>] (#33107) 2024-08-28 15:00:34 +00:00
clip-path-shape-006.html.ini layout: Add initial support for clip-path: [<basic-shape> || <shape-box>] (#33107) 2024-08-28 15:00:34 +00:00
clip-path-shape-007.html.ini Sync WPT with upstream (08-06-2025) (#37326) 2025-06-08 01:44:37 +00:00
clip-path-shape-008.html.ini Sync WPT with upstream (08-06-2025) (#37326) 2025-06-08 01:44:37 +00:00
clip-path-shape-009.html.ini Sync WPT with upstream (08-06-2025) (#37326) 2025-06-08 01:44:37 +00:00
clip-path-shape-010.html.ini Sync WPT with upstream (08-06-2025) (#37326) 2025-06-08 01:44:37 +00:00
clip-path-shape-011.html.ini Sync WPT with upstream (02-06-2025) (#37212) 2025-06-02 06:06:09 +00:00
clip-path-shape-foreignobject-non-zero-xy.html.ini layout: Add initial support for clip-path: [<basic-shape> || <shape-box>] (#33107) 2024-08-28 15:00:34 +00:00
clip-path-shape-hline-vline-keywords.html.ini Sync WPT with upstream (08-06-2025) (#37326) 2025-06-08 01:44:37 +00:00
clip-path-strokeBox-1a.html.ini layout: Add initial support for clip-path: [<basic-shape> || <shape-box>] (#33107) 2024-08-28 15:00:34 +00:00
clip-path-svg-text-font-loading.html.ini script: add skeleton implementation of FontFace API (#35262) 2025-02-19 05:50:01 +00:00
clip-path-transform-mutated-002.html.ini
clip-path-url-reference-change-from-empty.html.ini
clip-path-url-reference-change.html.ini
clip-path-url-reference-empty-while-loading.tentative.html.ini Sync WPT with upstream (06-10-2024) (#33668) 2024-10-06 02:45:43 +00:00
clip-path-url-reference-external.html.ini Sync WPT with upstream (29-09-2024) (#33580) 2024-09-29 07:54:33 +00:00
clip-path-url-reference-svg-foreignobject-zoomed.html.ini layout: Add initial support for clip-path: [<basic-shape> || <shape-box>] (#33107) 2024-08-28 15:00:34 +00:00
clip-path-viewBox-1c.html.ini layout: Add initial support for clip-path: [<basic-shape> || <shape-box>] (#33107) 2024-08-28 15:00:34 +00:00
reference-local-url-with-base-001.html.ini
svg-clip-path-fixed-values.html.ini layout: Add initial support for clip-path: [<basic-shape> || <shape-box>] (#33107) 2024-08-28 15:00:34 +00:00