Open Bug 2009457 Opened 1 day ago Updated 1 day ago

[wpt-sync] Sync PR 57111 - [scrollbar-gutter] Fix "scrollbar-gutter: stable both" clipping on macOS

Categories

(Core :: Layout: Scrolling and Overflow, task, P4)

task

Tracking

()

People

(Reporter: wpt-sync, Unassigned)

References

()

Details

(Whiteboard: [wptsync downstream])

Sync web-platform-tests PR 57111 into mozilla-central (this bug is closed when the sync is complete).

PR: https://github.com/web-platform-tests/wpt/pull/57111
Details from upstream follow.

David Grogan <dgrogan@chromium.org> wrote:

[scrollbar-gutter] Fix "scrollbar-gutter: stable both" clipping on macOS

Previously, ScrollPaintPropertyNode only stored contents_size with no
offset, effectively assuming the content always started at the offset
(0,0). With scrollbar gutters appearing on the left, that is no longer
accurate.

Because the code assumed an offset of 0, the contents_rect was
positioned too far to the left relative to the actual content. This
caused the right-most part of the content to fall outside the calculated
layer bounds, resulting in incorrect clipping on the right side.

This CL changes contents_size to contents_rect in
ScrollPaintPropertyNode to allow specifying an explicit offset.

In PaintPropertyTreeBuilder, we now:

  1. Calculate the contents_rect offset relative to the container's border
    box, correctly accounting for the gutter shift.
  2. Union contents_rect with container_rect. This ensures the scrolling
    contents layer fully covers the scrollport (including the gutter),
    preventing clipping of overflowing content in the gutter area.

Fixed: 40064879
Change-Id: I2bdb8adc47d115d7163e13761283b353e28de6aa

Reviewed-on: https://chromium-review.googlesource.com/7392466
WPT-Export-Revision: 2196ae797fb53a76f47976995cf9703e3fbe67b8

Component: web-platform-tests → Layout: Scrolling and Overflow
Product: Testing → Core

CI Results

Ran 0 Firefox configurations based on mozilla-central, and Firefox, Chrome, and Safari on GitHub CI

Total 1 tests

Status Summary

Firefox

PASS: 1

Chrome

FAIL: 1

Safari

PASS: 1

Links

GitHub PR Head
GitHub PR Base

You need to log in before you can comment on or make changes to this bug.