var gl; var video; function onPlayingTestVideo() { video.removeEventListener("playing", onPlayingTestVideo, true); gl.texImage2D(gl.TEXTURE_2D, 0, gl.RGBA, gl.RGBA, gl.UNSIGNED_BYTE, video); is( gl.getError(), gl.NO_ERROR, "texImage2D should not generate any error here." ); video.pause(); SimpleTest.finish(); } function startTest(file) { gl = document.createElement("canvas").getContext("webgl"); ext = gl.getExtension("MOZ_debug"); ok(ext, "MOZ_debug extenstion should exist"); gl.bindTexture(gl.TEXTURE_2D, gl.createTexture()); gl.pixelStorei(ext.UNPACK_REQUIRE_FASTPATH, true); is( gl.getError(), gl.NO_ERROR, "pixelStorei should not generate any error here." ); video = document.createElement("video"); video.addEventListener("playing", onPlayingTestVideo, true); video.preload = "auto"; video.src = file; video.loop = true; video.play(); }