Backed out 2 changesets (bug 1617512) for breaking content on play.gl (bug 1620876). a=pascalc FIREFOX_74_0_BUILD3 FIREFOX_74_0_RELEASE
authorSebastian Hengst <archaeopteryx@coole-files.de>
Mon, 09 Mar 2020 10:51:06 +0100
changeset 579437 c6e493873ba543907dadabb42b64208a3679d43d
parent 579436 30ae1337400c5ff25255afe241240227b99e4db7
child 579438 0f23ca83fc9a788a307908fcc5577b3681008870
push id2282
push userarchaeopteryx@coole-files.de
push dateMon, 09 Mar 2020 09:51:59 +0000
treeherdermozilla-release@c6e493873ba5 [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewerspascalc
bugs1617512, 1620876
milestone74.0
backs out56347334409f96457973a6a5ed7bc48cba0831f0
6011727e1d41ba4bb85502ba4ea453d8ee28ff07
Backed out 2 changesets (bug 1617512) for breaking content on play.gl (bug 1620876). a=pascalc Backed out changeset 56347334409f (bug 1617512) Backed out changeset 6011727e1d41 (bug 1617512)
dom/canvas/WebGLValidateStrings.cpp
dom/canvas/test/webgl-conf/checkout/conformance/glsl/preprocessor/00_test_list.txt
dom/canvas/test/webgl-conf/checkout/conformance/glsl/preprocessor/comments.html
dom/canvas/test/webgl-conf/checkout/js/glsl-conformance-test.js
dom/canvas/test/webgl-conf/cherry_picks.txt
dom/canvas/test/webgl-conf/generated-mochitest.ini
dom/canvas/test/webgl-conf/generated/test_2_conformance2__buffers__getBufferSubData.html
dom/canvas/test/webgl-conf/generated/test_2_conformance2__extensions__webgl-get-buffer-sub-data-async-lose-context.html
dom/canvas/test/webgl-conf/generated/test_2_conformance2__extensions__webgl-get-buffer-sub-data-async-stress.html
dom/canvas/test/webgl-conf/generated/test_2_conformance2__extensions__webgl-get-buffer-sub-data-async.html
dom/canvas/test/webgl-conf/generated/test_2_conformance2__extensions__webgl_multiview.html
dom/canvas/test/webgl-conf/generated/test_2_conformance2__extensions__webgl_multiview_depth.html
dom/canvas/test/webgl-conf/generated/test_2_conformance2__extensions__webgl_multiview_draw_buffers.html
dom/canvas/test/webgl-conf/generated/test_2_conformance2__extensions__webgl_multiview_flat_varying.html
dom/canvas/test/webgl-conf/generated/test_2_conformance2__extensions__webgl_multiview_instanced_draw.html
dom/canvas/test/webgl-conf/generated/test_2_conformance2__extensions__webgl_multiview_non_multiview_shaders.html
dom/canvas/test/webgl-conf/generated/test_2_conformance2__extensions__webgl_multiview_single_view_operations.html
dom/canvas/test/webgl-conf/generated/test_2_conformance2__extensions__webgl_multiview_timer_query.html
dom/canvas/test/webgl-conf/generated/test_2_conformance2__extensions__webgl_multiview_transform_feedback.html
dom/canvas/test/webgl-conf/generated/test_2_conformance2__rendering__rendering-sampling-feedback-loop.html
dom/canvas/test/webgl-conf/generated/test_2_conformance__context__resource-sharing-test.html
dom/canvas/test/webgl-conf/generated/test_2_conformance__extensions__webgl-compressed-texture-atc.html
dom/canvas/test/webgl-conf/generated/test_2_conformance__extensions__webgl-shared-resources.html
dom/canvas/test/webgl-conf/generated/test_2_conformance__glsl__misc__shader-with-define-line-continuation.frag.html
dom/canvas/test/webgl-conf/generated/test_2_conformance__glsl__preprocessor__comments.html
dom/canvas/test/webgl-conf/generated/test_2_conformance__more__functions__drawArraysOutOfBounds.html
dom/canvas/test/webgl-conf/generated/test_2_conformance__more__functions__drawElementsBadArgs.html
dom/canvas/test/webgl-conf/generated/test_2_conformance__textures__misc__copy-tex-sub-image-2d-partial-texture.html
dom/canvas/test/webgl-conf/generated/test_2_deqp__functional__gles3__builtinprecision__abs.html
dom/canvas/test/webgl-conf/generated/test_2_deqp__functional__gles3__builtinprecision__acos.html
dom/canvas/test/webgl-conf/generated/test_2_deqp__functional__gles3__builtinprecision__acosh.html
dom/canvas/test/webgl-conf/generated/test_2_deqp__functional__gles3__builtinprecision__add.html
dom/canvas/test/webgl-conf/generated/test_2_deqp__functional__gles3__builtinprecision__asin.html
dom/canvas/test/webgl-conf/generated/test_2_deqp__functional__gles3__builtinprecision__asinh.html
dom/canvas/test/webgl-conf/generated/test_2_deqp__functional__gles3__builtinprecision__atan.html
dom/canvas/test/webgl-conf/generated/test_2_deqp__functional__gles3__builtinprecision__atan2.html
dom/canvas/test/webgl-conf/generated/test_2_deqp__functional__gles3__builtinprecision__atanh.html
dom/canvas/test/webgl-conf/generated/test_2_deqp__functional__gles3__builtinprecision__ceil.html
dom/canvas/test/webgl-conf/generated/test_2_deqp__functional__gles3__builtinprecision__clamp.html
dom/canvas/test/webgl-conf/generated/test_2_deqp__functional__gles3__builtinprecision__cos.html
dom/canvas/test/webgl-conf/generated/test_2_deqp__functional__gles3__builtinprecision__cosh.html
dom/canvas/test/webgl-conf/generated/test_2_deqp__functional__gles3__builtinprecision__cross.html
dom/canvas/test/webgl-conf/generated/test_2_deqp__functional__gles3__builtinprecision__degrees.html
dom/canvas/test/webgl-conf/generated/test_2_deqp__functional__gles3__builtinprecision__determinant.html
dom/canvas/test/webgl-conf/generated/test_2_deqp__functional__gles3__builtinprecision__distance.html
dom/canvas/test/webgl-conf/generated/test_2_deqp__functional__gles3__builtinprecision__div.html
dom/canvas/test/webgl-conf/generated/test_2_deqp__functional__gles3__builtinprecision__dot.html
dom/canvas/test/webgl-conf/generated/test_2_deqp__functional__gles3__builtinprecision__exp.html
dom/canvas/test/webgl-conf/generated/test_2_deqp__functional__gles3__builtinprecision__exp2.html
dom/canvas/test/webgl-conf/generated/test_2_deqp__functional__gles3__builtinprecision__faceforward.html
dom/canvas/test/webgl-conf/generated/test_2_deqp__functional__gles3__builtinprecision__floor.html
dom/canvas/test/webgl-conf/generated/test_2_deqp__functional__gles3__builtinprecision__fract.html
dom/canvas/test/webgl-conf/generated/test_2_deqp__functional__gles3__builtinprecision__inverse.html
dom/canvas/test/webgl-conf/generated/test_2_deqp__functional__gles3__builtinprecision__inversesqrt.html
dom/canvas/test/webgl-conf/generated/test_2_deqp__functional__gles3__builtinprecision__length.html
dom/canvas/test/webgl-conf/generated/test_2_deqp__functional__gles3__builtinprecision__log.html
dom/canvas/test/webgl-conf/generated/test_2_deqp__functional__gles3__builtinprecision__log2.html
dom/canvas/test/webgl-conf/generated/test_2_deqp__functional__gles3__builtinprecision__matrixcompmult.html
dom/canvas/test/webgl-conf/generated/test_2_deqp__functional__gles3__builtinprecision__max.html
dom/canvas/test/webgl-conf/generated/test_2_deqp__functional__gles3__builtinprecision__min.html
dom/canvas/test/webgl-conf/generated/test_2_deqp__functional__gles3__builtinprecision__mix.html
dom/canvas/test/webgl-conf/generated/test_2_deqp__functional__gles3__builtinprecision__mod.html
dom/canvas/test/webgl-conf/generated/test_2_deqp__functional__gles3__builtinprecision__modf.html
dom/canvas/test/webgl-conf/generated/test_2_deqp__functional__gles3__builtinprecision__mul.html
dom/canvas/test/webgl-conf/generated/test_2_deqp__functional__gles3__builtinprecision__normalize.html
dom/canvas/test/webgl-conf/generated/test_2_deqp__functional__gles3__builtinprecision__outerproduct.html
dom/canvas/test/webgl-conf/generated/test_2_deqp__functional__gles3__builtinprecision__pow.html
dom/canvas/test/webgl-conf/generated/test_2_deqp__functional__gles3__builtinprecision__radians.html
dom/canvas/test/webgl-conf/generated/test_2_deqp__functional__gles3__builtinprecision__reflect.html
dom/canvas/test/webgl-conf/generated/test_2_deqp__functional__gles3__builtinprecision__refract.html
dom/canvas/test/webgl-conf/generated/test_2_deqp__functional__gles3__builtinprecision__round.html
dom/canvas/test/webgl-conf/generated/test_2_deqp__functional__gles3__builtinprecision__roundeven.html
dom/canvas/test/webgl-conf/generated/test_2_deqp__functional__gles3__builtinprecision__sign.html
dom/canvas/test/webgl-conf/generated/test_2_deqp__functional__gles3__builtinprecision__sin.html
dom/canvas/test/webgl-conf/generated/test_2_deqp__functional__gles3__builtinprecision__sinh.html
dom/canvas/test/webgl-conf/generated/test_2_deqp__functional__gles3__builtinprecision__smoothstep.html
dom/canvas/test/webgl-conf/generated/test_2_deqp__functional__gles3__builtinprecision__sqrt.html
dom/canvas/test/webgl-conf/generated/test_2_deqp__functional__gles3__builtinprecision__step.html
dom/canvas/test/webgl-conf/generated/test_2_deqp__functional__gles3__builtinprecision__sub.html
dom/canvas/test/webgl-conf/generated/test_2_deqp__functional__gles3__builtinprecision__tan.html
dom/canvas/test/webgl-conf/generated/test_2_deqp__functional__gles3__builtinprecision__tanh.html
dom/canvas/test/webgl-conf/generated/test_2_deqp__functional__gles3__builtinprecision__transpose.html
dom/canvas/test/webgl-conf/generated/test_2_deqp__functional__gles3__builtinprecision__trunc.html
dom/canvas/test/webgl-conf/generated/test_2_deqp__functional__gles3__shaderoperator__common_functions.html
dom/canvas/test/webgl-conf/generated/test_conformance__context__resource-sharing-test.html
dom/canvas/test/webgl-conf/generated/test_conformance__extensions__webgl-compressed-texture-atc.html
dom/canvas/test/webgl-conf/generated/test_conformance__extensions__webgl-draw-buffers-feedback-loop.html
dom/canvas/test/webgl-conf/generated/test_conformance__extensions__webgl-shared-resources.html
dom/canvas/test/webgl-conf/generated/test_conformance__glsl__preprocessor__comments.html
dom/canvas/test/webgl-conf/generated/test_conformance__more__functions__drawArraysOutOfBounds.html
dom/canvas/test/webgl-conf/generated/test_conformance__more__functions__drawElementsBadArgs.html
dom/canvas/test/webgl-conf/generated/test_conformance__textures__misc__copy-tex-sub-image-2d-partial-texture.html
--- a/dom/canvas/WebGLValidateStrings.cpp
+++ b/dom/canvas/WebGLValidateStrings.cpp
@@ -1,83 +1,93 @@
 /* -*- Mode: C++; tab-width: 20; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
 /* This Source Code Form is subject to the terms of the Mozilla Public
  * License, v. 2.0. If a copy of the MPL was not distributed with this
  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
 
 #include "WebGLValidateStrings.h"
 
-#include <regex>
+#include "WebGLContext.h"
 
-#include "WebGLTypes.h"
+#include <regex>
 
 namespace mozilla {
 
 /* GLSL ES 3.00 p17:
   - Comments are delimited by / * and * /, or by // and a newline.
 
   - '//' style comments include the initial '//' marker and continue up to, but
 not including, the terminating newline.
 
   - '/ * ... * /' comments include both the start and end marker.
 
   - The begin comment delimiters (/ * or //) are not recognized as comment
 delimiters inside of a comment, hence comments cannot be nested.
 
   - Comments are treated syntactically as a single space.
+
+However, since we want to keep line/character numbers the same, replace
+char-for-char with spaces and newlines.
 */
 
 std::string CommentsToSpaces(const std::string& src) {
-  constexpr auto flags = std::regex::ECMAScript | std::regex::nosubs | std::regex::optimize;
+// `[^]` is any-including-newline
+// `*?` is non-greedy `*`, matching the fewest characters, instead of the most.
+// `??` is non-greedy `?`, preferring to match zero times, instead of once.
+// Non-continuing line comment is: `//[^]*?\n`
+// But line-continuation is `\\\n`
+// So we need to match `//[^]*?[^\\]\n`
+// But we need to recognize "//\n", thus: `//([^]*?[^\\])??\n`
+#define LINE_COMMENT "//(?:[^]*?[^\\\\])??\n"
 
-  static const auto RE_COMMENT_BEGIN = std::regex("/[*/]", flags);
-  static const auto RE_LINE_COMMENT_END = std::regex(R"([^\\]\n)", flags);
-  static const auto RE_BLOCK_COMMENT_END = std::regex(R"(\*/)", flags);
+// The fewest characters that match /*...*/
+#define BLOCK_COMMENT "/[*][^]*?[*]/"
+
+  static const std::regex COMMENT_RE(
+      "(?:" LINE_COMMENT ")|(?:" BLOCK_COMMENT ")",
+      std::regex::ECMAScript | std::regex::nosubs | std::regex::optimize);
+
+#undef LINE_COMMENT
+#undef BLOCK_COMMENT
+
+  static const std::regex TRAILING_RE("/[*/]", std::regex::ECMAScript |
+                                                   std::regex::nosubs |
+                                                   std::regex::optimize);
 
   std::string ret;
   ret.reserve(src.size());
 
-  // Replace all comments with block comments with the right number of newlines.
-  // Line positions may be off, but line numbers will be accurate, which is more important.
-
   auto itr = src.begin();
-  const auto end = src.end();
+  auto end = src.end();
   std::smatch match;
-  while (std::regex_search(itr, end, match, RE_COMMENT_BEGIN)) {
-    MOZ_ASSERT(match.length() == 2);
-    const auto commentBegin = itr + match.position();
-    ret.append(itr, commentBegin);
-
-    itr = commentBegin + match.length();
-
-    const bool isBlockComment = (*(commentBegin + 1) == '*');
-    const auto* endRegex = &RE_LINE_COMMENT_END;
-    if (isBlockComment) {
-      endRegex = &RE_BLOCK_COMMENT_END;
-    }
-
-    if (isBlockComment) {
-      ret += "/*";
-    }
-
-    const bool isTerminated = std::regex_search(itr, end, match, *endRegex);
-    if (!isTerminated) return ret;
-
-    const auto commentEnd = itr + match.position() + match.length();
-    for (; itr != commentEnd; ++itr) {
-      const auto cur = *itr;
-      if (cur == '\n') {
-        ret += cur;
+  while (std::regex_search(itr, end, match, COMMENT_RE)) {
+    const auto matchBegin = itr + match.position();
+    const auto matchEnd = matchBegin + match.length();
+    ret.append(itr, matchBegin);
+    for (itr = matchBegin; itr != matchEnd; ++itr) {
+      auto cur = *itr;
+      switch (cur) {
+        case '/':
+        case '*':
+        case '\n':
+        case '\\':
+          break;
+        default:
+          cur = ' ';
+          break;
       }
-    }
-    if (isBlockComment) {
-      ret += "*/";
+      ret += cur;
     }
   }
 
+  // Check for a trailing comment that hits EOF instead of the end of the
+  // comment.
+  if (std::regex_search(itr, end, match, TRAILING_RE)) {
+    end = itr + match.position();
+  }
   ret.append(itr, end);
   return ret;
 }
 
 ////////////////////////////////////////////////////////////////////////////////
 
 static bool IsValidGLSLChar(const char c) {
   if (('a' <= c && c <= 'z') || ('A' <= c && c <= 'Z') ||
--- a/dom/canvas/test/webgl-conf/checkout/conformance/glsl/preprocessor/00_test_list.txt
+++ b/dom/canvas/test/webgl-conf/checkout/conformance/glsl/preprocessor/00_test_list.txt
@@ -1,2 +1,1 @@
---min-version 1.0.4 comments.html
 --min-version 1.0.4 macro-expansion-tricky.html
deleted file mode 100644
--- a/dom/canvas/test/webgl-conf/checkout/conformance/glsl/preprocessor/comments.html
+++ /dev/null
@@ -1,85 +0,0 @@
-<!--
-Copyright (c) 2020 The Khronos Group Inc.
-Use of this source code is governed by an MIT-style license that can be
-found in the LICENSE.txt file.
--->
-
-<!DOCTYPE html>
-<html>
-<head>
-<meta charset="utf-8">
-<title>Comments</title>
-<link rel="stylesheet" href="../../../resources/js-test-style.css"/>
-<script src="../../../js/js-test-pre.js"></script>
-<script src="../../../js/webgl-test-utils.js"></script>
-<script src="../../../js/glsl-conformance-test.js"></script>
-</head>
-<body>
-<div id="description"></div>
-<div id="console"></div>
-<script>
-"use strict";
-description();
-
-// Your syntax highlighter may hate this file.
-
-GLSLConformanceTester.runTests([{
-    vShaderSource: `void main() {}`,
-    vShaderSuccess: true,
-    linkSuccess: true,
-    passMsg: 'Normal minimal testcase'
-  }, {
-    vShaderSource: `void main() {}/*`,
-    vShaderSuccess: false,
-    linkSuccess: false,
-    passMsg: 'Missing block-comment-end'
-  }, {
-    vShaderSource: `void main() {}/**`,
-    vShaderSuccess: false,
-    linkSuccess: false,
-    passMsg: 'Partial block-comment-end'
-  }, {
-    vShaderSource: `void main() {}/**/`,
-    vShaderSuccess: true,
-    linkSuccess: true,
-    passMsg: 'Complete block-comment-end'
-  }, {
-    vShaderSource: `void main() {}/`,
-    vShaderSuccess: false,
-    linkSuccess: false,
-    passMsg: 'Partial line-comment-begin at EOF'
-  }, {
-    vShaderSource: `void main() {}//`,
-    vShaderSuccess: true,
-    linkSuccess: true,
-    passMsg: 'Complete line-comment-begin at EOF'
-  }, {
-    vShaderSource: `void main() {} // The quick brown fox jumped\\over the lazy dog`,
-    vShaderSuccess: true,
-    linkSuccess: true,
-    passMsg: 'Backslash in comment'
-  }, {
-    vShaderSource: `void main() {} // The quick brown fox jumped\\over the lazy dog
-`,
-    vShaderSuccess: true,
-    linkSuccess: true,
-    passMsg: 'Backslash in comment with newline before EOF'
-  }, {
-    vShaderSource: `void main() {} // The quick brown fox jumped\\
-over the lazy dog`,
-    vShaderSuccess: true,
-    linkSuccess: true,
-    passMsg: 'Line-comment with backslash-line-continuation'
-  }, {
-    vShaderSource: `void main() {} // The quick brown fox jumped\\
-over the lazy dog
-`,
-    vShaderSuccess: true,
-    linkSuccess: true,
-    passMsg: 'Line-comment with backslash-line-continuation with newline before EOF'
-  },
-]);
-</script>
-</body>
-</html>
-
--- a/dom/canvas/test/webgl-conf/checkout/js/glsl-conformance-test.js
+++ b/dom/canvas/test/webgl-conf/checkout/js/glsl-conformance-test.js
@@ -229,18 +229,17 @@ function runOneTest(gl, info) {
     }
     gl.linkProgram(program);
     var linked = (gl.getProgramParameter(program, gl.LINK_STATUS) != 0);
     if (!linked) {
       var error = gl.getProgramInfoLog(program);
       log("*** Error linking program '"+program+"':"+error);
     }
     if (!info.ignoreResults && linked != info.linkSuccess) {
-      testFailed("[unexpected link status] (expected: " +
-                info.linkSuccess + ") " + passMsg);
+      testFailed("[unexpected link status] " + passMsg);
       return;
     }
   } else {
     if (!info.ignoreResults && info.linkSuccess) {
       testFailed("[link failed] " + passMsg);
       return;
     }
   }
--- a/dom/canvas/test/webgl-conf/cherry_picks.txt
+++ b/dom/canvas/test/webgl-conf/cherry_picks.txt
@@ -1,9 +1,8 @@
-local
 commit 6f0b34abee8dba611c253738d955c59f703c147a
 Author: ShrekShao <shrekshao@gmail.com>
 Date:   Tue Apr 23 17:40:58 2019 -0700
 
     Empty glsl fragment shader fixes (#2856)
     
     * drawBuffers(gl.NONE]) for empty es 300 fragment shader
     
@@ -3172,24 +3171,16 @@ Date:   Sun Oct 8 05:47:02 2017 +0800
     will be compared with expectations and a final report will be generated.
 
 commit 5eb2d21bf9747e9d18092691dd2be40815d9c93a
 Author: Jeff Gilbert <jdashg@gmail.com>
 Date:   Thu Sep 28 15:00:14 2017 -0700
 
     Update EXT_sRGB test to forbid GenerateMipmap as per parent spec. (#2524)
 
-commit 7ff0c2857868fafa202f7b169266dd46250afa20
-Author: Jeff Gilbert <jgilbert@mozilla.com>
-Date:   Tue Feb 25 10:43:35 2020 -0800
-
-    Add GLSL preprocessor comment behavior tests. (#3028)
-    
-    Firefox bug: https://bugzilla.mozilla.org/show_bug.cgi?id=1617512
-
 Cherries picked
 ================================================================================
 Merge base from: origin/master
 
 commit 8bf026028fe6f66454d18711daab7a26967b37cd
 Author: Ken Russell <kbrussel@alum.mit.edu>
 Date:   Tue Sep 26 15:09:24 2017 -0700
 
--- a/dom/canvas/test/webgl-conf/generated-mochitest.ini
+++ b/dom/canvas/test/webgl-conf/generated-mochitest.ini
@@ -435,17 +435,16 @@ support-files = always-fail.html
                 checkout/conformance/glsl/misc/struct-specifiers-in-uniforms.html
                 checkout/conformance/glsl/misc/struct-unary-operators.html
                 checkout/conformance/glsl/misc/ternary-operator-on-arrays.html
                 checkout/conformance/glsl/misc/ternary-operators-in-global-initializers.html
                 checkout/conformance/glsl/misc/ternary-operators-in-initializers.html
                 checkout/conformance/glsl/misc/uniform-location-length-limits.html
                 checkout/conformance/glsl/misc/uninitialized-local-global-variables.html
                 checkout/conformance/glsl/preprocessor/00_test_list.txt
-                checkout/conformance/glsl/preprocessor/comments.html
                 checkout/conformance/glsl/preprocessor/macro-expansion-tricky.html
                 checkout/conformance/glsl/reserved/00_test_list.txt
                 checkout/conformance/glsl/reserved/_webgl_field.vert.html
                 checkout/conformance/glsl/reserved/_webgl_function.vert.html
                 checkout/conformance/glsl/reserved/_webgl_struct.vert.html
                 checkout/conformance/glsl/reserved/_webgl_variable.vert.html
                 checkout/conformance/glsl/reserved/webgl_field.vert.html
                 checkout/conformance/glsl/reserved/webgl_function.vert.html
@@ -8135,18 +8134,16 @@ subsuite = webgl2-ext
 [generated/test_2_conformance__glsl__misc__ternary-operator-on-arrays.html]
 subsuite = webgl2-ext
 [generated/test_2_conformance__glsl__misc__ternary-operators-in-global-initializers.html]
 subsuite = webgl2-ext
 [generated/test_2_conformance__glsl__misc__ternary-operators-in-initializers.html]
 subsuite = webgl2-ext
 [generated/test_2_conformance__glsl__misc__uninitialized-local-global-variables.html]
 subsuite = webgl2-ext
-[generated/test_2_conformance__glsl__preprocessor__comments.html]
-subsuite = webgl2-ext
 [generated/test_2_conformance__glsl__preprocessor__macro-expansion-tricky.html]
 subsuite = webgl2-ext
 [generated/test_2_conformance__glsl__reserved___webgl_field.vert.html]
 subsuite = webgl2-ext
 [generated/test_2_conformance__glsl__reserved___webgl_function.vert.html]
 subsuite = webgl2-ext
 [generated/test_2_conformance__glsl__reserved___webgl_struct.vert.html]
 subsuite = webgl2-ext
@@ -11540,18 +11537,16 @@ subsuite = webgl1-ext
 [generated/test_conformance__glsl__misc__ternary-operators-in-global-initializers.html]
 subsuite = webgl1-ext
 [generated/test_conformance__glsl__misc__ternary-operators-in-initializers.html]
 subsuite = webgl1-ext
 [generated/test_conformance__glsl__misc__uniform-location-length-limits.html]
 subsuite = webgl1-ext
 [generated/test_conformance__glsl__misc__uninitialized-local-global-variables.html]
 subsuite = webgl1-ext
-[generated/test_conformance__glsl__preprocessor__comments.html]
-subsuite = webgl1-ext
 [generated/test_conformance__glsl__preprocessor__macro-expansion-tricky.html]
 subsuite = webgl1-ext
 [generated/test_conformance__glsl__reserved___webgl_field.vert.html]
 subsuite = webgl1-ext
 [generated/test_conformance__glsl__reserved___webgl_function.vert.html]
 subsuite = webgl1-ext
 [generated/test_conformance__glsl__reserved___webgl_struct.vert.html]
 subsuite = webgl1-ext
new file mode 100644
--- /dev/null
+++ b/dom/canvas/test/webgl-conf/generated/test_2_conformance2__buffers__getBufferSubData.html
@@ -0,0 +1,17 @@
+<!-- GENERATED FILE, DO NOT EDIT -->
+<!DOCTYPE HTML>
+<html>
+  <head>
+    <meta charset='utf-8'/>
+    <title>
+      Mochitest wrapper for WebGL Conformance Test Suite tests
+    </title>
+    <link rel='stylesheet' type='text/css' href='../iframe-passthrough.css'/>
+
+    <script src='/tests/SimpleTest/SimpleTest.js'></script>
+    <link rel='stylesheet' type='text/css' href='/tests/SimpleTest/test.css'/>
+  </head>
+  <body>
+    <iframe src='../mochi-single.html?checkout/conformance2/buffers/getBufferSubData.html?webglVersion=2'></iframe>
+  </body>
+</html>
new file mode 100644
--- /dev/null
+++ b/dom/canvas/test/webgl-conf/generated/test_2_conformance2__extensions__webgl-get-buffer-sub-data-async-lose-context.html
@@ -0,0 +1,17 @@
+<!-- GENERATED FILE, DO NOT EDIT -->
+<!DOCTYPE HTML>
+<html>
+  <head>
+    <meta charset='utf-8'/>
+    <title>
+      Mochitest wrapper for WebGL Conformance Test Suite tests
+    </title>
+    <link rel='stylesheet' type='text/css' href='../iframe-passthrough.css'/>
+
+    <script src='/tests/SimpleTest/SimpleTest.js'></script>
+    <link rel='stylesheet' type='text/css' href='/tests/SimpleTest/test.css'/>
+  </head>
+  <body>
+    <iframe src='../mochi-single.html?checkout/conformance2/extensions/webgl-get-buffer-sub-data-async-lose-context.html?webglVersion=2'></iframe>
+  </body>
+</html>
new file mode 100644
--- /dev/null
+++ b/dom/canvas/test/webgl-conf/generated/test_2_conformance2__extensions__webgl-get-buffer-sub-data-async-stress.html
@@ -0,0 +1,17 @@
+<!-- GENERATED FILE, DO NOT EDIT -->
+<!DOCTYPE HTML>
+<html>
+  <head>
+    <meta charset='utf-8'/>
+    <title>
+      Mochitest wrapper for WebGL Conformance Test Suite tests
+    </title>
+    <link rel='stylesheet' type='text/css' href='../iframe-passthrough.css'/>
+
+    <script src='/tests/SimpleTest/SimpleTest.js'></script>
+    <link rel='stylesheet' type='text/css' href='/tests/SimpleTest/test.css'/>
+  </head>
+  <body>
+    <iframe src='../mochi-single.html?checkout/conformance2/extensions/webgl-get-buffer-sub-data-async-stress.html?webglVersion=2'></iframe>
+  </body>
+</html>
new file mode 100644
--- /dev/null
+++ b/dom/canvas/test/webgl-conf/generated/test_2_conformance2__extensions__webgl-get-buffer-sub-data-async.html
@@ -0,0 +1,17 @@
+<!-- GENERATED FILE, DO NOT EDIT -->
+<!DOCTYPE HTML>
+<html>
+  <head>
+    <meta charset='utf-8'/>
+    <title>
+      Mochitest wrapper for WebGL Conformance Test Suite tests
+    </title>
+    <link rel='stylesheet' type='text/css' href='../iframe-passthrough.css'/>
+
+    <script src='/tests/SimpleTest/SimpleTest.js'></script>
+    <link rel='stylesheet' type='text/css' href='/tests/SimpleTest/test.css'/>
+  </head>
+  <body>
+    <iframe src='../mochi-single.html?checkout/conformance2/extensions/webgl-get-buffer-sub-data-async.html?webglVersion=2'></iframe>
+  </body>
+</html>
new file mode 100644
--- /dev/null
+++ b/dom/canvas/test/webgl-conf/generated/test_2_conformance2__extensions__webgl_multiview.html
@@ -0,0 +1,17 @@
+<!-- GENERATED FILE, DO NOT EDIT -->
+<!DOCTYPE HTML>
+<html>
+  <head>
+    <meta charset='utf-8'/>
+    <title>
+      Mochitest wrapper for WebGL Conformance Test Suite tests
+    </title>
+    <link rel='stylesheet' type='text/css' href='../iframe-passthrough.css'/>
+
+    <script src='/tests/SimpleTest/SimpleTest.js'></script>
+    <link rel='stylesheet' type='text/css' href='/tests/SimpleTest/test.css'/>
+  </head>
+  <body>
+    <iframe src='../mochi-single.html?checkout/conformance2/extensions/webgl_multiview.html?webglVersion=2'></iframe>
+  </body>
+</html>
new file mode 100644
--- /dev/null
+++ b/dom/canvas/test/webgl-conf/generated/test_2_conformance2__extensions__webgl_multiview_depth.html
@@ -0,0 +1,17 @@
+<!-- GENERATED FILE, DO NOT EDIT -->
+<!DOCTYPE HTML>
+<html>
+  <head>
+    <meta charset='utf-8'/>
+    <title>
+      Mochitest wrapper for WebGL Conformance Test Suite tests
+    </title>
+    <link rel='stylesheet' type='text/css' href='../iframe-passthrough.css'/>
+
+    <script src='/tests/SimpleTest/SimpleTest.js'></script>
+    <link rel='stylesheet' type='text/css' href='/tests/SimpleTest/test.css'/>
+  </head>
+  <body>
+    <iframe src='../mochi-single.html?checkout/conformance2/extensions/webgl_multiview_depth.html?webglVersion=2'></iframe>
+  </body>
+</html>
new file mode 100644
--- /dev/null
+++ b/dom/canvas/test/webgl-conf/generated/test_2_conformance2__extensions__webgl_multiview_draw_buffers.html
@@ -0,0 +1,17 @@
+<!-- GENERATED FILE, DO NOT EDIT -->
+<!DOCTYPE HTML>
+<html>
+  <head>
+    <meta charset='utf-8'/>
+    <title>
+      Mochitest wrapper for WebGL Conformance Test Suite tests
+    </title>
+    <link rel='stylesheet' type='text/css' href='../iframe-passthrough.css'/>
+
+    <script src='/tests/SimpleTest/SimpleTest.js'></script>
+    <link rel='stylesheet' type='text/css' href='/tests/SimpleTest/test.css'/>
+  </head>
+  <body>
+    <iframe src='../mochi-single.html?checkout/conformance2/extensions/webgl_multiview_draw_buffers.html?webglVersion=2'></iframe>
+  </body>
+</html>
new file mode 100644
--- /dev/null
+++ b/dom/canvas/test/webgl-conf/generated/test_2_conformance2__extensions__webgl_multiview_flat_varying.html
@@ -0,0 +1,17 @@
+<!-- GENERATED FILE, DO NOT EDIT -->
+<!DOCTYPE HTML>
+<html>
+  <head>
+    <meta charset='utf-8'/>
+    <title>
+      Mochitest wrapper for WebGL Conformance Test Suite tests
+    </title>
+    <link rel='stylesheet' type='text/css' href='../iframe-passthrough.css'/>
+
+    <script src='/tests/SimpleTest/SimpleTest.js'></script>
+    <link rel='stylesheet' type='text/css' href='/tests/SimpleTest/test.css'/>
+  </head>
+  <body>
+    <iframe src='../mochi-single.html?checkout/conformance2/extensions/webgl_multiview_flat_varying.html?webglVersion=2'></iframe>
+  </body>
+</html>
new file mode 100644
--- /dev/null
+++ b/dom/canvas/test/webgl-conf/generated/test_2_conformance2__extensions__webgl_multiview_instanced_draw.html
@@ -0,0 +1,17 @@
+<!-- GENERATED FILE, DO NOT EDIT -->
+<!DOCTYPE HTML>
+<html>
+  <head>
+    <meta charset='utf-8'/>
+    <title>
+      Mochitest wrapper for WebGL Conformance Test Suite tests
+    </title>
+    <link rel='stylesheet' type='text/css' href='../iframe-passthrough.css'/>
+
+    <script src='/tests/SimpleTest/SimpleTest.js'></script>
+    <link rel='stylesheet' type='text/css' href='/tests/SimpleTest/test.css'/>
+  </head>
+  <body>
+    <iframe src='../mochi-single.html?checkout/conformance2/extensions/webgl_multiview_instanced_draw.html?webglVersion=2'></iframe>
+  </body>
+</html>
new file mode 100644
--- /dev/null
+++ b/dom/canvas/test/webgl-conf/generated/test_2_conformance2__extensions__webgl_multiview_non_multiview_shaders.html
@@ -0,0 +1,17 @@
+<!-- GENERATED FILE, DO NOT EDIT -->
+<!DOCTYPE HTML>
+<html>
+  <head>
+    <meta charset='utf-8'/>
+    <title>
+      Mochitest wrapper for WebGL Conformance Test Suite tests
+    </title>
+    <link rel='stylesheet' type='text/css' href='../iframe-passthrough.css'/>
+
+    <script src='/tests/SimpleTest/SimpleTest.js'></script>
+    <link rel='stylesheet' type='text/css' href='/tests/SimpleTest/test.css'/>
+  </head>
+  <body>
+    <iframe src='../mochi-single.html?checkout/conformance2/extensions/webgl_multiview_non_multiview_shaders.html?webglVersion=2'></iframe>
+  </body>
+</html>
new file mode 100644
--- /dev/null
+++ b/dom/canvas/test/webgl-conf/generated/test_2_conformance2__extensions__webgl_multiview_single_view_operations.html
@@ -0,0 +1,17 @@
+<!-- GENERATED FILE, DO NOT EDIT -->
+<!DOCTYPE HTML>
+<html>
+  <head>
+    <meta charset='utf-8'/>
+    <title>
+      Mochitest wrapper for WebGL Conformance Test Suite tests
+    </title>
+    <link rel='stylesheet' type='text/css' href='../iframe-passthrough.css'/>
+
+    <script src='/tests/SimpleTest/SimpleTest.js'></script>
+    <link rel='stylesheet' type='text/css' href='/tests/SimpleTest/test.css'/>
+  </head>
+  <body>
+    <iframe src='../mochi-single.html?checkout/conformance2/extensions/webgl_multiview_single_view_operations.html?webglVersion=2'></iframe>
+  </body>
+</html>
new file mode 100644
--- /dev/null
+++ b/dom/canvas/test/webgl-conf/generated/test_2_conformance2__extensions__webgl_multiview_timer_query.html
@@ -0,0 +1,17 @@
+<!-- GENERATED FILE, DO NOT EDIT -->
+<!DOCTYPE HTML>
+<html>
+  <head>
+    <meta charset='utf-8'/>
+    <title>
+      Mochitest wrapper for WebGL Conformance Test Suite tests
+    </title>
+    <link rel='stylesheet' type='text/css' href='../iframe-passthrough.css'/>
+
+    <script src='/tests/SimpleTest/SimpleTest.js'></script>
+    <link rel='stylesheet' type='text/css' href='/tests/SimpleTest/test.css'/>
+  </head>
+  <body>
+    <iframe src='../mochi-single.html?checkout/conformance2/extensions/webgl_multiview_timer_query.html?webglVersion=2'></iframe>
+  </body>
+</html>
new file mode 100644
--- /dev/null
+++ b/dom/canvas/test/webgl-conf/generated/test_2_conformance2__extensions__webgl_multiview_transform_feedback.html
@@ -0,0 +1,17 @@
+<!-- GENERATED FILE, DO NOT EDIT -->
+<!DOCTYPE HTML>
+<html>
+  <head>
+    <meta charset='utf-8'/>
+    <title>
+      Mochitest wrapper for WebGL Conformance Test Suite tests
+    </title>
+    <link rel='stylesheet' type='text/css' href='../iframe-passthrough.css'/>
+
+    <script src='/tests/SimpleTest/SimpleTest.js'></script>
+    <link rel='stylesheet' type='text/css' href='/tests/SimpleTest/test.css'/>
+  </head>
+  <body>
+    <iframe src='../mochi-single.html?checkout/conformance2/extensions/webgl_multiview_transform_feedback.html?webglVersion=2'></iframe>
+  </body>
+</html>
new file mode 100644
--- /dev/null
+++ b/dom/canvas/test/webgl-conf/generated/test_2_conformance2__rendering__rendering-sampling-feedback-loop.html
@@ -0,0 +1,17 @@
+<!-- GENERATED FILE, DO NOT EDIT -->
+<!DOCTYPE HTML>
+<html>
+  <head>
+    <meta charset='utf-8'/>
+    <title>
+      Mochitest wrapper for WebGL Conformance Test Suite tests
+    </title>
+    <link rel='stylesheet' type='text/css' href='../iframe-passthrough.css'/>
+
+    <script src='/tests/SimpleTest/SimpleTest.js'></script>
+    <link rel='stylesheet' type='text/css' href='/tests/SimpleTest/test.css'/>
+  </head>
+  <body>
+    <iframe src='../mochi-single.html?checkout/conformance2/rendering/rendering-sampling-feedback-loop.html?webglVersion=2'></iframe>
+  </body>
+</html>
new file mode 100644
--- /dev/null
+++ b/dom/canvas/test/webgl-conf/generated/test_2_conformance__context__resource-sharing-test.html
@@ -0,0 +1,17 @@
+<!-- GENERATED FILE, DO NOT EDIT -->
+<!DOCTYPE HTML>
+<html>
+  <head>
+    <meta charset='utf-8'/>
+    <title>
+      Mochitest wrapper for WebGL Conformance Test Suite tests
+    </title>
+    <link rel='stylesheet' type='text/css' href='../iframe-passthrough.css'/>
+
+    <script src='/tests/SimpleTest/SimpleTest.js'></script>
+    <link rel='stylesheet' type='text/css' href='/tests/SimpleTest/test.css'/>
+  </head>
+  <body>
+    <iframe src='../mochi-single.html?checkout/conformance/context/resource-sharing-test.html?webglVersion=2'></iframe>
+  </body>
+</html>
new file mode 100644
--- /dev/null
+++ b/dom/canvas/test/webgl-conf/generated/test_2_conformance__extensions__webgl-compressed-texture-atc.html
@@ -0,0 +1,17 @@
+<!-- GENERATED FILE, DO NOT EDIT -->
+<!DOCTYPE HTML>
+<html>
+  <head>
+    <meta charset='utf-8'/>
+    <title>
+      Mochitest wrapper for WebGL Conformance Test Suite tests
+    </title>
+    <link rel='stylesheet' type='text/css' href='../iframe-passthrough.css'/>
+
+    <script src='/tests/SimpleTest/SimpleTest.js'></script>
+    <link rel='stylesheet' type='text/css' href='/tests/SimpleTest/test.css'/>
+  </head>
+  <body>
+    <iframe src='../mochi-single.html?checkout/conformance/extensions/webgl-compressed-texture-atc.html?webglVersion=2'></iframe>
+  </body>
+</html>
new file mode 100644
--- /dev/null
+++ b/dom/canvas/test/webgl-conf/generated/test_2_conformance__extensions__webgl-shared-resources.html
@@ -0,0 +1,17 @@
+<!-- GENERATED FILE, DO NOT EDIT -->
+<!DOCTYPE HTML>
+<html>
+  <head>
+    <meta charset='utf-8'/>
+    <title>
+      Mochitest wrapper for WebGL Conformance Test Suite tests
+    </title>
+    <link rel='stylesheet' type='text/css' href='../iframe-passthrough.css'/>
+
+    <script src='/tests/SimpleTest/SimpleTest.js'></script>
+    <link rel='stylesheet' type='text/css' href='/tests/SimpleTest/test.css'/>
+  </head>
+  <body>
+    <iframe src='../mochi-single.html?checkout/conformance/extensions/webgl-shared-resources.html?webglVersion=2'></iframe>
+  </body>
+</html>
new file mode 100644
--- /dev/null
+++ b/dom/canvas/test/webgl-conf/generated/test_2_conformance__glsl__misc__shader-with-define-line-continuation.frag.html
@@ -0,0 +1,17 @@
+<!-- GENERATED FILE, DO NOT EDIT -->
+<!DOCTYPE HTML>
+<html>
+  <head>
+    <meta charset='utf-8'/>
+    <title>
+      Mochitest wrapper for WebGL Conformance Test Suite tests
+    </title>
+    <link rel='stylesheet' type='text/css' href='../iframe-passthrough.css'/>
+
+    <script src='/tests/SimpleTest/SimpleTest.js'></script>
+    <link rel='stylesheet' type='text/css' href='/tests/SimpleTest/test.css'/>
+  </head>
+  <body>
+    <iframe src='../mochi-single.html?checkout/conformance/glsl/misc/shader-with-define-line-continuation.frag.html?webglVersion=2'></iframe>
+  </body>
+</html>
deleted file mode 100644
--- a/dom/canvas/test/webgl-conf/generated/test_2_conformance__glsl__preprocessor__comments.html
+++ /dev/null
@@ -1,17 +0,0 @@
-<!-- GENERATED FILE, DO NOT EDIT -->
-<!DOCTYPE HTML>
-<html>
-  <head>
-    <meta charset='utf-8'/>
-    <title>
-      Mochitest wrapper for WebGL Conformance Test Suite tests
-    </title>
-    <link rel='stylesheet' type='text/css' href='../iframe-passthrough.css'/>
-
-    <script src='/tests/SimpleTest/SimpleTest.js'></script>
-    <link rel='stylesheet' type='text/css' href='/tests/SimpleTest/test.css'/>
-  </head>
-  <body>
-    <iframe src='../mochi-single.html?checkout/conformance/glsl/preprocessor/comments.html?webglVersion=2'></iframe>
-  </body>
-</html>
new file mode 100644
--- /dev/null
+++ b/dom/canvas/test/webgl-conf/generated/test_2_conformance__more__functions__drawArraysOutOfBounds.html
@@ -0,0 +1,17 @@
+<!-- GENERATED FILE, DO NOT EDIT -->
+<!DOCTYPE HTML>
+<html>
+  <head>
+    <meta charset='utf-8'/>
+    <title>
+      Mochitest wrapper for WebGL Conformance Test Suite tests
+    </title>
+    <link rel='stylesheet' type='text/css' href='../iframe-passthrough.css'/>
+
+    <script src='/tests/SimpleTest/SimpleTest.js'></script>
+    <link rel='stylesheet' type='text/css' href='/tests/SimpleTest/test.css'/>
+  </head>
+  <body>
+    <iframe src='../mochi-single.html?checkout/conformance/more/functions/drawArraysOutOfBounds.html?webglVersion=2'></iframe>
+  </body>
+</html>
new file mode 100644
--- /dev/null
+++ b/dom/canvas/test/webgl-conf/generated/test_2_conformance__more__functions__drawElementsBadArgs.html
@@ -0,0 +1,17 @@
+<!-- GENERATED FILE, DO NOT EDIT -->
+<!DOCTYPE HTML>
+<html>
+  <head>
+    <meta charset='utf-8'/>
+    <title>
+      Mochitest wrapper for WebGL Conformance Test Suite tests
+    </title>
+    <link rel='stylesheet' type='text/css' href='../iframe-passthrough.css'/>
+
+    <script src='/tests/SimpleTest/SimpleTest.js'></script>
+    <link rel='stylesheet' type='text/css' href='/tests/SimpleTest/test.css'/>
+  </head>
+  <body>
+    <iframe src='../mochi-single.html?checkout/conformance/more/functions/drawElementsBadArgs.html?webglVersion=2'></iframe>
+  </body>
+</html>
new file mode 100644
--- /dev/null
+++ b/dom/canvas/test/webgl-conf/generated/test_2_conformance__textures__misc__copy-tex-sub-image-2d-partial-texture.html
@@ -0,0 +1,17 @@
+<!-- GENERATED FILE, DO NOT EDIT -->
+<!DOCTYPE HTML>
+<html>
+  <head>
+    <meta charset='utf-8'/>
+    <title>
+      Mochitest wrapper for WebGL Conformance Test Suite tests
+    </title>
+    <link rel='stylesheet' type='text/css' href='../iframe-passthrough.css'/>
+
+    <script src='/tests/SimpleTest/SimpleTest.js'></script>
+    <link rel='stylesheet' type='text/css' href='/tests/SimpleTest/test.css'/>
+  </head>
+  <body>
+    <iframe src='../mochi-single.html?checkout/conformance/textures/misc/copy-tex-sub-image-2d-partial-texture.html?webglVersion=2'></iframe>
+  </body>
+</html>
new file mode 100644
--- /dev/null
+++ b/dom/canvas/test/webgl-conf/generated/test_2_deqp__functional__gles3__builtinprecision__abs.html
@@ -0,0 +1,17 @@
+<!-- GENERATED FILE, DO NOT EDIT -->
+<!DOCTYPE HTML>
+<html>
+  <head>
+    <meta charset='utf-8'/>
+    <title>
+      Mochitest wrapper for WebGL Conformance Test Suite tests
+    </title>
+    <link rel='stylesheet' type='text/css' href='../iframe-passthrough.css'/>
+
+    <script src='/tests/SimpleTest/SimpleTest.js'></script>
+    <link rel='stylesheet' type='text/css' href='/tests/SimpleTest/test.css'/>
+  </head>
+  <body>
+    <iframe src='../mochi-single.html?checkout/deqp/functional/gles3/builtinprecision/abs.html?webglVersion=2'></iframe>
+  </body>
+</html>
new file mode 100644
--- /dev/null
+++ b/dom/canvas/test/webgl-conf/generated/test_2_deqp__functional__gles3__builtinprecision__acos.html
@@ -0,0 +1,17 @@
+<!-- GENERATED FILE, DO NOT EDIT -->
+<!DOCTYPE HTML>
+<html>
+  <head>
+    <meta charset='utf-8'/>
+    <title>
+      Mochitest wrapper for WebGL Conformance Test Suite tests
+    </title>
+    <link rel='stylesheet' type='text/css' href='../iframe-passthrough.css'/>
+
+    <script src='/tests/SimpleTest/SimpleTest.js'></script>
+    <link rel='stylesheet' type='text/css' href='/tests/SimpleTest/test.css'/>
+  </head>
+  <body>
+    <iframe src='../mochi-single.html?checkout/deqp/functional/gles3/builtinprecision/acos.html?webglVersion=2'></iframe>
+  </body>
+</html>
new file mode 100644
--- /dev/null
+++ b/dom/canvas/test/webgl-conf/generated/test_2_deqp__functional__gles3__builtinprecision__acosh.html
@@ -0,0 +1,17 @@
+<!-- GENERATED FILE, DO NOT EDIT -->
+<!DOCTYPE HTML>
+<html>
+  <head>
+    <meta charset='utf-8'/>
+    <title>
+      Mochitest wrapper for WebGL Conformance Test Suite tests
+    </title>
+    <link rel='stylesheet' type='text/css' href='../iframe-passthrough.css'/>
+
+    <script src='/tests/SimpleTest/SimpleTest.js'></script>
+    <link rel='stylesheet' type='text/css' href='/tests/SimpleTest/test.css'/>
+  </head>
+  <body>
+    <iframe src='../mochi-single.html?checkout/deqp/functional/gles3/builtinprecision/acosh.html?webglVersion=2'></iframe>
+  </body>
+</html>
new file mode 100644
--- /dev/null
+++ b/dom/canvas/test/webgl-conf/generated/test_2_deqp__functional__gles3__builtinprecision__add.html
@@ -0,0 +1,17 @@
+<!-- GENERATED FILE, DO NOT EDIT -->
+<!DOCTYPE HTML>
+<html>
+  <head>
+    <meta charset='utf-8'/>
+    <title>
+      Mochitest wrapper for WebGL Conformance Test Suite tests
+    </title>
+    <link rel='stylesheet' type='text/css' href='../iframe-passthrough.css'/>
+
+    <script src='/tests/SimpleTest/SimpleTest.js'></script>
+    <link rel='stylesheet' type='text/css' href='/tests/SimpleTest/test.css'/>
+  </head>
+  <body>
+    <iframe src='../mochi-single.html?checkout/deqp/functional/gles3/builtinprecision/add.html?webglVersion=2'></iframe>
+  </body>
+</html>
new file mode 100644
--- /dev/null
+++ b/dom/canvas/test/webgl-conf/generated/test_2_deqp__functional__gles3__builtinprecision__asin.html
@@ -0,0 +1,17 @@
+<!-- GENERATED FILE, DO NOT EDIT -->
+<!DOCTYPE HTML>
+<html>
+  <head>
+    <meta charset='utf-8'/>
+    <title>
+      Mochitest wrapper for WebGL Conformance Test Suite tests
+    </title>
+    <link rel='stylesheet' type='text/css' href='../iframe-passthrough.css'/>
+
+    <script src='/tests/SimpleTest/SimpleTest.js'></script>
+    <link rel='stylesheet' type='text/css' href='/tests/SimpleTest/test.css'/>
+  </head>
+  <body>
+    <iframe src='../mochi-single.html?checkout/deqp/functional/gles3/builtinprecision/asin.html?webglVersion=2'></iframe>
+  </body>
+</html>
new file mode 100644
--- /dev/null
+++ b/dom/canvas/test/webgl-conf/generated/test_2_deqp__functional__gles3__builtinprecision__asinh.html
@@ -0,0 +1,17 @@
+<!-- GENERATED FILE, DO NOT EDIT -->
+<!DOCTYPE HTML>
+<html>
+  <head>
+    <meta charset='utf-8'/>
+    <title>
+      Mochitest wrapper for WebGL Conformance Test Suite tests
+    </title>
+    <link rel='stylesheet' type='text/css' href='../iframe-passthrough.css'/>
+
+    <script src='/tests/SimpleTest/SimpleTest.js'></script>
+    <link rel='stylesheet' type='text/css' href='/tests/SimpleTest/test.css'/>
+  </head>
+  <body>
+    <iframe src='../mochi-single.html?checkout/deqp/functional/gles3/builtinprecision/asinh.html?webglVersion=2'></iframe>
+  </body>
+</html>
new file mode 100644
--- /dev/null
+++ b/dom/canvas/test/webgl-conf/generated/test_2_deqp__functional__gles3__builtinprecision__atan.html
@@ -0,0 +1,17 @@
+<!-- GENERATED FILE, DO NOT EDIT -->
+<!DOCTYPE HTML>
+<html>
+  <head>
+    <meta charset='utf-8'/>
+    <title>
+      Mochitest wrapper for WebGL Conformance Test Suite tests
+    </title>
+    <link rel='stylesheet' type='text/css' href='../iframe-passthrough.css'/>
+
+    <script src='/tests/SimpleTest/SimpleTest.js'></script>
+    <link rel='stylesheet' type='text/css' href='/tests/SimpleTest/test.css'/>
+  </head>
+  <body>
+    <iframe src='../mochi-single.html?checkout/deqp/functional/gles3/builtinprecision/atan.html?webglVersion=2'></iframe>
+  </body>
+</html>
new file mode 100644
--- /dev/null
+++ b/dom/canvas/test/webgl-conf/generated/test_2_deqp__functional__gles3__builtinprecision__atan2.html
@@ -0,0 +1,17 @@
+<!-- GENERATED FILE, DO NOT EDIT -->
+<!DOCTYPE HTML>
+<html>
+  <head>
+    <meta charset='utf-8'/>
+    <title>
+      Mochitest wrapper for WebGL Conformance Test Suite tests
+    </title>
+    <link rel='stylesheet' type='text/css' href='../iframe-passthrough.css'/>
+
+    <script src='/tests/SimpleTest/SimpleTest.js'></script>
+    <link rel='stylesheet' type='text/css' href='/tests/SimpleTest/test.css'/>
+  </head>
+  <body>
+    <iframe src='../mochi-single.html?checkout/deqp/functional/gles3/builtinprecision/atan2.html?webglVersion=2'></iframe>
+  </body>
+</html>
new file mode 100644
--- /dev/null
+++ b/dom/canvas/test/webgl-conf/generated/test_2_deqp__functional__gles3__builtinprecision__atanh.html
@@ -0,0 +1,17 @@
+<!-- GENERATED FILE, DO NOT EDIT -->
+<!DOCTYPE HTML>
+<html>
+  <head>
+    <meta charset='utf-8'/>
+    <title>
+      Mochitest wrapper for WebGL Conformance Test Suite tests
+    </title>
+    <link rel='stylesheet' type='text/css' href='../iframe-passthrough.css'/>
+
+    <script src='/tests/SimpleTest/SimpleTest.js'></script>
+    <link rel='stylesheet' type='text/css' href='/tests/SimpleTest/test.css'/>
+  </head>
+  <body>
+    <iframe src='../mochi-single.html?checkout/deqp/functional/gles3/builtinprecision/atanh.html?webglVersion=2'></iframe>
+  </body>
+</html>
new file mode 100644
--- /dev/null
+++ b/dom/canvas/test/webgl-conf/generated/test_2_deqp__functional__gles3__builtinprecision__ceil.html
@@ -0,0 +1,17 @@
+<!-- GENERATED FILE, DO NOT EDIT -->
+<!DOCTYPE HTML>
+<html>
+  <head>
+    <meta charset='utf-8'/>
+    <title>
+      Mochitest wrapper for WebGL Conformance Test Suite tests
+    </title>
+    <link rel='stylesheet' type='text/css' href='../iframe-passthrough.css'/>
+
+    <script src='/tests/SimpleTest/SimpleTest.js'></script>
+    <link rel='stylesheet' type='text/css' href='/tests/SimpleTest/test.css'/>
+  </head>
+  <body>
+    <iframe src='../mochi-single.html?checkout/deqp/functional/gles3/builtinprecision/ceil.html?webglVersion=2'></iframe>
+  </body>
+</html>
new file mode 100644
--- /dev/null
+++ b/dom/canvas/test/webgl-conf/generated/test_2_deqp__functional__gles3__builtinprecision__clamp.html
@@ -0,0 +1,17 @@
+<!-- GENERATED FILE, DO NOT EDIT -->
+<!DOCTYPE HTML>
+<html>
+  <head>
+    <meta charset='utf-8'/>
+    <title>
+      Mochitest wrapper for WebGL Conformance Test Suite tests
+    </title>
+    <link rel='stylesheet' type='text/css' href='../iframe-passthrough.css'/>
+
+    <script src='/tests/SimpleTest/SimpleTest.js'></script>
+    <link rel='stylesheet' type='text/css' href='/tests/SimpleTest/test.css'/>
+  </head>
+  <body>
+    <iframe src='../mochi-single.html?checkout/deqp/functional/gles3/builtinprecision/clamp.html?webglVersion=2'></iframe>
+  </body>
+</html>
new file mode 100644
--- /dev/null
+++ b/dom/canvas/test/webgl-conf/generated/test_2_deqp__functional__gles3__builtinprecision__cos.html
@@ -0,0 +1,17 @@
+<!-- GENERATED FILE, DO NOT EDIT -->
+<!DOCTYPE HTML>
+<html>
+  <head>
+    <meta charset='utf-8'/>
+    <title>
+      Mochitest wrapper for WebGL Conformance Test Suite tests
+    </title>
+    <link rel='stylesheet' type='text/css' href='../iframe-passthrough.css'/>
+
+    <script src='/tests/SimpleTest/SimpleTest.js'></script>
+    <link rel='stylesheet' type='text/css' href='/tests/SimpleTest/test.css'/>
+  </head>
+  <body>
+    <iframe src='../mochi-single.html?checkout/deqp/functional/gles3/builtinprecision/cos.html?webglVersion=2'></iframe>
+  </body>
+</html>
new file mode 100644
--- /dev/null
+++ b/dom/canvas/test/webgl-conf/generated/test_2_deqp__functional__gles3__builtinprecision__cosh.html
@@ -0,0 +1,17 @@
+<!-- GENERATED FILE, DO NOT EDIT -->
+<!DOCTYPE HTML>
+<html>
+  <head>
+    <meta charset='utf-8'/>
+    <title>
+      Mochitest wrapper for WebGL Conformance Test Suite tests
+    </title>
+    <link rel='stylesheet' type='text/css' href='../iframe-passthrough.css'/>
+
+    <script src='/tests/SimpleTest/SimpleTest.js'></script>
+    <link rel='stylesheet' type='text/css' href='/tests/SimpleTest/test.css'/>
+  </head>
+  <body>
+    <iframe src='../mochi-single.html?checkout/deqp/functional/gles3/builtinprecision/cosh.html?webglVersion=2'></iframe>
+  </body>
+</html>
new file mode 100644
--- /dev/null
+++ b/dom/canvas/test/webgl-conf/generated/test_2_deqp__functional__gles3__builtinprecision__cross.html
@@ -0,0 +1,17 @@
+<!-- GENERATED FILE, DO NOT EDIT -->
+<!DOCTYPE HTML>
+<html>
+  <head>
+    <meta charset='utf-8'/>
+    <title>
+      Mochitest wrapper for WebGL Conformance Test Suite tests
+    </title>
+    <link rel='stylesheet' type='text/css' href='../iframe-passthrough.css'/>
+
+    <script src='/tests/SimpleTest/SimpleTest.js'></script>
+    <link rel='stylesheet' type='text/css' href='/tests/SimpleTest/test.css'/>
+  </head>
+  <body>
+    <iframe src='../mochi-single.html?checkout/deqp/functional/gles3/builtinprecision/cross.html?webglVersion=2'></iframe>
+  </body>
+</html>
new file mode 100644
--- /dev/null
+++ b/dom/canvas/test/webgl-conf/generated/test_2_deqp__functional__gles3__builtinprecision__degrees.html
@@ -0,0 +1,17 @@
+<!-- GENERATED FILE, DO NOT EDIT -->
+<!DOCTYPE HTML>
+<html>
+  <head>
+    <meta charset='utf-8'/>
+    <title>
+      Mochitest wrapper for WebGL Conformance Test Suite tests
+    </title>
+    <link rel='stylesheet' type='text/css' href='../iframe-passthrough.css'/>
+
+    <script src='/tests/SimpleTest/SimpleTest.js'></script>
+    <link rel='stylesheet' type='text/css' href='/tests/SimpleTest/test.css'/>
+  </head>
+  <body>
+    <iframe src='../mochi-single.html?checkout/deqp/functional/gles3/builtinprecision/degrees.html?webglVersion=2'></iframe>
+  </body>
+</html>
new file mode 100644
--- /dev/null
+++ b/dom/canvas/test/webgl-conf/generated/test_2_deqp__functional__gles3__builtinprecision__determinant.html
@@ -0,0 +1,17 @@
+<!-- GENERATED FILE, DO NOT EDIT -->
+<!DOCTYPE HTML>
+<html>
+  <head>
+    <meta charset='utf-8'/>
+    <title>
+      Mochitest wrapper for WebGL Conformance Test Suite tests
+    </title>
+    <link rel='stylesheet' type='text/css' href='../iframe-passthrough.css'/>
+
+    <script src='/tests/SimpleTest/SimpleTest.js'></script>
+    <link rel='stylesheet' type='text/css' href='/tests/SimpleTest/test.css'/>
+  </head>
+  <body>
+    <iframe src='../mochi-single.html?checkout/deqp/functional/gles3/builtinprecision/determinant.html?webglVersion=2'></iframe>
+  </body>
+</html>
new file mode 100644
--- /dev/null
+++ b/dom/canvas/test/webgl-conf/generated/test_2_deqp__functional__gles3__builtinprecision__distance.html
@@ -0,0 +1,17 @@
+<!-- GENERATED FILE, DO NOT EDIT -->
+<!DOCTYPE HTML>
+<html>
+  <head>
+    <meta charset='utf-8'/>
+    <title>
+      Mochitest wrapper for WebGL Conformance Test Suite tests
+    </title>
+    <link rel='stylesheet' type='text/css' href='../iframe-passthrough.css'/>
+
+    <script src='/tests/SimpleTest/SimpleTest.js'></script>
+    <link rel='stylesheet' type='text/css' href='/tests/SimpleTest/test.css'/>
+  </head>
+  <body>
+    <iframe src='../mochi-single.html?checkout/deqp/functional/gles3/builtinprecision/distance.html?webglVersion=2'></iframe>
+  </body>
+</html>
new file mode 100644
--- /dev/null
+++ b/dom/canvas/test/webgl-conf/generated/test_2_deqp__functional__gles3__builtinprecision__div.html
@@ -0,0 +1,17 @@
+<!-- GENERATED FILE, DO NOT EDIT -->
+<!DOCTYPE HTML>
+<html>
+  <head>
+    <meta charset='utf-8'/>
+    <title>
+      Mochitest wrapper for WebGL Conformance Test Suite tests
+    </title>
+    <link rel='stylesheet' type='text/css' href='../iframe-passthrough.css'/>
+
+    <script src='/tests/SimpleTest/SimpleTest.js'></script>
+    <link rel='stylesheet' type='text/css' href='/tests/SimpleTest/test.css'/>
+  </head>
+  <body>
+    <iframe src='../mochi-single.html?checkout/deqp/functional/gles3/builtinprecision/div.html?webglVersion=2'></iframe>
+  </body>
+</html>
new file mode 100644
--- /dev/null
+++ b/dom/canvas/test/webgl-conf/generated/test_2_deqp__functional__gles3__builtinprecision__dot.html
@@ -0,0 +1,17 @@
+<!-- GENERATED FILE, DO NOT EDIT -->
+<!DOCTYPE HTML>
+<html>
+  <head>
+    <meta charset='utf-8'/>
+    <title>
+      Mochitest wrapper for WebGL Conformance Test Suite tests
+    </title>
+    <link rel='stylesheet' type='text/css' href='../iframe-passthrough.css'/>
+
+    <script src='/tests/SimpleTest/SimpleTest.js'></script>
+    <link rel='stylesheet' type='text/css' href='/tests/SimpleTest/test.css'/>
+  </head>
+  <body>
+    <iframe src='../mochi-single.html?checkout/deqp/functional/gles3/builtinprecision/dot.html?webglVersion=2'></iframe>
+  </body>
+</html>
new file mode 100644
--- /dev/null
+++ b/dom/canvas/test/webgl-conf/generated/test_2_deqp__functional__gles3__builtinprecision__exp.html
@@ -0,0 +1,17 @@
+<!-- GENERATED FILE, DO NOT EDIT -->
+<!DOCTYPE HTML>
+<html>
+  <head>
+    <meta charset='utf-8'/>
+    <title>
+      Mochitest wrapper for WebGL Conformance Test Suite tests
+    </title>
+    <link rel='stylesheet' type='text/css' href='../iframe-passthrough.css'/>
+
+    <script src='/tests/SimpleTest/SimpleTest.js'></script>
+    <link rel='stylesheet' type='text/css' href='/tests/SimpleTest/test.css'/>
+  </head>
+  <body>
+    <iframe src='../mochi-single.html?checkout/deqp/functional/gles3/builtinprecision/exp.html?webglVersion=2'></iframe>
+  </body>
+</html>
new file mode 100644
--- /dev/null
+++ b/dom/canvas/test/webgl-conf/generated/test_2_deqp__functional__gles3__builtinprecision__exp2.html
@@ -0,0 +1,17 @@
+<!-- GENERATED FILE, DO NOT EDIT -->
+<!DOCTYPE HTML>
+<html>
+  <head>
+    <meta charset='utf-8'/>
+    <title>
+      Mochitest wrapper for WebGL Conformance Test Suite tests
+    </title>
+    <link rel='stylesheet' type='text/css' href='../iframe-passthrough.css'/>
+
+    <script src='/tests/SimpleTest/SimpleTest.js'></script>
+    <link rel='stylesheet' type='text/css' href='/tests/SimpleTest/test.css'/>
+  </head>
+  <body>
+    <iframe src='../mochi-single.html?checkout/deqp/functional/gles3/builtinprecision/exp2.html?webglVersion=2'></iframe>
+  </body>
+</html>
new file mode 100644
--- /dev/null
+++ b/dom/canvas/test/webgl-conf/generated/test_2_deqp__functional__gles3__builtinprecision__faceforward.html
@@ -0,0 +1,17 @@
+<!-- GENERATED FILE, DO NOT EDIT -->
+<!DOCTYPE HTML>
+<html>
+  <head>
+    <meta charset='utf-8'/>
+    <title>
+      Mochitest wrapper for WebGL Conformance Test Suite tests
+    </title>
+    <link rel='stylesheet' type='text/css' href='../iframe-passthrough.css'/>
+
+    <script src='/tests/SimpleTest/SimpleTest.js'></script>
+    <link rel='stylesheet' type='text/css' href='/tests/SimpleTest/test.css'/>
+  </head>
+  <body>
+    <iframe src='../mochi-single.html?checkout/deqp/functional/gles3/builtinprecision/faceforward.html?webglVersion=2'></iframe>
+  </body>
+</html>
new file mode 100644
--- /dev/null
+++ b/dom/canvas/test/webgl-conf/generated/test_2_deqp__functional__gles3__builtinprecision__floor.html
@@ -0,0 +1,17 @@
+<!-- GENERATED FILE, DO NOT EDIT -->
+<!DOCTYPE HTML>
+<html>
+  <head>
+    <meta charset='utf-8'/>
+    <title>
+      Mochitest wrapper for WebGL Conformance Test Suite tests
+    </title>
+    <link rel='stylesheet' type='text/css' href='../iframe-passthrough.css'/>
+
+    <script src='/tests/SimpleTest/SimpleTest.js'></script>
+    <link rel='stylesheet' type='text/css' href='/tests/SimpleTest/test.css'/>
+  </head>
+  <body>
+    <iframe src='../mochi-single.html?checkout/deqp/functional/gles3/builtinprecision/floor.html?webglVersion=2'></iframe>
+  </body>
+</html>
new file mode 100644
--- /dev/null
+++ b/dom/canvas/test/webgl-conf/generated/test_2_deqp__functional__gles3__builtinprecision__fract.html
@@ -0,0 +1,17 @@
+<!-- GENERATED FILE, DO NOT EDIT -->
+<!DOCTYPE HTML>
+<html>
+  <head>
+    <meta charset='utf-8'/>
+    <title>
+      Mochitest wrapper for WebGL Conformance Test Suite tests
+    </title>
+    <link rel='stylesheet' type='text/css' href='../iframe-passthrough.css'/>
+
+    <script src='/tests/SimpleTest/SimpleTest.js'></script>
+    <link rel='stylesheet' type='text/css' href='/tests/SimpleTest/test.css'/>
+  </head>
+  <body>
+    <iframe src='../mochi-single.html?checkout/deqp/functional/gles3/builtinprecision/fract.html?webglVersion=2'></iframe>
+  </body>
+</html>
new file mode 100644
--- /dev/null
+++ b/dom/canvas/test/webgl-conf/generated/test_2_deqp__functional__gles3__builtinprecision__inverse.html
@@ -0,0 +1,17 @@
+<!-- GENERATED FILE, DO NOT EDIT -->
+<!DOCTYPE HTML>
+<html>
+  <head>
+    <meta charset='utf-8'/>
+    <title>
+      Mochitest wrapper for WebGL Conformance Test Suite tests
+    </title>
+    <link rel='stylesheet' type='text/css' href='../iframe-passthrough.css'/>
+
+    <script src='/tests/SimpleTest/SimpleTest.js'></script>
+    <link rel='stylesheet' type='text/css' href='/tests/SimpleTest/test.css'/>
+  </head>
+  <body>
+    <iframe src='../mochi-single.html?checkout/deqp/functional/gles3/builtinprecision/inverse.html?webglVersion=2'></iframe>
+  </body>
+</html>
new file mode 100644
--- /dev/null
+++ b/dom/canvas/test/webgl-conf/generated/test_2_deqp__functional__gles3__builtinprecision__inversesqrt.html
@@ -0,0 +1,17 @@
+<!-- GENERATED FILE, DO NOT EDIT -->
+<!DOCTYPE HTML>
+<html>
+  <head>
+    <meta charset='utf-8'/>
+    <title>
+      Mochitest wrapper for WebGL Conformance Test Suite tests
+    </title>
+    <link rel='stylesheet' type='text/css' href='../iframe-passthrough.css'/>
+
+    <script src='/tests/SimpleTest/SimpleTest.js'></script>
+    <link rel='stylesheet' type='text/css' href='/tests/SimpleTest/test.css'/>
+  </head>
+  <body>
+    <iframe src='../mochi-single.html?checkout/deqp/functional/gles3/builtinprecision/inversesqrt.html?webglVersion=2'></iframe>
+  </body>
+</html>
new file mode 100644
--- /dev/null
+++ b/dom/canvas/test/webgl-conf/generated/test_2_deqp__functional__gles3__builtinprecision__length.html
@@ -0,0 +1,17 @@
+<!-- GENERATED FILE, DO NOT EDIT -->
+<!DOCTYPE HTML>
+<html>
+  <head>
+    <meta charset='utf-8'/>
+    <title>
+      Mochitest wrapper for WebGL Conformance Test Suite tests
+    </title>
+    <link rel='stylesheet' type='text/css' href='../iframe-passthrough.css'/>
+
+    <script src='/tests/SimpleTest/SimpleTest.js'></script>
+    <link rel='stylesheet' type='text/css' href='/tests/SimpleTest/test.css'/>
+  </head>
+  <body>
+    <iframe src='../mochi-single.html?checkout/deqp/functional/gles3/builtinprecision/length.html?webglVersion=2'></iframe>
+  </body>
+</html>
new file mode 100644
--- /dev/null
+++ b/dom/canvas/test/webgl-conf/generated/test_2_deqp__functional__gles3__builtinprecision__log.html
@@ -0,0 +1,17 @@
+<!-- GENERATED FILE, DO NOT EDIT -->
+<!DOCTYPE HTML>
+<html>
+  <head>
+    <meta charset='utf-8'/>
+    <title>
+      Mochitest wrapper for WebGL Conformance Test Suite tests
+    </title>
+    <link rel='stylesheet' type='text/css' href='../iframe-passthrough.css'/>
+
+    <script src='/tests/SimpleTest/SimpleTest.js'></script>
+    <link rel='stylesheet' type='text/css' href='/tests/SimpleTest/test.css'/>
+  </head>
+  <body>
+    <iframe src='../mochi-single.html?checkout/deqp/functional/gles3/builtinprecision/log.html?webglVersion=2'></iframe>
+  </body>
+</html>
new file mode 100644
--- /dev/null
+++ b/dom/canvas/test/webgl-conf/generated/test_2_deqp__functional__gles3__builtinprecision__log2.html
@@ -0,0 +1,17 @@
+<!-- GENERATED FILE, DO NOT EDIT -->
+<!DOCTYPE HTML>
+<html>
+  <head>
+    <meta charset='utf-8'/>
+    <title>
+      Mochitest wrapper for WebGL Conformance Test Suite tests
+    </title>
+    <link rel='stylesheet' type='text/css' href='../iframe-passthrough.css'/>
+
+    <script src='/tests/SimpleTest/SimpleTest.js'></script>
+    <link rel='stylesheet' type='text/css' href='/tests/SimpleTest/test.css'/>
+  </head>
+  <body>
+    <iframe src='../mochi-single.html?checkout/deqp/functional/gles3/builtinprecision/log2.html?webglVersion=2'></iframe>
+  </body>
+</html>
new file mode 100644
--- /dev/null
+++ b/dom/canvas/test/webgl-conf/generated/test_2_deqp__functional__gles3__builtinprecision__matrixcompmult.html
@@ -0,0 +1,17 @@
+<!-- GENERATED FILE, DO NOT EDIT -->
+<!DOCTYPE HTML>
+<html>
+  <head>
+    <meta charset='utf-8'/>
+    <title>
+      Mochitest wrapper for WebGL Conformance Test Suite tests
+    </title>
+    <link rel='stylesheet' type='text/css' href='../iframe-passthrough.css'/>
+
+    <script src='/tests/SimpleTest/SimpleTest.js'></script>
+    <link rel='stylesheet' type='text/css' href='/tests/SimpleTest/test.css'/>
+  </head>
+  <body>
+    <iframe src='../mochi-single.html?checkout/deqp/functional/gles3/builtinprecision/matrixcompmult.html?webglVersion=2'></iframe>
+  </body>
+</html>
new file mode 100644
--- /dev/null
+++ b/dom/canvas/test/webgl-conf/generated/test_2_deqp__functional__gles3__builtinprecision__max.html
@@ -0,0 +1,17 @@
+<!-- GENERATED FILE, DO NOT EDIT -->
+<!DOCTYPE HTML>
+<html>
+  <head>
+    <meta charset='utf-8'/>
+    <title>
+      Mochitest wrapper for WebGL Conformance Test Suite tests
+    </title>
+    <link rel='stylesheet' type='text/css' href='../iframe-passthrough.css'/>
+
+    <script src='/tests/SimpleTest/SimpleTest.js'></script>
+    <link rel='stylesheet' type='text/css' href='/tests/SimpleTest/test.css'/>
+  </head>
+  <body>
+    <iframe src='../mochi-single.html?checkout/deqp/functional/gles3/builtinprecision/max.html?webglVersion=2'></iframe>
+  </body>
+</html>
new file mode 100644
--- /dev/null
+++ b/dom/canvas/test/webgl-conf/generated/test_2_deqp__functional__gles3__builtinprecision__min.html
@@ -0,0 +1,17 @@
+<!-- GENERATED FILE, DO NOT EDIT -->
+<!DOCTYPE HTML>
+<html>
+  <head>
+    <meta charset='utf-8'/>
+    <title>
+      Mochitest wrapper for WebGL Conformance Test Suite tests
+    </title>
+    <link rel='stylesheet' type='text/css' href='../iframe-passthrough.css'/>
+
+    <script src='/tests/SimpleTest/SimpleTest.js'></script>
+    <link rel='stylesheet' type='text/css' href='/tests/SimpleTest/test.css'/>
+  </head>
+  <body>
+    <iframe src='../mochi-single.html?checkout/deqp/functional/gles3/builtinprecision/min.html?webglVersion=2'></iframe>
+  </body>
+</html>
new file mode 100644
--- /dev/null
+++ b/dom/canvas/test/webgl-conf/generated/test_2_deqp__functional__gles3__builtinprecision__mix.html
@@ -0,0 +1,17 @@
+<!-- GENERATED FILE, DO NOT EDIT -->
+<!DOCTYPE HTML>
+<html>
+  <head>
+    <meta charset='utf-8'/>
+    <title>
+      Mochitest wrapper for WebGL Conformance Test Suite tests
+    </title>
+    <link rel='stylesheet' type='text/css' href='../iframe-passthrough.css'/>
+
+    <script src='/tests/SimpleTest/SimpleTest.js'></script>
+    <link rel='stylesheet' type='text/css' href='/tests/SimpleTest/test.css'/>
+  </head>
+  <body>
+    <iframe src='../mochi-single.html?checkout/deqp/functional/gles3/builtinprecision/mix.html?webglVersion=2'></iframe>
+  </body>
+</html>
new file mode 100644
--- /dev/null
+++ b/dom/canvas/test/webgl-conf/generated/test_2_deqp__functional__gles3__builtinprecision__mod.html
@@ -0,0 +1,17 @@
+<!-- GENERATED FILE, DO NOT EDIT -->
+<!DOCTYPE HTML>
+<html>
+  <head>
+    <meta charset='utf-8'/>
+    <title>
+      Mochitest wrapper for WebGL Conformance Test Suite tests
+    </title>
+    <link rel='stylesheet' type='text/css' href='../iframe-passthrough.css'/>
+
+    <script src='/tests/SimpleTest/SimpleTest.js'></script>
+    <link rel='stylesheet' type='text/css' href='/tests/SimpleTest/test.css'/>
+  </head>
+  <body>
+    <iframe src='../mochi-single.html?checkout/deqp/functional/gles3/builtinprecision/mod.html?webglVersion=2'></iframe>
+  </body>
+</html>
new file mode 100644
--- /dev/null
+++ b/dom/canvas/test/webgl-conf/generated/test_2_deqp__functional__gles3__builtinprecision__modf.html
@@ -0,0 +1,17 @@
+<!-- GENERATED FILE, DO NOT EDIT -->
+<!DOCTYPE HTML>
+<html>
+  <head>
+    <meta charset='utf-8'/>
+    <title>
+      Mochitest wrapper for WebGL Conformance Test Suite tests
+    </title>
+    <link rel='stylesheet' type='text/css' href='../iframe-passthrough.css'/>
+
+    <script src='/tests/SimpleTest/SimpleTest.js'></script>
+    <link rel='stylesheet' type='text/css' href='/tests/SimpleTest/test.css'/>
+  </head>
+  <body>
+    <iframe src='../mochi-single.html?checkout/deqp/functional/gles3/builtinprecision/modf.html?webglVersion=2'></iframe>
+  </body>
+</html>
new file mode 100644
--- /dev/null
+++ b/dom/canvas/test/webgl-conf/generated/test_2_deqp__functional__gles3__builtinprecision__mul.html
@@ -0,0 +1,17 @@
+<!-- GENERATED FILE, DO NOT EDIT -->
+<!DOCTYPE HTML>
+<html>
+  <head>
+    <meta charset='utf-8'/>
+    <title>
+      Mochitest wrapper for WebGL Conformance Test Suite tests
+    </title>
+    <link rel='stylesheet' type='text/css' href='../iframe-passthrough.css'/>
+
+    <script src='/tests/SimpleTest/SimpleTest.js'></script>
+    <link rel='stylesheet' type='text/css' href='/tests/SimpleTest/test.css'/>
+  </head>
+  <body>
+    <iframe src='../mochi-single.html?checkout/deqp/functional/gles3/builtinprecision/mul.html?webglVersion=2'></iframe>
+  </body>
+</html>
new file mode 100644
--- /dev/null
+++ b/dom/canvas/test/webgl-conf/generated/test_2_deqp__functional__gles3__builtinprecision__normalize.html
@@ -0,0 +1,17 @@
+<!-- GENERATED FILE, DO NOT EDIT -->
+<!DOCTYPE HTML>
+<html>
+  <head>
+    <meta charset='utf-8'/>
+    <title>
+      Mochitest wrapper for WebGL Conformance Test Suite tests
+    </title>
+    <link rel='stylesheet' type='text/css' href='../iframe-passthrough.css'/>
+
+    <script src='/tests/SimpleTest/SimpleTest.js'></script>
+    <link rel='stylesheet' type='text/css' href='/tests/SimpleTest/test.css'/>
+  </head>
+  <body>
+    <iframe src='../mochi-single.html?checkout/deqp/functional/gles3/builtinprecision/normalize.html?webglVersion=2'></iframe>
+  </body>
+</html>
new file mode 100644
--- /dev/null
+++ b/dom/canvas/test/webgl-conf/generated/test_2_deqp__functional__gles3__builtinprecision__outerproduct.html
@@ -0,0 +1,17 @@
+<!-- GENERATED FILE, DO NOT EDIT -->
+<!DOCTYPE HTML>
+<html>
+  <head>
+    <meta charset='utf-8'/>
+    <title>
+      Mochitest wrapper for WebGL Conformance Test Suite tests
+    </title>
+    <link rel='stylesheet' type='text/css' href='../iframe-passthrough.css'/>
+
+    <script src='/tests/SimpleTest/SimpleTest.js'></script>
+    <link rel='stylesheet' type='text/css' href='/tests/SimpleTest/test.css'/>
+  </head>
+  <body>
+    <iframe src='../mochi-single.html?checkout/deqp/functional/gles3/builtinprecision/outerproduct.html?webglVersion=2'></iframe>
+  </body>
+</html>
new file mode 100644
--- /dev/null
+++ b/dom/canvas/test/webgl-conf/generated/test_2_deqp__functional__gles3__builtinprecision__pow.html
@@ -0,0 +1,17 @@
+<!-- GENERATED FILE, DO NOT EDIT -->
+<!DOCTYPE HTML>
+<html>
+  <head>
+    <meta charset='utf-8'/>
+    <title>
+      Mochitest wrapper for WebGL Conformance Test Suite tests
+    </title>
+    <link rel='stylesheet' type='text/css' href='../iframe-passthrough.css'/>
+
+    <script src='/tests/SimpleTest/SimpleTest.js'></script>
+    <link rel='stylesheet' type='text/css' href='/tests/SimpleTest/test.css'/>
+  </head>
+  <body>
+    <iframe src='../mochi-single.html?checkout/deqp/functional/gles3/builtinprecision/pow.html?webglVersion=2'></iframe>
+  </body>
+</html>
new file mode 100644
--- /dev/null
+++ b/dom/canvas/test/webgl-conf/generated/test_2_deqp__functional__gles3__builtinprecision__radians.html
@@ -0,0 +1,17 @@
+<!-- GENERATED FILE, DO NOT EDIT -->
+<!DOCTYPE HTML>
+<html>
+  <head>
+    <meta charset='utf-8'/>
+    <title>
+      Mochitest wrapper for WebGL Conformance Test Suite tests
+    </title>
+    <link rel='stylesheet' type='text/css' href='../iframe-passthrough.css'/>
+
+    <script src='/tests/SimpleTest/SimpleTest.js'></script>
+    <link rel='stylesheet' type='text/css' href='/tests/SimpleTest/test.css'/>
+  </head>
+  <body>
+    <iframe src='../mochi-single.html?checkout/deqp/functional/gles3/builtinprecision/radians.html?webglVersion=2'></iframe>
+  </body>
+</html>
new file mode 100644
--- /dev/null
+++ b/dom/canvas/test/webgl-conf/generated/test_2_deqp__functional__gles3__builtinprecision__reflect.html
@@ -0,0 +1,17 @@
+<!-- GENERATED FILE, DO NOT EDIT -->
+<!DOCTYPE HTML>
+<html>
+  <head>
+    <meta charset='utf-8'/>
+    <title>
+      Mochitest wrapper for WebGL Conformance Test Suite tests
+    </title>
+    <link rel='stylesheet' type='text/css' href='../iframe-passthrough.css'/>
+
+    <script src='/tests/SimpleTest/SimpleTest.js'></script>
+    <link rel='stylesheet' type='text/css' href='/tests/SimpleTest/test.css'/>
+  </head>
+  <body>
+    <iframe src='../mochi-single.html?checkout/deqp/functional/gles3/builtinprecision/reflect.html?webglVersion=2'></iframe>
+  </body>
+</html>
new file mode 100644
--- /dev/null
+++ b/dom/canvas/test/webgl-conf/generated/test_2_deqp__functional__gles3__builtinprecision__refract.html
@@ -0,0 +1,17 @@
+<!-- GENERATED FILE, DO NOT EDIT -->
+<!DOCTYPE HTML>
+<html>
+  <head>
+    <meta charset='utf-8'/>
+    <title>
+      Mochitest wrapper for WebGL Conformance Test Suite tests
+    </title>
+    <link rel='stylesheet' type='text/css' href='../iframe-passthrough.css'/>
+
+    <script src='/tests/SimpleTest/SimpleTest.js'></script>
+    <link rel='stylesheet' type='text/css' href='/tests/SimpleTest/test.css'/>
+  </head>
+  <body>
+    <iframe src='../mochi-single.html?checkout/deqp/functional/gles3/builtinprecision/refract.html?webglVersion=2'></iframe>
+  </body>
+</html>
new file mode 100644
--- /dev/null
+++ b/dom/canvas/test/webgl-conf/generated/test_2_deqp__functional__gles3__builtinprecision__round.html
@@ -0,0 +1,17 @@
+<!-- GENERATED FILE, DO NOT EDIT -->
+<!DOCTYPE HTML>
+<html>
+  <head>
+    <meta charset='utf-8'/>
+    <title>
+      Mochitest wrapper for WebGL Conformance Test Suite tests
+    </title>
+    <link rel='stylesheet' type='text/css' href='../iframe-passthrough.css'/>
+
+    <script src='/tests/SimpleTest/SimpleTest.js'></script>
+    <link rel='stylesheet' type='text/css' href='/tests/SimpleTest/test.css'/>
+  </head>
+  <body>
+    <iframe src='../mochi-single.html?checkout/deqp/functional/gles3/builtinprecision/round.html?webglVersion=2'></iframe>
+  </body>
+</html>
new file mode 100644
--- /dev/null
+++ b/dom/canvas/test/webgl-conf/generated/test_2_deqp__functional__gles3__builtinprecision__roundeven.html
@@ -0,0 +1,17 @@
+<!-- GENERATED FILE, DO NOT EDIT -->
+<!DOCTYPE HTML>
+<html>
+  <head>
+    <meta charset='utf-8'/>
+    <title>
+      Mochitest wrapper for WebGL Conformance Test Suite tests
+    </title>
+    <link rel='stylesheet' type='text/css' href='../iframe-passthrough.css'/>
+
+    <script src='/tests/SimpleTest/SimpleTest.js'></script>
+    <link rel='stylesheet' type='text/css' href='/tests/SimpleTest/test.css'/>
+  </head>
+  <body>
+    <iframe src='../mochi-single.html?checkout/deqp/functional/gles3/builtinprecision/roundeven.html?webglVersion=2'></iframe>
+  </body>
+</html>
new file mode 100644
--- /dev/null
+++ b/dom/canvas/test/webgl-conf/generated/test_2_deqp__functional__gles3__builtinprecision__sign.html
@@ -0,0 +1,17 @@
+<!-- GENERATED FILE, DO NOT EDIT -->
+<!DOCTYPE HTML>
+<html>
+  <head>
+    <meta charset='utf-8'/>
+    <title>
+      Mochitest wrapper for WebGL Conformance Test Suite tests
+    </title>
+    <link rel='stylesheet' type='text/css' href='../iframe-passthrough.css'/>
+
+    <script src='/tests/SimpleTest/SimpleTest.js'></script>
+    <link rel='stylesheet' type='text/css' href='/tests/SimpleTest/test.css'/>
+  </head>
+  <body>
+    <iframe src='../mochi-single.html?checkout/deqp/functional/gles3/builtinprecision/sign.html?webglVersion=2'></iframe>
+  </body>
+</html>
new file mode 100644
--- /dev/null
+++ b/dom/canvas/test/webgl-conf/generated/test_2_deqp__functional__gles3__builtinprecision__sin.html
@@ -0,0 +1,17 @@
+<!-- GENERATED FILE, DO NOT EDIT -->
+<!DOCTYPE HTML>
+<html>
+  <head>
+    <meta charset='utf-8'/>
+    <title>
+      Mochitest wrapper for WebGL Conformance Test Suite tests
+    </title>
+    <link rel='stylesheet' type='text/css' href='../iframe-passthrough.css'/>
+
+    <script src='/tests/SimpleTest/SimpleTest.js'></script>
+    <link rel='stylesheet' type='text/css' href='/tests/SimpleTest/test.css'/>
+  </head>
+  <body>
+    <iframe src='../mochi-single.html?checkout/deqp/functional/gles3/builtinprecision/sin.html?webglVersion=2'></iframe>
+  </body>
+</html>
new file mode 100644
--- /dev/null
+++ b/dom/canvas/test/webgl-conf/generated/test_2_deqp__functional__gles3__builtinprecision__sinh.html
@@ -0,0 +1,17 @@
+<!-- GENERATED FILE, DO NOT EDIT -->
+<!DOCTYPE HTML>
+<html>
+  <head>
+    <meta charset='utf-8'/>
+    <title>
+      Mochitest wrapper for WebGL Conformance Test Suite tests
+    </title>
+    <link rel='stylesheet' type='text/css' href='../iframe-passthrough.css'/>
+
+    <script src='/tests/SimpleTest/SimpleTest.js'></script>
+    <link rel='stylesheet' type='text/css' href='/tests/SimpleTest/test.css'/>
+  </head>
+  <body>
+    <iframe src='../mochi-single.html?checkout/deqp/functional/gles3/builtinprecision/sinh.html?webglVersion=2'></iframe>
+  </body>
+</html>
new file mode 100644
--- /dev/null
+++ b/dom/canvas/test/webgl-conf/generated/test_2_deqp__functional__gles3__builtinprecision__smoothstep.html
@@ -0,0 +1,17 @@
+<!-- GENERATED FILE, DO NOT EDIT -->
+<!DOCTYPE HTML>
+<html>
+  <head>
+    <meta charset='utf-8'/>
+    <title>
+      Mochitest wrapper for WebGL Conformance Test Suite tests
+    </title>
+    <link rel='stylesheet' type='text/css' href='../iframe-passthrough.css'/>
+
+    <script src='/tests/SimpleTest/SimpleTest.js'></script>
+    <link rel='stylesheet' type='text/css' href='/tests/SimpleTest/test.css'/>
+  </head>
+  <body>
+    <iframe src='../mochi-single.html?checkout/deqp/functional/gles3/builtinprecision/smoothstep.html?webglVersion=2'></iframe>
+  </body>
+</html>
new file mode 100644
--- /dev/null
+++ b/dom/canvas/test/webgl-conf/generated/test_2_deqp__functional__gles3__builtinprecision__sqrt.html
@@ -0,0 +1,17 @@
+<!-- GENERATED FILE, DO NOT EDIT -->
+<!DOCTYPE HTML>
+<html>
+  <head>
+    <meta charset='utf-8'/>
+    <title>
+      Mochitest wrapper for WebGL Conformance Test Suite tests
+    </title>
+    <link rel='stylesheet' type='text/css' href='../iframe-passthrough.css'/>
+
+    <script src='/tests/SimpleTest/SimpleTest.js'></script>
+    <link rel='stylesheet' type='text/css' href='/tests/SimpleTest/test.css'/>
+  </head>
+  <body>
+    <iframe src='../mochi-single.html?checkout/deqp/functional/gles3/builtinprecision/sqrt.html?webglVersion=2'></iframe>
+  </body>
+</html>
new file mode 100644
--- /dev/null
+++ b/dom/canvas/test/webgl-conf/generated/test_2_deqp__functional__gles3__builtinprecision__step.html
@@ -0,0 +1,17 @@
+<!-- GENERATED FILE, DO NOT EDIT -->
+<!DOCTYPE HTML>
+<html>
+  <head>
+    <meta charset='utf-8'/>
+    <title>
+      Mochitest wrapper for WebGL Conformance Test Suite tests
+    </title>
+    <link rel='stylesheet' type='text/css' href='../iframe-passthrough.css'/>
+
+    <script src='/tests/SimpleTest/SimpleTest.js'></script>
+    <link rel='stylesheet' type='text/css' href='/tests/SimpleTest/test.css'/>
+  </head>
+  <body>
+    <iframe src='../mochi-single.html?checkout/deqp/functional/gles3/builtinprecision/step.html?webglVersion=2'></iframe>
+  </body>
+</html>
new file mode 100644
--- /dev/null
+++ b/dom/canvas/test/webgl-conf/generated/test_2_deqp__functional__gles3__builtinprecision__sub.html
@@ -0,0 +1,17 @@
+<!-- GENERATED FILE, DO NOT EDIT -->
+<!DOCTYPE HTML>
+<html>
+  <head>
+    <meta charset='utf-8'/>
+    <title>
+      Mochitest wrapper for WebGL Conformance Test Suite tests
+    </title>
+    <link rel='stylesheet' type='text/css' href='../iframe-passthrough.css'/>
+
+    <script src='/tests/SimpleTest/SimpleTest.js'></script>
+    <link rel='stylesheet' type='text/css' href='/tests/SimpleTest/test.css'/>
+  </head>
+  <body>
+    <iframe src='../mochi-single.html?checkout/deqp/functional/gles3/builtinprecision/sub.html?webglVersion=2'></iframe>
+  </body>
+</html>
new file mode 100644
--- /dev/null
+++ b/dom/canvas/test/webgl-conf/generated/test_2_deqp__functional__gles3__builtinprecision__tan.html
@@ -0,0 +1,17 @@
+<!-- GENERATED FILE, DO NOT EDIT -->
+<!DOCTYPE HTML>
+<html>
+  <head>
+    <meta charset='utf-8'/>
+    <title>
+      Mochitest wrapper for WebGL Conformance Test Suite tests
+    </title>
+    <link rel='stylesheet' type='text/css' href='../iframe-passthrough.css'/>
+
+    <script src='/tests/SimpleTest/SimpleTest.js'></script>
+    <link rel='stylesheet' type='text/css' href='/tests/SimpleTest/test.css'/>
+  </head>
+  <body>
+    <iframe src='../mochi-single.html?checkout/deqp/functional/gles3/builtinprecision/tan.html?webglVersion=2'></iframe>
+  </body>
+</html>
new file mode 100644
--- /dev/null
+++ b/dom/canvas/test/webgl-conf/generated/test_2_deqp__functional__gles3__builtinprecision__tanh.html
@@ -0,0 +1,17 @@
+<!-- GENERATED FILE, DO NOT EDIT -->
+<!DOCTYPE HTML>
+<html>
+  <head>
+    <meta charset='utf-8'/>
+    <title>
+      Mochitest wrapper for WebGL Conformance Test Suite tests
+    </title>
+    <link rel='stylesheet' type='text/css' href='../iframe-passthrough.css'/>
+
+    <script src='/tests/SimpleTest/SimpleTest.js'></script>
+    <link rel='stylesheet' type='text/css' href='/tests/SimpleTest/test.css'/>
+  </head>
+  <body>
+    <iframe src='../mochi-single.html?checkout/deqp/functional/gles3/builtinprecision/tanh.html?webglVersion=2'></iframe>
+  </body>
+</html>
new file mode 100644
--- /dev/null
+++ b/dom/canvas/test/webgl-conf/generated/test_2_deqp__functional__gles3__builtinprecision__transpose.html
@@ -0,0 +1,17 @@
+<!-- GENERATED FILE, DO NOT EDIT -->
+<!DOCTYPE HTML>
+<html>
+  <head>
+    <meta charset='utf-8'/>
+    <title>
+      Mochitest wrapper for WebGL Conformance Test Suite tests
+    </title>
+    <link rel='stylesheet' type='text/css' href='../iframe-passthrough.css'/>
+
+    <script src='/tests/SimpleTest/SimpleTest.js'></script>
+    <link rel='stylesheet' type='text/css' href='/tests/SimpleTest/test.css'/>
+  </head>
+  <body>
+    <iframe src='../mochi-single.html?checkout/deqp/functional/gles3/builtinprecision/transpose.html?webglVersion=2'></iframe>
+  </body>
+</html>
new file mode 100644
--- /dev/null
+++ b/dom/canvas/test/webgl-conf/generated/test_2_deqp__functional__gles3__builtinprecision__trunc.html
@@ -0,0 +1,17 @@
+<!-- GENERATED FILE, DO NOT EDIT -->
+<!DOCTYPE HTML>
+<html>
+  <head>
+    <meta charset='utf-8'/>
+    <title>
+      Mochitest wrapper for WebGL Conformance Test Suite tests
+    </title>
+    <link rel='stylesheet' type='text/css' href='../iframe-passthrough.css'/>
+
+    <script src='/tests/SimpleTest/SimpleTest.js'></script>
+    <link rel='stylesheet' type='text/css' href='/tests/SimpleTest/test.css'/>
+  </head>
+  <body>
+    <iframe src='../mochi-single.html?checkout/deqp/functional/gles3/builtinprecision/trunc.html?webglVersion=2'></iframe>
+  </body>
+</html>
new file mode 100644
--- /dev/null
+++ b/dom/canvas/test/webgl-conf/generated/test_2_deqp__functional__gles3__shaderoperator__common_functions.html
@@ -0,0 +1,17 @@
+<!-- GENERATED FILE, DO NOT EDIT -->
+<!DOCTYPE HTML>
+<html>
+  <head>
+    <meta charset='utf-8'/>
+    <title>
+      Mochitest wrapper for WebGL Conformance Test Suite tests
+    </title>
+    <link rel='stylesheet' type='text/css' href='../iframe-passthrough.css'/>
+
+    <script src='/tests/SimpleTest/SimpleTest.js'></script>
+    <link rel='stylesheet' type='text/css' href='/tests/SimpleTest/test.css'/>
+  </head>
+  <body>
+    <iframe src='../mochi-single.html?checkout/deqp/functional/gles3/shaderoperator/common_functions.html?webglVersion=2'></iframe>
+  </body>
+</html>
new file mode 100644
--- /dev/null
+++ b/dom/canvas/test/webgl-conf/generated/test_conformance__context__resource-sharing-test.html
@@ -0,0 +1,17 @@
+<!-- GENERATED FILE, DO NOT EDIT -->
+<!DOCTYPE HTML>
+<html>
+  <head>
+    <meta charset='utf-8'/>
+    <title>
+      Mochitest wrapper for WebGL Conformance Test Suite tests
+    </title>
+    <link rel='stylesheet' type='text/css' href='../iframe-passthrough.css'/>
+
+    <script src='/tests/SimpleTest/SimpleTest.js'></script>
+    <link rel='stylesheet' type='text/css' href='/tests/SimpleTest/test.css'/>
+  </head>
+  <body>
+    <iframe src='../mochi-single.html?checkout/conformance/context/resource-sharing-test.html'></iframe>
+  </body>
+</html>
new file mode 100644
--- /dev/null
+++ b/dom/canvas/test/webgl-conf/generated/test_conformance__extensions__webgl-compressed-texture-atc.html
@@ -0,0 +1,17 @@
+<!-- GENERATED FILE, DO NOT EDIT -->
+<!DOCTYPE HTML>
+<html>
+  <head>
+    <meta charset='utf-8'/>
+    <title>
+      Mochitest wrapper for WebGL Conformance Test Suite tests
+    </title>
+    <link rel='stylesheet' type='text/css' href='../iframe-passthrough.css'/>
+
+    <script src='/tests/SimpleTest/SimpleTest.js'></script>
+    <link rel='stylesheet' type='text/css' href='/tests/SimpleTest/test.css'/>
+  </head>
+  <body>
+    <iframe src='../mochi-single.html?checkout/conformance/extensions/webgl-compressed-texture-atc.html'></iframe>
+  </body>
+</html>
new file mode 100644
--- /dev/null
+++ b/dom/canvas/test/webgl-conf/generated/test_conformance__extensions__webgl-draw-buffers-feedback-loop.html
@@ -0,0 +1,17 @@
+<!-- GENERATED FILE, DO NOT EDIT -->
+<!DOCTYPE HTML>
+<html>
+  <head>
+    <meta charset='utf-8'/>
+    <title>
+      Mochitest wrapper for WebGL Conformance Test Suite tests
+    </title>
+    <link rel='stylesheet' type='text/css' href='../iframe-passthrough.css'/>
+
+    <script src='/tests/SimpleTest/SimpleTest.js'></script>
+    <link rel='stylesheet' type='text/css' href='/tests/SimpleTest/test.css'/>
+  </head>
+  <body>
+    <iframe src='../mochi-single.html?checkout/conformance/extensions/webgl-draw-buffers-feedback-loop.html'></iframe>
+  </body>
+</html>
new file mode 100644
--- /dev/null
+++ b/dom/canvas/test/webgl-conf/generated/test_conformance__extensions__webgl-shared-resources.html
@@ -0,0 +1,17 @@
+<!-- GENERATED FILE, DO NOT EDIT -->
+<!DOCTYPE HTML>
+<html>
+  <head>
+    <meta charset='utf-8'/>
+    <title>
+      Mochitest wrapper for WebGL Conformance Test Suite tests
+    </title>
+    <link rel='stylesheet' type='text/css' href='../iframe-passthrough.css'/>
+
+    <script src='/tests/SimpleTest/SimpleTest.js'></script>
+    <link rel='stylesheet' type='text/css' href='/tests/SimpleTest/test.css'/>
+  </head>
+  <body>
+    <iframe src='../mochi-single.html?checkout/conformance/extensions/webgl-shared-resources.html'></iframe>
+  </body>
+</html>
deleted file mode 100644
--- a/dom/canvas/test/webgl-conf/generated/test_conformance__glsl__preprocessor__comments.html
+++ /dev/null
@@ -1,17 +0,0 @@
-<!-- GENERATED FILE, DO NOT EDIT -->
-<!DOCTYPE HTML>
-<html>
-  <head>
-    <meta charset='utf-8'/>
-    <title>
-      Mochitest wrapper for WebGL Conformance Test Suite tests
-    </title>
-    <link rel='stylesheet' type='text/css' href='../iframe-passthrough.css'/>
-
-    <script src='/tests/SimpleTest/SimpleTest.js'></script>
-    <link rel='stylesheet' type='text/css' href='/tests/SimpleTest/test.css'/>
-  </head>
-  <body>
-    <iframe src='../mochi-single.html?checkout/conformance/glsl/preprocessor/comments.html'></iframe>
-  </body>
-</html>
new file mode 100644
--- /dev/null
+++ b/dom/canvas/test/webgl-conf/generated/test_conformance__more__functions__drawArraysOutOfBounds.html
@@ -0,0 +1,17 @@
+<!-- GENERATED FILE, DO NOT EDIT -->
+<!DOCTYPE HTML>
+<html>
+  <head>
+    <meta charset='utf-8'/>
+    <title>
+      Mochitest wrapper for WebGL Conformance Test Suite tests
+    </title>
+    <link rel='stylesheet' type='text/css' href='../iframe-passthrough.css'/>
+
+    <script src='/tests/SimpleTest/SimpleTest.js'></script>
+    <link rel='stylesheet' type='text/css' href='/tests/SimpleTest/test.css'/>
+  </head>
+  <body>
+    <iframe src='../mochi-single.html?checkout/conformance/more/functions/drawArraysOutOfBounds.html'></iframe>
+  </body>
+</html>
new file mode 100644
--- /dev/null
+++ b/dom/canvas/test/webgl-conf/generated/test_conformance__more__functions__drawElementsBadArgs.html
@@ -0,0 +1,17 @@
+<!-- GENERATED FILE, DO NOT EDIT -->
+<!DOCTYPE HTML>
+<html>
+  <head>
+    <meta charset='utf-8'/>
+    <title>
+      Mochitest wrapper for WebGL Conformance Test Suite tests
+    </title>
+    <link rel='stylesheet' type='text/css' href='../iframe-passthrough.css'/>
+
+    <script src='/tests/SimpleTest/SimpleTest.js'></script>
+    <link rel='stylesheet' type='text/css' href='/tests/SimpleTest/test.css'/>
+  </head>
+  <body>
+    <iframe src='../mochi-single.html?checkout/conformance/more/functions/drawElementsBadArgs.html'></iframe>
+  </body>
+</html>
new file mode 100644
--- /dev/null
+++ b/dom/canvas/test/webgl-conf/generated/test_conformance__textures__misc__copy-tex-sub-image-2d-partial-texture.html
@@ -0,0 +1,17 @@
+<!-- GENERATED FILE, DO NOT EDIT -->
+<!DOCTYPE HTML>
+<html>
+  <head>
+    <meta charset='utf-8'/>
+    <title>
+      Mochitest wrapper for WebGL Conformance Test Suite tests
+    </title>
+    <link rel='stylesheet' type='text/css' href='../iframe-passthrough.css'/>
+
+    <script src='/tests/SimpleTest/SimpleTest.js'></script>
+    <link rel='stylesheet' type='text/css' href='/tests/SimpleTest/test.css'/>
+  </head>
+  <body>
+    <iframe src='../mochi-single.html?checkout/conformance/textures/misc/copy-tex-sub-image-2d-partial-texture.html'></iframe>
+  </body>
+</html>