Bug 1814703 - Allow selecting between ARM and x86 clearkey on Windows ARM. r=azebrowski

On Windows ARM, we currently use the x86 version of the clearkey plugin.
We do however ship Firefox with the ARM version although prior to this
patch it was unused. Now if media.gmp-clearkey.allow-x64-plugin-on-arm64
is set to false, then we will attempt to load the ARM version of the
plugin. The pref remains true by default.

Differential Revision: https://phabricator.services.mozilla.com/D168707
This commit is contained in:
Andrew Osmond 2023-02-21 21:40:13 +00:00
Родитель 722fe75ab9
Коммит b6515eab13
2 изменённых файлов: 9 добавлений и 1 удалений

Просмотреть файл

@ -122,6 +122,7 @@ export var GMPPrefs = {
KEY_PLUGIN_VISIBLE: "media.{0}.visible",
KEY_PLUGIN_ABI: "media.{0}.abi",
KEY_PLUGIN_FORCE_SUPPORTED: "media.{0}.forceSupported",
KEY_PLUGIN_ALLOW_X64_ON_ARM64: "media.{0}.allow-x64-plugin-on-arm64",
KEY_URL: "media.gmp-manager.url",
KEY_URL_OVERRIDE: "media.gmp-manager.url.override",
KEY_CERT_CHECKATTRS: "media.gmp-manager.cert.checkAttributes",

Просмотреть файл

@ -770,7 +770,14 @@ var GMPProvider = {
try {
let greDir = Services.dirsvc.get(NS_GRE_DIR, Ci.nsIFile);
let path = greDir.path;
if (GMPUtils._isWindowsOnARM64()) {
if (
GMPUtils._isWindowsOnARM64() &&
GMPPrefs.getBool(
GMPPrefs.KEY_PLUGIN_ALLOW_X64_ON_ARM64,
true,
CLEARKEY_PLUGIN_ID
)
) {
path = PathUtils.join(path, "i686");
}
let clearkeyPath = PathUtils.join(