Bug 1527811 - Add GMPUtils._isWindowsOnARM64(). r=Gijs
authorChris Pearce <cpearce@mozilla.com>
Fri, 15 Feb 2019 10:46:23 +1300
changeset 461689 83b6c1e3d898fa3019621c54a472f9e53eb50047
parent 461688 c1e05d18c18e26802bfe4818a506d24d054a7c3c
child 461690 aae2bb67624e50f6628306cbd3a2099928161bca
push id35626
push usercsabou@mozilla.com
push dateThu, 28 Feb 2019 11:31:08 +0000
treeherdermozilla-central@2ea0c1db7e60 [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",