MacQuirks was targeted for OSX from 10.6.8 up to but not including 10.7.0. We
have now removed support for 10.6 so we can safely remove this code. This also
fixes bug 1282184 where DMD is apparently choking on memory allocated in the
interpose library.
The only platform for which this change is *not* a no-op is Mulet. Last time
I checked Mulet worked fine with APZ enabled but there were a few test failures.
Now I don't believe it's running in automation anyhwere so that shouldn't be
an issue. If it is, they can re-disable APZ easily enough if needed.
MozReview-Commit-ID: 5xKUuTOnubM
Repurpose the media.gmp-*.forcevisible pref to control whether the
corresponding GMP is visible in the addons manager UI. The pref has to be true
for the GMP to be usable.
The pref is enabled and not hidden when the corresponding EME keysystem is
enabled in the mozconfig.
This means users can turn on EME without needing to recompile their build; they
just need to create a hidden pref. This will be useful for CDM developers, and
users on platforms where we've not enabled EME yet but users want to test it
(Linux).
We also need to change the GMPUtils.isPluginHidden() accessor so that plugins
are considered hidden if the "visible" pref is false OR we're on an unsupported
platform. This ensures that we must be on a supported OS and the visibility
pref is true before GMPs appear in the addon list.
A consequence of the isPluginHidden() change is that we also need to add a
"force-supported" pref to override the checks that refuse to load the GMPs on
various platform versions, so that the unit tests pass.
MozReview-Commit-ID: h6CwLDkvFW
Repurpose the media.gmp-*.forcevisible pref to control whether the
corresponding GMP is visible in the addons manager UI. The pref has to be true
for the GMP to be usable.
The pref is enabled and not hidden when the corresponding EME keysystem is
enabled in the mozconfig.
This means users can turn on EME without needing to recompile their build; they
just need to create a hidden pref. This will be useful for CDM developers, and
users on platforms where we've not enabled EME yet but users want to test it
(Linux).
We also need to change the GMPUtils.isPluginHidden() accessor so that plugins
are considered hidden if the "visible" pref is false OR we're on an unsupported
platform. This ensures that we must be on a supported OS and the visibility
pref is true before GMPs appear in the addon list.
A consequence of the isPluginHidden() change is that we also need to add a
"force-supported" pref to override the checks that refuse to load the GMPs on
various platform versions, so that the unit tests pass.
MozReview-Commit-ID: h6CwLDkvFW
Before bug 552864, the string was created with PR_smprintf, and
PR_SetEnv'ed (which, under the hood, just calls putenv). PR_smprintf was
allocating the string on the heap. Now, it's allocated on the stack, and
still putenv'ed.
putenv kind of takes ownership of the strings it's being passed, so
stack allocated strings are dangerous to use. It looks like we've been
fairly lucky that it worked, presumably because compilers would keep the
stack frame with the variable, but that's not guaranteed to happen, and
in some case, doesn't.
So we strdup the string and purposefully leak it instead, which matches
what happened before bug 552864, and is the only "sane" way to use
putenv.
Disabled on Mac (content processes need to use plugin-container.app for
UI reasons) and on Linux unless --disable-sandboxing (build issues).
Based on work by George Wright <george@mozilla.com>.