Subpixel accumulated paint offset scrollbar repro

#41458361 Status: New Priority: P4 Manual visual reproducer

Samplers

Available pages for this issue

Main scrollbar sampler: this page.

Reflection pre-paint sampler: Open reflection sampler

Problem

Detect incorrect local-only snapping

This reproducer uses a scroller with fractional content size (200.5px) inside a parent at fractional position (left/top: 0.5px). With the fix, accumulated paint-offset snapping makes off0 and off.5 diverge by about 1px in effective clamp on at least one axis.

On unpatched builds, ContentsSize() uses local-only snapping and ignores accumulated paint offset, so off0 and off.5 clamp the same.

Manual Visual Reproducer

Waiting...

Waiting...

How to Read Output

Patched (expected GREEN)

Compare off0 and off.5. If their deltas differ by about 1px on at least one axis (pair_diff ~= 1), this is patched behavior. Which offset has the larger delta may vary by platform.

Unpatched (expected RED)

off0 and off.5 produce the same delta values (pair_diff ~= 0). Absolute deltas may be 0, 0.5, etc., but they do not separate by offset.

Minimal Structure

<div style="position: relative; left: 0.5px; top: 0.5px;">
  <div style="width: 120px; height: 120px; overflow: scroll;">
    <div style="width: 200.5px; height: 200.5px;"></div>
  </div>
</div>