Auto merge of #26758 - jdm:stacking-context-transform-zero, r=mrobinson

Don't create empty stacking contexts in display lists

A recent change to euclid exposed that our display lists can contain Rects that contain NaN values. These NaNs originate from creating stacking contexts with transforms that scale the horizontal or vertical dimensions to 0. WebRender isn't prepared to handle these, so we need to not produce these empty stacking contexts when building the display list.

---
- [x] `./mach build -d` does not report any errors
- [x] `./mach test-tidy` does not report any errors
- [x] These changes fix #26592 and fix #26590
- [x] There are tests for these changes
This commit is contained in:
bors-servo 2020-06-09 13:37:30 -04:00 committed by GitHub
commit cb4e3cb16a
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
10 changed files with 103 additions and 1 deletions

View file

@ -6080,6 +6080,19 @@
{}
]
],
"stacking-context-empty.html": [
"952c73f1680805dc3a976446bb509cb924a6a702",
[
null,
[
[
"/_mozilla/css/stacking-context-empty-ref.html",
"=="
]
],
{}
]
],
"stacking_context_overflow_a.html": [
"dc379afb77977b0e99a0a8ce3321c9afff236a37",
[
@ -10311,6 +10324,10 @@
"0525bab6b11800d29f90efc7efef0f43165fba01",
[]
],
"stacking-context-empty-ref.html": [
"8006e2413694b0776f000d3b8138bed29812b7cd",
[]
],
"stacking_context_overflow_ref.html": [
"49991c449ab4f42afae6f512a7f184e70d77bc34",
[]

View file

@ -0,0 +1 @@
<p><img src="100x100_green.png">

View file

@ -0,0 +1,14 @@
<link rel="match" href="stacking-context-empty-ref.html">
<style>
div {
border-radius: 2px;
background: #777;
border-bottom: 1px solid #f1f1f1;
}
.test {
transform: scaleX(0);
}
</style>
<p><img src="100x100_green.png">
<div class="test">aaa</div>
<p><img class="test" src="100x100_green.png">