Bug 1224251 patch 1 - Add reftests. r=mattwoodrow

Locally, these tests fail reliably for me without the patch.  I'm not,
however, confident that they would continue to do so, across future
mutations in the code, were the bug to be reintroduced, given the amount
of fiddling I had to go through to get them to fail without the patch.

That is, without the patch:

  table-row-opacity-dynamic-1.html shows the area of the row that's not
  behind the text as a much more opaque blue than it should be (while
  the area of the row that is behind the text is correct)

  table-row-opacity-dynamic-2.html shows the area of the row that's not
  behind the text as the white background showing through (while the
  area of the row that is behind the text is correct)

--HG--
extra : commitid : 76YvteUZXpE
This commit is contained in:
L. David Baron 2015-11-29 23:15:00 -08:00
Родитель d180cd4a92
Коммит 258ddecaa0
5 изменённых файлов: 167 добавлений и 0 удалений

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

@ -58,3 +58,5 @@ skip-if(B2G||Mulet) == border-separate-opacity-table.html border-separate-opacit
== scrollable-rowgroup-separate-border.html scrollable-rowgroup-separate-notref.html # scrolling rowgroups were removed in bug 28800
== empty-cells-default-1.html empty-cells-default-1-ref.html
== empty-cells-default-2.html empty-cells-default-2-ref.html
fails == table-row-opacity-dynamic-1.html table-row-opacity-dynamic-1-ref.html # bug 1224253
fails == table-row-opacity-dynamic-2.html table-row-opacity-dynamic-2-ref.html # bug 1224251

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

@ -0,0 +1,28 @@
<!DOCTYPE HTML>
<html>
<title>Test for bug 1224253</title>
<style>
body { background: white; color: black }
table {
padding: 0;
border-spacing: 0;
border: none;
width: 15em;
}
tr {
background: rgba(0, 0, 255, 0.8);
}
td {
border: none;
}
</style>
<table>
<tr style="opacity: 0.8"><td>cell</td></tr>
</table>

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

@ -0,0 +1,55 @@
<!DOCTYPE HTML>
<html class="reftest-wait">
<title>Test for bug 1224253</title>
<style>
body { background: white; color: black }
table {
padding: 0;
border-spacing: 0;
border: none;
width: 15em;
}
tr {
background: rgba(0, 0, 255, 0.8);
}
td {
border: none;
}
</style>
<table>
<tr><td>cell</td></tr>
</table>
<script>
var tr = document.getElementsByTagName("tr")[0];
document.addEventListener("MozReftestInvalidate", step1, false);
function step1(event) {
requestAnimationFrame(step2);
}
function step2(now) {
tr.style.opacity = "0.8";
setTimeout(step3, 0);
}
function step3() {
tr.style.opacity = "0.8";
setTimeout(step4, 0);
}
function step4() {
tr.style.opacity = "0.8";
document.documentElement.classList.remove("reftest-wait");
}
</script>

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

@ -0,0 +1,28 @@
<!DOCTYPE HTML>
<html>
<title>Test for bug 1224253</title>
<style>
body { background: white; color: black }
table {
padding: 0;
border-spacing: 0;
border: none;
width: 15em;
}
tr {
background: rgba(0, 0, 255, 0.8);
}
td {
border: none;
}
</style>
<table>
<tr><td>cell</td></tr>
</table>

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

@ -0,0 +1,54 @@
<!DOCTYPE HTML>
<html class="reftest-wait">
<title>Test for bug 1224251</title>
<style>
body { background: white; color: black }
table {
padding: 0;
border-spacing: 0;
border: none;
width: 15em;
}
tr {
background: rgba(0, 0, 255, 0.8);
}
td {
border: none;
}
</style>
<table>
<tr style="opacity: 0.8"><td>cell</td></tr>
</table>
<script>
var tr = document.getElementsByTagName("tr")[0];
// Not sure why, but to make this test fail without the patch, this has to
// be a setTimeout(0) rather than waiting for MozReftestInvalidate.
setTimeout(step1, 0);
function step1() {
tr.style.opacity = "0.8";
setTimeout(step2, 0);
}
function step2() {
tr.style.opacity = "0.8";
setTimeout(step3, 0);
}
function step3() {
tr.style.opacity = "";
document.documentElement.classList.remove("reftest-wait");
}
</script>