gecko-dev/gfx/tests/crashtests/1745775.html
Glenn Watson 5ba4876993 Bug 1745775 - Fix invalid surface info indexing r=gfx-reviewers,bradwerth
Some parts of the visibility pass have been ported to use the
picture graph infrastructure (update pass assignment and bounding
rect propagation) but the main visibility pass still relies on
the old-style recursive traversal, for now.

If an off-screen surface with a filter has a child primitive that
has backface-visibility: false, it was possible for it to be
excluded from surface assignment during the picture graph setup,
but still visited by the old-style recursive visibility pass.

In future, the main visibility pass will be ported to be based on
the picture graph infrastructure. In the meantime, this introduces
a band-aid fix by including the backface visibility check for a
picture in the general `is_visible` method, which is already
checked by the visibility and prepare passes, ensuring that the
traversals match.

Differential Revision: https://phabricator.services.mozilla.com/D133704
2021-12-14 01:06:24 +00:00

24 lines
783 B
HTML

<!DOCTYPE html>
<html class="reftest-wait">
<head>
<style>
* {
backface-visibility: hidden ! important;
filter: blur(63pc) ! important;
padding-block-end: 87%;
transform: matrix3d(-55, 29, 49313, 4, 80, 16, -127, 112, 8, 45, 127, -27757, 116, 134, 123, 79.00237606484764);
scroll-padding-block-end: 22142ch;
}
</style>
<script>
window.addEventListener("load", async () => {
await new Promise(r => setTimeout(r, 20))
const label = document.createElement("label")
document.documentElement.appendChild(label)
label.scrollIntoView({ "behavior": "smooth", "block": "end", "inline": "end" })
setTimeout('document.documentElement.className = ""', 300);
})
</script>
</head>
</html>