diff options
Diffstat (limited to 'toolkit/mozapps/webextensions/test/xpcshell/test_gfxBlacklist_Version.js')
-rw-r--r-- | toolkit/mozapps/webextensions/test/xpcshell/test_gfxBlacklist_Version.js | 145 |
1 files changed, 0 insertions, 145 deletions
diff --git a/toolkit/mozapps/webextensions/test/xpcshell/test_gfxBlacklist_Version.js b/toolkit/mozapps/webextensions/test/xpcshell/test_gfxBlacklist_Version.js deleted file mode 100644 index 48174b772..000000000 --- a/toolkit/mozapps/webextensions/test/xpcshell/test_gfxBlacklist_Version.js +++ /dev/null @@ -1,145 +0,0 @@ -/* Any copyright is dedicated to the Public Domain. - * http://creativecommons.org/publicdomain/zero/1.0/ - */ - -var { classes: Cc, interfaces: Ci, utils: Cu, results: Cr } = Components; - -// Test whether a machine which exactly matches the blacklist entry is -// successfully blocked. -// Uses test_gfxBlacklist_AllOS.xml - -Cu.import("resource://testing-common/httpd.js"); - -var gTestserver = new HttpServer(); -gTestserver.start(-1); -gPort = gTestserver.identity.primaryPort; -mapFile("/data/test_gfxBlacklist_AllOS.xml", gTestserver); - -function get_platform() { - var xulRuntime = Cc["@mozilla.org/xre/app-info;1"] - .getService(Ci.nsIXULRuntime); - return xulRuntime.OS; -} - -function load_blocklist(file) { - Services.prefs.setCharPref("extensions.blocklist.url", "http://localhost:" + - gPort + "/data/" + file); - var blocklist = Cc["@mozilla.org/extensions/blocklist;1"]. - getService(Ci.nsITimerCallback); - blocklist.notify(null); -} - -// Performs the initial setup -function run_test() { - var gfxInfo = Cc["@mozilla.org/gfx/info;1"].getService(Ci.nsIGfxInfo); - - // We can't do anything if we can't spoof the stuff we need. - if (!(gfxInfo instanceof Ci.nsIGfxInfoDebug)) { - do_test_finished(); - return; - } - - gfxInfo.QueryInterface(Ci.nsIGfxInfoDebug); - - // Set the vendor/device ID, etc, to match the test file. - switch (get_platform()) { - case "WINNT": - gfxInfo.spoofVendorID("0xabcd"); - gfxInfo.spoofDeviceID("0x1234"); - gfxInfo.spoofDriverVersion("8.52.322.2201"); - // Windows 7 - gfxInfo.spoofOSVersion(0x60001); - break; - case "Linux": - gfxInfo.spoofVendorID("0xabcd"); - gfxInfo.spoofDeviceID("0x1234"); - break; - case "Darwin": - gfxInfo.spoofVendorID("0xabcd"); - gfxInfo.spoofDeviceID("0x1234"); - gfxInfo.spoofOSVersion(0x1090); - break; - case "Android": - gfxInfo.spoofVendorID("abcd"); - gfxInfo.spoofDeviceID("asdf"); - gfxInfo.spoofDriverVersion("5"); - break; - } - - createAppInfo("xpcshell@tests.mozilla.org", "XPCShell", "15.0", "8"); - startupManager(); - - do_test_pending(); - - function checkBlacklist() - { - var failureId = {}; - var status; - - status = gfxInfo.getFeatureStatus(Ci.nsIGfxInfo.FEATURE_DIRECT2D, failureId); - do_check_eq(status, Ci.nsIGfxInfo.FEATURE_BLOCKED_DRIVER_VERSION); - do_check_eq(failureId.value, "FEATURE_FAILURE_DL_BLACKLIST_g1"); - - status = gfxInfo.getFeatureStatus(Ci.nsIGfxInfo.FEATURE_DIRECT3D_9_LAYERS, failureId); - do_check_eq(status, Ci.nsIGfxInfo.FEATURE_BLOCKED_DRIVER_VERSION); - do_check_eq(failureId.value, "FEATURE_FAILURE_DL_BLACKLIST_g2"); - - status = gfxInfo.getFeatureStatus(Ci.nsIGfxInfo.FEATURE_DIRECT3D_10_LAYERS, failureId); - do_check_eq(status, Ci.nsIGfxInfo.FEATURE_STATUS_OK); - do_check_eq(failureId.value, ""); - - status = gfxInfo.getFeatureStatus(Ci.nsIGfxInfo.FEATURE_DIRECT3D_10_1_LAYERS, failureId); - do_check_eq(status, Ci.nsIGfxInfo.FEATURE_STATUS_OK); - do_check_eq(failureId.value, ""); - - // These four pass on Linux independent of the blocklist XML file as the - // try machines don't have support. - status = gfxInfo.getFeatureStatus(Ci.nsIGfxInfo.FEATURE_OPENGL_LAYERS); - do_check_eq(status, Ci.nsIGfxInfo.FEATURE_BLOCKED_DRIVER_VERSION); - - status = gfxInfo.getFeatureStatus(Ci.nsIGfxInfo.FEATURE_WEBGL_OPENGL, failureId); - do_check_eq(status, Ci.nsIGfxInfo.FEATURE_BLOCKED_DRIVER_VERSION); - do_check_eq(failureId.value, "FEATURE_FAILURE_DL_BLACKLIST_g11"); - - status = gfxInfo.getFeatureStatus(Ci.nsIGfxInfo.FEATURE_WEBGL_ANGLE, failureId); - do_check_eq(status, Ci.nsIGfxInfo.FEATURE_BLOCKED_DRIVER_VERSION); - do_check_eq(failureId.value, "FEATURE_FAILURE_DL_BLACKLIST_NO_ID"); - - status = gfxInfo.getFeatureStatus(Ci.nsIGfxInfo.FEATURE_WEBGL_MSAA, failureId); - do_check_eq(status, Ci.nsIGfxInfo.FEATURE_BLOCKED_DRIVER_VERSION); - - status = gfxInfo.getFeatureStatus(Ci.nsIGfxInfo.FEATURE_STAGEFRIGHT, failureId); - do_check_eq(status, Ci.nsIGfxInfo.FEATURE_STATUS_OK); - - status = gfxInfo.getFeatureStatus(Ci.nsIGfxInfo.FEATURE_WEBRTC_HW_ACCELERATION, failureId); - do_check_eq(status, Ci.nsIGfxInfo.FEATURE_STATUS_OK); - - status = gfxInfo.getFeatureStatus(Ci.nsIGfxInfo.FEATURE_WEBRTC_HW_ACCELERATION_ENCODE, failureId); - do_check_eq(status, Ci.nsIGfxInfo.FEATURE_STATUS_OK); - - status = gfxInfo.getFeatureStatus(Ci.nsIGfxInfo.FEATURE_WEBRTC_HW_ACCELERATION_DECODE, failureId); - do_check_eq(status, Ci.nsIGfxInfo.FEATURE_STATUS_OK); - - status = gfxInfo.getFeatureStatus(Ci.nsIGfxInfo.FEATURE_DIRECT3D_11_LAYERS, failureId); - do_check_eq(status, Ci.nsIGfxInfo.FEATURE_STATUS_OK); - - status = gfxInfo.getFeatureStatus(Ci.nsIGfxInfo.FEATURE_HARDWARE_VIDEO_DECODING, failureId); - do_check_eq(status, Ci.nsIGfxInfo.FEATURE_STATUS_OK); - - status = gfxInfo.getFeatureStatus(Ci.nsIGfxInfo.FEATURE_DIRECT3D_11_ANGLE, failureId); - do_check_eq(status, Ci.nsIGfxInfo.FEATURE_STATUS_OK); - - status = gfxInfo.getFeatureStatus(Ci.nsIGfxInfo.FEATURE_DX_INTEROP2, failureId); - do_check_eq(status, Ci.nsIGfxInfo.FEATURE_STATUS_OK); - - gTestserver.stop(do_test_finished); - } - - Services.obs.addObserver(function(aSubject, aTopic, aData) { - // If we wait until after we go through the event loop, gfxInfo is sure to - // have processed the gfxItems event. - do_execute_soon(checkBlacklist); - }, "blocklist-data-gfxItems", false); - - load_blocklist("test_gfxBlacklist_AllOS.xml"); -} |