Files
tubestation/layout/reftests/async-scrolling/contain-paint-scrollable-frame-1.html
Kartikaya Gupta f14187c168 Bug 1650081 - Use scrollbar-width:none instead of overflow:hidden to hide scrollbars. r=botond
Instead of using overflow:hidden on the body to hide the scrollbar, this
patch sets scrollbar-width:none on the html element. In some cases
overflow:hidden is set on non-root scrollers (i.e. div elements); in those
cases it is replaced by overflow:scroll;scrollbar-width:none to get an
equivalent effect.

One test had a pre-existing visible scrollbar on a nested scrollframe, but
which started failing with a small fuzz difference. I left the scrollbar as-is
and added an annotation to the reftest.list file.

Note that this only updates the tests that use reftest-async-scroll as those
were the cases that were easily detectable, and causing problems with the
apz.allow_zooming=true pref.

Differential Revision: https://phabricator.services.mozilla.com/D82032
2020-07-03 19:50:11 +00:00

28 lines
1.3 KiB
HTML

<!DOCTYPE HTML>
<html reftest-async-scroll>
<body>
<div style="width:400px; height:200px; overflow:scroll;
scrollbar-width: none;
border:2px solid black; background: red;
contain:paint;"
reftest-displayport-x="0" reftest-displayport-y="0"
reftest-displayport-w="800" reftest-displayport-h="2000"
reftest-async-scroll-x="0" reftest-async-scroll-y="100">
<!-- This element is what we're hoping will fill the scrollport
when the reftest snapshot is taken: -->
<div style="background: lime; margin-top: 100px; height: 600px"></div>
<!-- This element is just to be sure the scrollframe's "contain:paint"
styling is actually having an effect. "contain:paint" should make the
scrollframe become a containing block for this fixed-pos element, and
then this element will position itself off the bottom of the
scrollframe and will be entirely clipped. If we fail to honor
"contain:paint" for some reason, then this element will instead use
the *viewport* as its containing block, and it'll show up in the
reftest snapshot and cause the reftest to fail. -->
<div style="position: fixed; top: 320px; width: 50px; height: 50px;
background: purple;"></div>
</div>
</body>
</html>