blob: 8dffe7ba00b6917ff7b1180df358582e2e5624c6 [file] [log] [blame]
<!DOCTYPE html>
<style>
body {
margin: 0;
}
iframe {
height: 900px;
width: 900px;
margin-left: 51px;
margin-top: 52px;
border: none;
}
</style>
<script>
// Prefer non-composited scrolling because this is a test of non-composited
// scrollers.
if (window.internals)
internals.runtimeFlags.preferNonCompositedScrollingEnabled = true;
</script>
<iframe id='iframe' src='resources/iframe-containing-non-fast-scrollables.html'></iframe>
<script src="resources/non-fast-scrollable-region-testing.js"></script>
<script src="../resources/run-after-layout-and-paint.js"></script>
<script src="../resources/testharness.js"></script>
<script src="../resources/testharnessreport.js"></script>
<script>
async_test((t) => {
var iframeWindow = document.querySelector("iframe").contentWindow;
iframeWindow.addEventListener("load", () => {
t.step(function() {
nonFastScrollableRects = internals.nonFastScrollableRects(document);
assert_equals(nonFastScrollableRects.length, 3);
var rectStrings = [];
for (var rect of nonFastScrollableRects)
rectStrings.push(rectToString(rect));
rectStrings.sort();
assert_equals(rectStrings[0], '[51, 102, 200, 200]');
assert_equals(rectStrings[1], '[51, 402, 211, 211]');
assert_equals(rectStrings[2], '[51, 702, 222, 222]');
var iframeElement = document.querySelector("iframe");
iframeElement.style.visibility = 'hidden';
});
runAfterLayoutAndPaint(() => {
t.step(function() {
nonFastScrollableRects = internals.nonFastScrollableRects(document);
assert_equals(nonFastScrollableRects.length, 0);
});
t.done();
});
});
}, "This test ensures that non-fast scrollable area is re-computed on FrameView visibility changes.");
</script>