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
28 lines
1.3 KiB
HTML
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>
|