Files
tubestation/layout/reftests/async-scrolling/offscreen-prerendered-active-opacity.html
Markus Stange 2bb2744b71 Bug 1238564 - Anticipate async scrolling when computing the scroll clipped bounds of a display list. r=roc
This makes sure that for example the bounds of an opacity item are not empty if
the opacity item contains a scroll frame whose contents are currently scrolled
offscreen but still inside that scroll frame's display port.

On its own, this changeset causes test failures due to missed optimizations
because the bounds of many opacity items are now too large. That's because of
the way we're setting scroll clips on opacity items at the moment: Even if the
opacity is inside a scroll frame, we're currently only setting that scroll
frame's scroll clip on the opacity item's contents, not on the opacity item
itself, because the opacity item might also contain other items that are not
scrolled by this scroll frame.
The next patch in this bug will make us only do that when necessary.

MozReview-Commit-ID: 9TtcJ7eQE7U
2016-02-22 16:17:16 +01:00

40 lines
783 B
HTML

<!DOCTYPE html>
<html reftest-async-scroll>
<meta charset="utf-8">
<title>Active opacity should be rendered if it's inside the display port, even if it's currently offscreen</title>
<style>
.scrollbox {
border: 1px solid black;
width: 200px;
height: 200px;
overflow: hidden;
}
.scrolledContent {
height: 1000px;
}
.opacity {
will-change: opacity;
opacity: 0.5;
margin-top: 250px;
width: 100px;
height: 100px;
box-sizing: border-box;
border: 1px solid blue;
}
</style>
<div class="scrollbox"
reftest-displayport-x="0" reftest-displayport-y="0"
reftest-displayport-w="200" reftest-displayport-h="1000"
reftest-async-scroll-x="0" reftest-async-scroll-y="150">
<div class="scrolledContent">
<div class="opacity"></div>
</div>
</div>