summaryrefslogtreecommitdiffstats
path: root/dom/canvas/test/webgl-conf/mochi-single.html
blob: 894bdd7147e443640b72f6b8d9c9760a90de8f29 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
<!DOCTYPE HTML>
<html>
<head>
  <meta charset='utf-8'/>
  <title>
    WebGL Conformance Test Suite Single Test Wrapper
  </title>
  <link rel='stylesheet' type='text/css' href='iframe-passthrough.css'/>
</head>
<body>
<iframe id='test-frame'></iframe>
<script>
'use strict';

var frameElem = document.getElementById('test-frame');

////////////////////////////////////////////////////////////////////////

window.webglTestHarness = {
  reportResults(pathname, success, message) {
    if (parent) {
      parent.ok(success, message);
    } else {
      console.log('ok(' + success + ', \'' + message + '\')');
    }
  },

  notifyFinished(testPath) {
    console.error('webglTestHarness.notifyFinished');
    if (parent) {
      parent.SimpleTest.finish();
    } else {
      console.log('SimpleTest.finish()');
    }
  },
};

if (parent) {
  parent.SimpleTest.waitForExplicitFinish();
  parent.SimpleTest.requestFlakyTimeout('untriaged');

  try {
    let timeoutLengthMultiplier;
    if (navigator.appVersion.includes('Android')) {
      // From layout/tools/reftest/reftest.js:
      var version = SpecialPowers.Services.sysinfo.getProperty('version');
      var kAndroidVersion2_3 = 9;
      if (version == kAndroidVersion2_3) {
        timeoutLengthMultiplier = 2.0;
      }
    } else if (SpecialPowers.Services.sysinfo.getProperty('isMinGW')) {
      timeoutLengthMultiplier = 2.0;
    }
    if (timeoutLengthMultiplier) {
      parent.SimpleTest.requestLongerTimeout(timeoutLengthMultiplier);
    }
  } catch (e) {
    console.error('Warning: No SpecialPowers.');
  }
};

////////////////////////////////////////////////////////////////////////

function runTest() {
  var testPath = location.search.substr(1);
  console.log('testPath: ' + testPath);
  frameElem.src = testPath;
}

SpecialPowers.pushPrefEnv({"set": [
  ['dom.workers.requestAnimationFrame', true],
  ['gfx.offscreencanvas.enabled', true],
  ['webgl.force-enabled', true],
  ['webgl.enable-draft-extensions', true],
]}, runTest);

</script>
</body>
</html>