<html>
<script src="./resources/webgl-test-utils-full.js"></script>
<script src="./resources/tex-image-and-sub-image-utils.js"></script>
<script src="./resources/tex-image-and-sub-image-image-bitmap-utils-resize.js"></script>
<body>
<script>
if (window.testRunner)
    testRunner.waitUntilDone();

var video = document.createElement("video");
var canvas = document.createElement('canvas');
canvas.width = 400;
canvas.height = 400;
document.body.appendChild(canvas);

var testOptions = {sourceName: "HTMLVideoElement", imageSource: video,
                   sourceIsPremul: true, resizeWidth: 16, resizeHeight: 16,
                   resultsCanvas: canvas, printDebugInfoToConsole: false};
prepareWebGLContext(testOptions);

video.oncanplaythrough = function() {
    prepareResizedImageBitmapsAndRuntTests(testOptions);
};

video.preload = "auto";
video.src = "resources/red-green-blue-white-2x2.ogv";
</script>
