76 lines
2.3 KiB
HTML
76 lines
2.3 KiB
HTML
<html>
|
|
<head>
|
|
<script src="../../resources/js-test-pre.js"></script>
|
|
<style>
|
|
img {
|
|
width: 100px;
|
|
height: 100px;
|
|
}
|
|
</style>
|
|
</head>
|
|
<body>
|
|
<img id="image-1" src="">
|
|
<img id="image-2" src="">
|
|
<img id="image-3" src="">
|
|
<img id="image-4" src="">
|
|
<script>
|
|
// The test finishes after getting the results of loading all the images.
|
|
jsTestIsAsync = true;
|
|
|
|
description("Test the allowlist of the image formats in WebKit.");
|
|
|
|
var images = [
|
|
{ id: "image-1", src: "resources/100x100-red.psd", isSupported: false },
|
|
{ id: "image-2", src: "resources/100x100-red.tga", isSupported: false },
|
|
{ id: "image-3", src: "resources/100x100-red-psd-renamed.png", isSupported: false },
|
|
{ id: "image-4", src: "resources/100x100-red-tga-renamed.png", isSupported: false },
|
|
];
|
|
|
|
function isSupported(src) {
|
|
var image = images.find(function(image) {
|
|
return image.src == src;
|
|
});
|
|
|
|
if (image == undefined) {
|
|
debug("Error: Unknown image src.");
|
|
return false;
|
|
}
|
|
|
|
return image.isSupported;
|
|
}
|
|
|
|
function loadImage(image) {
|
|
return new Promise((resolve) => {
|
|
var element = document.getElementById(image.id);
|
|
element.onload = (event) => {
|
|
shouldBeTrue("isSupported('" + image.src + "')");
|
|
resolve(image);
|
|
};
|
|
element.onerror = (event) => {
|
|
shouldBeFalse("isSupported('" + image.src + "')");
|
|
resolve(event);
|
|
};
|
|
document.getElementById(image.id).src = image.src;
|
|
});
|
|
}
|
|
|
|
function loadImages() {
|
|
let promise = loadImage(images[0]);
|
|
for (let index = 1; index < images.length; ++index) {
|
|
promise = promise.then(() => {
|
|
return loadImage(images[index]);
|
|
});
|
|
}
|
|
return promise;
|
|
}
|
|
|
|
(function() {
|
|
loadImages().then(() => {
|
|
finishJSTest();
|
|
});
|
|
})();
|
|
</script>
|
|
<script src="../../resources/js-test-post.js"></script>
|
|
</body>
|
|
</html>
|