Handle that ANGLE is a singleton. - r?jrmuizel draft
authorJeff Gilbert <jdashg@gmail.com>
Thu, 31 Mar 2016 17:48:36 -0700
changeset 346386 4ddde54d82563645e18f5517b42b42b2a84b8b78
parent 346385 70d5b72afa7417c001841a26bb1218075bdce1da
child 517440 0a67ae2a68b781bf66ad517848cbe217ab3da889
push id14369
push userjgilbert@mozilla.com
push dateFri, 01 Apr 2016 01:01:39 +0000
reviewersjrmuizel
milestone48.0a1
Handle that ANGLE is a singleton. - r?jrmuizel From 426ba4ee64c5829fd119f7f2a0eb16bd2f1350b0 Mon Sep 17 00:00:00 2001 This means we can't change which ANGLE backend we get at runtime. Changing the ANGLE backend requires a browser restart. --- dom/canvas/test/webgl-mochitest/test_backends.html | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) MozReview-Commit-ID: DRtcClAH1Vv
dom/canvas/test/webgl-mochitest/test_backends.html
--- a/dom/canvas/test/webgl-mochitest/test_backends.html
+++ b/dom/canvas/test/webgl-mochitest/test_backends.html
@@ -15,16 +15,18 @@ function RunWithPrefs(prefPairList, func
   } catch (e) {
     console.log('Warning: Failed to set prefs: ' + JSON.stringify(prefPairList));
     func();
   }
 }
 
 ////////////////////////////////////////
 
+var ANGLE_IS_SINGLETON = true;
+
 var expectD3DType;
 try {
   // code borrowed from browser/modules/test/browser_taskbar_preview.js
   var version = SpecialPowers.Services.sysinfo.getProperty('version');
   version = parseFloat(version);
 
   // Version 6.0 is Vista, 6.1 is 7.
   if (version >= 6.0)
@@ -74,33 +76,35 @@ function TestActualType(testName, expect
   ok(actualType == expectedType,
      '[' + testName + '] Expected ' + expectedType + ', was ' + actualType);
 }
 
 ////////////////////////////////////////
 
 function TestDefault() {
   var expectedType = 'gl';
-  if (navigator.platform.indexOf('Win') == 0) {
+  var isWindows = (navigator.platform.indexOf('Win') == 0);
+  if (isWindows) {
     expectedType = expectD3DType;
   }
   TestActualType('TestDefault', expectedType);
 
-  if (expectedType == 'none' || expectedType == 'gl') {
+  if (isWindows && !ANGLE_IS_SINGLETON) {
     var prefPairList = [
-      ['webgl.disabled', true],
+      ['webgl.angle.force-warp', true],
     ];
-    RunWithPrefs(prefPairList, TestDisabled);
+    RunWithPrefs(prefPairList, TestWARP);
     return;
   }
 
   var prefPairList = [
-    ['webgl.angle.force-warp', true],
+    ['webgl.disabled', true],
   ];
-  RunWithPrefs(prefPairList, TestWARP);
+  RunWithPrefs(prefPairList, TestDisabled);
+  return;
 }
 
 
 function TestWARP() {
   var expectedType = (expectD3DType == 'd3d11') ? 'warp' : 'none';
   TestActualType('TestWARP', expectedType);
 
   var prefPairList = [