Source code

Revision control

Copy as Markdown

Other Tools

// This is shared by image/test/mochitest/test_animated_css_image.html
// and image/test/browser/browser_animated_css_image.js
// Make sure any referenced files/images exist in both of those directories.
const kTests = [
// Sanity test: background-image on a regular element.
{
html: `
<!doctype html>
<style>
div {
width: 100px;
height: 100px;
background-image: url(animated1.gif);
}
</style>
<div></div>
`,
element(doc) {
return doc.querySelector("div");
},
},
// bug 1627585: content: url()
{
html: `
<!doctype html>
<style>
div::before {
content: url(animated1.gif);
}
</style>
<div></div>
`,
element(doc) {
return doc.querySelector("div");
},
},
// bug 1627585: content: url() (on an element directly)
{
html: `
<!doctype html>
<style>
div {
content: url(animated1.gif);
}
</style>
<div></div>
`,
element(doc) {
return doc.querySelector("div");
},
},
// bug 1625571: background propagated to canvas.
{
html: `
<!doctype html>
<style>
body {
background-image: url(animated1.gif);
}
</style>
`,
element(doc) {
return doc.documentElement;
},
},
// bug 1910297: background propagated to canvas with display: table
{
html: `
<!doctype html>
<style>
html {
display: table;
background-image: url(animated1.gif);
}
</style>
`,
element(doc) {
return doc.documentElement;
},
},
// bug 1719375: CSS animation in SVG image.
{
html: `
<!doctype html>
<style>
div {
width: 100px;
height: 100px;
background-image: url(animated1.svg);
}
</style>
<div></div>
`,
element(doc) {
return doc.querySelector("div");
},
},
// bug 1730834: stopped window.
{
html: `
<!doctype html>
<style>
div {
width: 100px;
height: 100px;
}
</style>
<body onload="window.stop(); document.querySelector('div').style.backgroundImage = 'url(animated1.gif)';">
<div></div>
</body>
`,
element(doc) {
return doc.querySelector("div");
},
},
// bug 1731138: Animated mask
{
html: `
<!doctype html>
<style>
div {
width: 100px;
height: 100px;
background-color: lime;
mask-clip: border-box;
mask-size: 100% 100%;
mask-image: url(animatedMask.gif);
}
</style>
<div></div>
`,
element(doc) {
return doc.querySelector("div");
},
},
// img element in preserve3d
{
html: `
<!doctype html>
<style>
div {
transform-style: preserve-3d;
}
img {
translate: 0;
}
</style>
<div><img src="animated1.gif"></div>
`,
element(doc) {
return doc.querySelector("img");
},
},
// img element in preserve3d with 3d transforms
{
html: `
<!doctype html>
<style>
.card-inner {
transform-style: preserve-3d;
transform: rotateY(180deg);
}
.card-back {
transform: rotateY(180deg);
}
</style>
<div class="card-inner">
<div class="card-back">
<img src="animated1.gif">
</div>
</div>
`,
element(doc) {
return doc.querySelector("img");
},
},
];