Skip to content

Instantly share code, notes, and snippets.

@Ms2ger
Created January 29, 2018 14:48
Show Gist options
  • Save Ms2ger/d442a91c532e47c33bdfc468fca694be to your computer and use it in GitHub Desktop.
Save Ms2ger/d442a91c532e47c33bdfc468fca694be to your computer and use it in GitHub Desktop.
<!DOCTYPE html>
<meta charset=utf-8>
<title>createImageBitmap</title>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="/common/media.js"></script>
<div id=log></div>
<script>
function makeVideo() {
return new Promise(function(resolve, reject) {
var video = document.createElement("video");
video.oncanplaythrough = function() {
resolve(video);
};
video.onerror = reject;
video.crossOrigin = "anonymous";
video.src = getVideoURI("/images/pattern")
});
}
const draw = v => {
const canvas = document.createElement("canvas");
canvas.width = 20;
canvas.height = 20;
document.body.appendChild(canvas);
canvas.style.border = "thick solid black"
const context = canvas.getContext("2d");
context.drawImage(v, 0, 0);
};
promise_test(function() {
return makeVideo().then((v) => {
draw(v)
return v;
}).then(createImageBitmap).then(video => {
draw(video)
let start = (5*20+5) * 4;
let data = video.data();
assert_equals(data[start+3], 255, "alpha")
assert_equals(data[start], 255, "red")
assert_equals(data[start+1], 0, "green")
assert_equals(data[start+2], 0, "blue")
})
});
</script>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment