Bug 1527811 - Add GMPUtils._isWindowsOnARM64(). r=Gijs
authorChris Pearce <cpearce@mozilla.com>
Fri, 15 Feb 2019 10:46:23 +1300
changeset 519571 83b6c1e3d898fa3019621c54a472f9e53eb50047
parent 519570 c1e05d18c18e26802bfe4818a506d24d054a7c3c
child 519572 aae2bb67624e50f6628306cbd3a2099928161bca
push id10862
push userffxbld-merge
push dateMon, 11 Mar 2019 13:01:11 +0000
treeherdermozilla-beta@a2e7f5c935da [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersGijs
bugs1527811
milestone67.0a1
first release with
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
last release without
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
Bug 1527811 - Add GMPUtils._isWindowsOnARM64(). r=Gijs Allows subsequent patches to special case behavior when running on Windows on ARM64. Differential Revision: https://phabricator.services.mozilla.com/D19899
toolkit/modules/GMPUtils.jsm
--- a/toolkit/modules/GMPUtils.jsm
+++ b/toolkit/modules/GMPUtils.jsm
@@ -7,16 +7,17 @@
 var EXPORTED_SYMBOLS = [ "GMP_PLUGIN_IDS",
                          "GMPPrefs",
                          "GMPUtils",
                          "OPEN_H264_ID",
                          "WIDEVINE_ID" ];
 
 const {Services} = ChromeUtils.import("resource://gre/modules/Services.jsm");
 const {AppConstants} = ChromeUtils.import("resource://gre/modules/AppConstants.jsm");
+const {UpdateUtils} = ChromeUtils.import("resource://gre/modules/UpdateUtils.jsm");
 
 // GMP IDs
 const OPEN_H264_ID  = "gmp-gmpopenh264";
 const WIDEVINE_ID   = "gmp-widevinecdm";
 const GMP_PLUGIN_IDS = [ OPEN_H264_ID, WIDEVINE_ID ];
 
 var GMPUtils = {
   /**
@@ -90,16 +91,20 @@ var GMPUtils = {
    * in automated tests to override the checks that prevent GMPs running on an
    * unsupported platform.
    * @param   aPlugin
    *          The plugin to check.
    */
   _isPluginForceSupported(aPlugin) {
     return GMPPrefs.getBool(GMPPrefs.KEY_PLUGIN_FORCE_SUPPORTED, false, aPlugin.id);
   },
+
+  _isWindowsOnARM64() {
+    return AppConstants.platform == "win" && UpdateUtils.ABI.match(/aarch64/);
+  },
 };
 
 /**
  * Manages preferences for GMP addons
  */
 var GMPPrefs = {
   KEY_EME_ENABLED:              "media.eme.enabled",
   KEY_PLUGIN_ENABLED:           "media.{0}.enabled",