Bug 1300611 - Move overflow rect into correct coordinate space when computing perspective overflows so that it's not affected by scroll position. r=dbaron

This commit is contained in:
Matt Woodrow 2016-09-14 18:00:17 +12:00
Родитель 9a1c3746b2
Коммит c0a7b324b9
2 изменённых файлов: 6 добавлений и 1 удалений

Просмотреть файл

@ -947,7 +947,7 @@ GetScrollableOverflowForPerspective(nsIFrame* aScrolledFrame,
// Take the minimum overflow rect that would allow the current scroll
// position, using the size of the scroll port and offset by the
// inverse of the scroll position.
nsRect overflow(0, 0, aScrollPort.width, aScrollPort.height);
nsRect overflow = aScrollPort - scrollPos;
// Expand it by our margins to get an overflow rect that would allow all
// edges of our transformed content to be scrolled into view.

Просмотреть файл

@ -77,8 +77,13 @@ https://bugzilla.mozilla.org/show_bug.cgi?id=1198135
<script>
is(document.getElementById("first").scrollHeight, 600, "Scroll height should be computed correctly");
document.getElementById("first").scrollTop = 150;
is(document.getElementById("first").scrollHeight, 600, "Scroll height should be a constant when scrolling");
// The true height is 727.5 and we don't always snap the same direction.
isfuzzy(document.getElementById("second").scrollHeight, 728, 1, "Scroll height should be computed correctly");
document.getElementById("second").scrollTop = 150;
isfuzzy(document.getElementById("second").scrollHeight, 728, 1, "Scroll height should be a constant when scrolling");
</script>
</body></html>