position: sticky items scroll independently of their containing
content, resulting in large amounts of picture cache invalidation when
scrolling, causing poor performance. This patch attempts to give them
their own picture cache slice in order to avoid that invalidation.
Differential Revision: https://phabricator.services.mozilla.com/D206502
All these tests except the wpt one were already fuzzy due to scrollbars,
this patch just changes the fuzzy values.
There's a test which is passing now (was marked as a failure due to bug
1308702). Probably was fixed a while ago and the test was still failing
due to fuzziness.
Depends on D125826
Differential Revision: https://phabricator.services.mozilla.com/D126674
All these tests except the wpt one were already fuzzy due to scrollbars,
this patch just changes the fuzzy values.
There's a test which is passing now (was marked as a failure due to bug
1308702). Probably was fixed a while ago and the test was still failing
due to fuzziness.
Depends on D125826
Differential Revision: https://phabricator.services.mozilla.com/D126674
All these tests except the wpt one were already fuzzy due to scrollbars,
this patch just changes the fuzzy values.
There's a test which is passing now (was marked as a failure due to bug
1308702). Probably was fixed a while ago and the test was still failing
due to fuzziness.
Depends on D125826
Differential Revision: https://phabricator.services.mozilla.com/D126674
We basically use a couple primitives to draw these
(PaintRoundedRectWithRadius, FillRect), so making the code a bit generic
implementing stuff with WebRender seems straight-forward.
I've kept using the fallback codepath for the bits that draw complex
paths like arrows and such, but the rest of the things should work with
this patch.
A thing I'm not too happy about is the scrollbar painting setup (requires a lot
of boilerplate), but modulo template hacks make nsNativeBasicTheme a template
that receives its super class as a parameter or something) it seems hard to do
better.
Differential Revision: https://phabricator.services.mozilla.com/D105931
We basically use a couple primitives to draw these
(PaintRoundedRectWithRadius, FillRect), so making the code a bit generic
implementing stuff with WebRender seems straight-forward.
I've kept using the fallback codepath for the bits that draw complex
paths like arrows and such, but the rest of the things should work with
this patch.
A thing I'm not too happy about is the scrollbar painting setup (requires a lot
of boilerplate), but modulo template hacks make nsNativeBasicTheme a template
that receives its super class as a parameter or something) it seems hard to do
better.
Differential Revision: https://phabricator.services.mozilla.com/D105931
We basically use a couple primitives to draw these
(PaintRoundedRectWithRadius, FillRect), so making the code a bit generic
implementing stuff with WebRender seems straight-forward.
I've kept using the fallback codepath for the bits that draw complex
paths like arrows and such, but the rest of the things should work with
this patch.
A thing I'm not too happy about is the scrollbar painting setup (requires a lot
of boilerplate), but modulo template hacks make nsNativeBasicTheme a template
that receives its super class as a parameter or something) it seems hard to do
better.
Differential Revision: https://phabricator.services.mozilla.com/D105931
The change perturbs the drawing of the scrollbar endcaps for a handful of
APZ-related reftests, mostly with WR enabled. This just updates the fuzz numbers
to match the new values.
Depends on D92677
Differential Revision: https://phabricator.services.mozilla.com/D92678
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