Bug 1515822 - Add testcase. r=emilio

Differential Revision: https://phabricator.services.mozilla.com/D15320

--HG--
extra : moz-landing-system : lando
This commit is contained in:
Wei-Cheng Pan 2019-01-28 09:11:05 +00:00
Родитель 9c8a55cba6
Коммит c4c1c94f4a
2 изменённых файлов: 48 добавлений и 0 удалений

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

@ -145,6 +145,7 @@ support-files =
support-files = bug1226904.html
[test_bug1246622.html]
[test_bug1278021.html]
[test_bug1515822.html]
[test_emulateMedium.html]
[test_event_target_iframe_oop.html]
skip-if = e10s # bug 1020135, nested oop iframes not supported

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

@ -0,0 +1,47 @@
<!DOCTYPE HTML>
<html>
<head>
<title>Test for Bug 1515822 - restore scroll position for display: contents children</title>
<script src="/tests/SimpleTest/SimpleTest.js"></script>
<style>
#shell {
display: contents;
}
#outer {
width: 200px;
height: 200px;
overflow: scroll;
}
#inner {
width: 400px;
height: 400px;
background: linear-gradient(to right bottom, white, black);
}
</style>
</head>
<body>
<div id="shell">
<div id="outer">
<div id="inner">
</div>
</div>
</div>
<script>
const outer = document.querySelector('#outer');
outer.scrollTop = 100;
outer.scrollLeft = 100;
document.body.offsetTop; // flush layout
is(outer.scrollTop, 100, 'scroll position should be moved');
is(outer.scrollLeft, 100, 'scroll position should be moved');
outer.parentElement.style.display = 'none';
document.body.offsetTop; // flush layout
is(outer.scrollTop, 0, 'scroll position should be zero');
is(outer.scrollLeft, 0, 'scroll position should be zero');
outer.parentElement.style.display = "";
document.body.offsetTop; // flush layout
is(outer.scrollTop, 100, 'scroll position should be restored');
is(outer.scrollLeft, 100, 'scroll position should be restored');
</script>