"use strict"; function EnsureExt(extName, shouldHave = true) { EnsureExtFor("webgl", extName, shouldHave); EnsureExtFor("webgl2", extName, shouldHave); } function EnsureExtFor(contextType, extName, shouldHave = true) { var c = document.createElement("canvas"); var gl = c.getContext(contextType); if (!gl) { todo(false, "Failed to create context: " + contextType); return; } var ext = gl.getExtension(extName); var haveText = " have " + contextType + " extension " + extName + "."; if (shouldHave) { ok(ext, "Should" + haveText); } else { ok(!ext, "Should not" + haveText); } } function Lastly_WithDraftExtsEnabled(func) { SimpleTest.waitForExplicitFinish(); var fnEnsure = function () { func(); SimpleTest.finish(); }; if ("SpecialPowers" in window) { var prefStateList = [["webgl.enable-draft-extensions", true]]; var prefEnv = { set: prefStateList }; SpecialPowers.pushPrefEnv(prefEnv, fnEnsure); } else { console.log("Couldn't use SpecialPowers to enable draft extensions."); fnEnsure(); } }