gecko-dev/layout
Kartikaya Gupta fb97ec2e40 Bug 1654836 - Redo how we expand displayport alignment for webrender. r=nical
The displayport is aligned to screen pixels by an alignment number; there was
code to increase that alignment number for the WebRender codepath. This is
desirable because it causes the displayport to move less frequently, which
provides better performance characteristics with WebRender. However, the
way that was implemented, it was possible for the aligned displayport to not
completely enclose the unaligned displayport, which could then result in
perma-checkerboarding.

This patch removes that code and replaces it with a simpler approach to scale
up the existing alignment number by a factor based on the size of the scroller's
base rect (roughly how much of the scroller is visible to the user).

This does make the displayports larger, more so for scrollers with more visible
area. This has negative performance implications, so we mitigate that by also
scaling down the displayport margin multiplier by the same scaling factor. This
isn't perfect, but seems to work well enough in practice.

Differential Revision: https://phabricator.services.mozilla.com/D90503
2020-09-18 12:40:08 +00:00
..
base Bug 1654836 - Redo how we expand displayport alignment for webrender. r=nical 2020-09-18 12:40:08 +00:00
build Bug 1660345 - Remove unnecessary process checks from BrowserParent, r=kmag 2020-08-24 20:24:04 +00:00
docs Bug 1628958 Part 1 - Add Layout & CSS section to Mozilla Source Tree Documentation. r=firefox-source-docs-reviewers,sylvestre 2020-04-15 18:07:24 +00:00
forms Bug 1168478 Part 1 - Combine the border and padding argument for nsIFrame::ComputeAutoSize(). r=dholbert 2020-09-14 20:39:17 +00:00
generic Bug 1654836 - Add a bunch of verbose-level displayport logging. r=nical 2020-09-18 08:05:50 +00:00
inspector Bug 1661283 Part 2: Make InspectorUtils::GetOverflowingChildrenOfElement correctly handle the body element. r=emilio 2020-09-04 13:15:36 +00:00
ipc
mathml Bug 1168478 Part 2 - Combine the border and padding arguments for nsIFrame::ComputeSize(). r=dholbert 2020-09-14 20:42:22 +00:00
media
painting Backed out 10 changesets (bug 1518999) for GeckoView failures in PanZoomControllerTest.scroll. CLOSED TREE 2020-09-17 02:58:34 +03:00
printing Bug 1663826 - Keep freezing navigation during window.print() for compat. r=smaug 2020-09-16 22:55:19 +00:00
reftests Bug 1662894 - Expand fuzzy range for mix-blend-mode-and-filter.svg; r=kats 2020-09-17 10:41:00 +00:00
style Bug 1665165 - Disable some bfcache tests on Fission, r=jesup 2020-09-17 17:36:24 +00:00
svg Bug 1168478 Part 2 - Combine the border and padding arguments for nsIFrame::ComputeSize(). r=dholbert 2020-09-14 20:42:22 +00:00
tables Bug 1168478 Part 2 - Combine the border and padding arguments for nsIFrame::ComputeSize(). r=dholbert 2020-09-14 20:42:22 +00:00
tools Bug 1665125 - Make print background settings infallible. r=bobowen 2020-09-16 11:21:41 +00:00
xul Bug 1168478 Part 1 - Combine the border and padding argument for nsIFrame::ComputeAutoSize(). r=dholbert 2020-09-14 20:39:17 +00:00
moz.build Bug 1628958 Part 1 - Add Layout & CSS section to Mozilla Source Tree Documentation. r=firefox-source-docs-reviewers,sylvestre 2020-04-15 18:07:24 +00:00