Bug 1150520 - disable EME for Windows XP, r=dolske

--HG--
extra : rebase_source : e445e26f4a9f6a429c5ca27320d7967ab5c6f3e6
extra : histedit_source : c5be3a53d2c255515f55b6c64474e7fc4bd5b053
This commit is contained in:
Gijs Kruitbosch 2015-04-17 11:57:22 +01:00
parent dc2fd26de9
commit 32632ad9c0
4 changed files with 23 additions and 7 deletions

View File

@ -4,6 +4,14 @@
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
let gEMEHandler = {
get uiEnabled() {
let emeUIEnabled = Services.prefs.getBoolPref("browser.eme.ui.enabled");
// Force-disable on WinXP:
if (navigator.platform.toLowerCase().startsWith("win")) {
emeUIEnabled = emeUIEnabled && parseFloat(Services.sysinfo.get("version")) >= 6;
}
return emeUIEnabled;
},
ensureEMEEnabled: function(browser, keySystem) {
Services.prefs.setBoolPref("media.eme.enabled", true);
if (keySystem) {
@ -45,7 +53,7 @@ let gEMEHandler = {
}
let {status: status, keySystem: keySystem} = parsedData;
// Don't need to show if disabled
if (!Services.prefs.getBoolPref("browser.eme.ui.enabled")) {
if (!this.uiEnabled) {
return;
}

View File

@ -24,8 +24,12 @@ var gContentPane = {
let drmInfoURL =
Services.urlFormatter.formatURLPref("app.support.baseURL") + "drm-content";
document.getElementById("playDRMContentLink").setAttribute("href", drmInfoURL);
document.getElementById("playDRMContentRow").hidden =
!Services.prefs.getBoolPref("browser.eme.ui.enabled");
let emeUIEnabled = Services.prefs.getBoolPref("browser.eme.ui.enabled");
// Force-disable/hide on WinXP:
if (navigator.platform.toLowerCase().startsWith("win")) {
emeUIEnabled = emeUIEnabled && parseFloat(Services.sysinfo.get("version")) >= 6;
}
document.getElementById("playDRMContentRow").hidden = !emeUIEnabled;
},
// UTILITY FUNCTIONS

View File

@ -44,7 +44,12 @@ var gContentPane = {
let drmInfoURL =
Services.urlFormatter.formatURLPref("app.support.baseURL") + "drm-content";
document.getElementById("playDRMContentLink").setAttribute("href", drmInfoURL);
if (!Services.prefs.getBoolPref("browser.eme.ui.enabled")) {
let emeUIEnabled = Services.prefs.getBoolPref("browser.eme.ui.enabled");
// Force-disable/hide on WinXP:
if (navigator.platform.toLowerCase().startsWith("win")) {
emeUIEnabled = emeUIEnabled && parseFloat(Services.sysinfo.get("version")) >= 6;
}
if (!emeUIEnabled) {
// Don't want to rely on .hidden for the toplevel groupbox because
// of the pane hiding/showing code potentially interfering:
document.getElementById("drmGroup").setAttribute("style", "display: none !important");

View File

@ -14,7 +14,8 @@ let gElements;
function checkElements(expectedPane) {
for (let element of gElements) {
// preferences elements fail is_element_visible checks because they are never visible.
if (element.nodeName == "preferences") {
// special-case the drmGroup item because its visibility depends on pref + OS version
if (element.nodeName == "preferences" || element.id === "drmGroup") {
continue;
}
let attributeValue = element.getAttribute("data-category");
@ -27,7 +28,6 @@ function checkElements(expectedPane) {
}
function runTest(win) {
Services.prefs.setBoolPref("browser.eme.ui.enabled", true);
is(gBrowser.currentURI.spec, "about:preferences", "about:preferences loaded");
let tab = win.document;
@ -45,6 +45,5 @@ function runTest(win) {
gBrowser.removeCurrentTab();
win.close();
Services.prefs.clearUserPref("browser.eme.ui.enabled");
finish();
}