Bug 1276107 - Add a test for scrolling an inactive subframe with perspective. r=kats

MozReview-Commit-ID: 4gGzgo4dyoI

--HG--
extra : rebase_source : ff267a4d1ddd3405f443a8b71d8919ef5975eddf
extra : intermediate-source : cd06b8e0f6dce55d662a96e9d3981d452047bc14
extra : source : a70b887bfaca17de4c68a5870145e21c2992695f
extra : histedit_source : 6ffbf4d3c0cdd5554013b8e6f5af933f1e4158c5
This commit is contained in:
Botond Ballo 2016-06-01 19:40:23 -04:00
Родитель e130e591c9
Коммит 23fcc090d1
3 изменённых файлов: 61 добавлений и 14 удалений

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

@ -0,0 +1,46 @@
<head>
<meta name="viewport" content="width=device-width; initial-scale=1.0">
<title>Wheel-scrolling over inactive subframe with perspective</title>
<script type="application/javascript" src="apz_test_native_event_utils.js"></script>
<script type="application/javascript" src="apz_test_utils.js"></script>
<script type="application/javascript" src="/tests/SimpleTest/paint_listener.js"></script>
<script type="application/javascript">
function* test(testDriver) {
var subframe = document.getElementById('scroll');
// scroll over the middle of the subframe, to make sure it scrolls,
// not the page
var scrollPos = subframe.scrollTop;
yield moveMouseAndScrollWheelOver(subframe, 100, 100, testDriver);
dump("after scroll, subframe.scrollTop = " + subframe.scrollTop + "\n");
ok(subframe.scrollTop > scrollPos, "subframe scrolled after wheeling over it");
}
waitUntilApzStable()
.then(runContinuation(test))
.then(subtestDone);
</script>
<style>
#scroll {
width: 200px;
height: 200px;
overflow: scroll;
perspective: 400px;
}
#scrolled {
width: 200px;
height: 1000px; /* so the subframe has room to scroll */
background: linear-gradient(red, blue); /* so you can see it scroll */
transform: translateZ(0px); /* so the perspective makes it to the display list */
}
</style>
</head>
<body>
<div id="scroll">
<div id="scrolled"></div>
</div>
<div style="height: 5000px;"></div><!-- So the page is scrollable as well -->
</body>
</head>

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

@ -20,6 +20,7 @@ support-files =
helper_bug1271432.html
helper_touch_action.html
helper_touch_action_regions.html
helper_scroll_inactive_perspective.html
tags = apz
[test_bug982141.html]
[test_bug1151663.html]

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

@ -8,21 +8,21 @@
<link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css"/>
<script type="application/javascript">
var prefs = [
// turn off smooth scrolling so that we don't have to wait for
// APZ animations to finish before sampling the scroll offset
['general.smoothScroll', false],
// ensure that any mouse movement will trigger a new wheel transaction,
// because in this test we move the mouse a bunch and want to recalculate
// the target APZC after each such movement.
['mousewheel.transaction.ignoremovedelay', 0],
['mousewheel.transaction.timeout', 0]
]
var subtests = [
{'file': 'helper_scroll_on_position_fixed.html', 'prefs': [
// turn off smooth scrolling so that we don't have to wait for
// APZ animations to finish before sampling the scroll offset
['general.smoothScroll', false],
// ensure that any mouse movement will trigger a new wheel transaction,
// because in this test we move the mouse a bunch and want to recalculate
// the target APZC after each such movement.
['mousewheel.transaction.ignoremovedelay', 0],
['mousewheel.transaction.timeout', 0]]},
{'file': 'helper_bug1271432.html', 'prefs': [
// same prefs as in the previous test, for the same reasons.
['general.smoothScroll', false],
['mousewheel.transaction.ignoremovedelay', 0],
['mousewheel.transaction.timeout', 0]]}
{'file': 'helper_scroll_on_position_fixed.html', 'prefs': prefs},
{'file': 'helper_bug1271432.html', 'prefs': prefs},
{'file': 'helper_scroll_inactive_perspective.html', 'prefs': prefs}
];
if (isApzEnabled()) {