diff options
Diffstat (limited to 'toolkit/mozapps/extensions/test/browser/browser_gmpProvider.js')
-rw-r--r-- | toolkit/mozapps/extensions/test/browser/browser_gmpProvider.js | 73 |
1 files changed, 28 insertions, 45 deletions
diff --git a/toolkit/mozapps/extensions/test/browser/browser_gmpProvider.js b/toolkit/mozapps/extensions/test/browser/browser_gmpProvider.js index 52079a263..1813df78c 100644 --- a/toolkit/mozapps/extensions/test/browser/browser_gmpProvider.js +++ b/toolkit/mozapps/extensions/test/browser/browser_gmpProvider.js @@ -5,42 +5,37 @@ "use strict"; Cu.import("resource://gre/modules/Promise.jsm"); -Cu.import("resource://gre/modules/AppConstants.jsm"); -var {AddonTestUtils} = Cu.import("resource://testing-common/AddonManagerTesting.jsm", {}); -var GMPScope = Cu.import("resource://gre/modules/addons/GMPProvider.jsm"); +let {AddonTestUtils} = Cu.import("resource://testing-common/AddonManagerTesting.jsm", {}); +let GMPScope = Cu.import("resource://gre/modules/addons/GMPProvider.jsm"); const TEST_DATE = new Date(2013, 0, 1, 12); -var gManagerWindow; -var gCategoryUtilities; -var gIsEnUsLocale; +let gManagerWindow; +let gCategoryUtilities; +let gIsEnUsLocale; -var gMockAddons = []; +let gMockAddons = []; for (let plugin of GMPScope.GMP_PLUGINS) { let mockAddon = Object.freeze({ id: plugin.id, isValid: true, isInstalled: false, - isEME: (plugin.id == "gmp-widevinecdm" || - plugin.id.indexOf("gmp-eme-") == 0) ? true : false, + isEME: plugin.id.indexOf("gmp-eme-") == 0 ? true : false, }); gMockAddons.push(mockAddon); } -var gInstalledAddonId = ""; -var gInstallDeferred = null; -var gPrefs = Services.prefs; -var getKey = GMPScope.GMPPrefs.getPrefKey; +let gInstalledAddonId = ""; +let gInstallDeferred = null; +let gPrefs = Services.prefs; +let getKey = GMPScope.GMPPrefs.getPrefKey; function MockGMPInstallManager() { } MockGMPInstallManager.prototype = { - checkForAddons: () => Promise.resolve({ - usedFallback: true, - gmpAddons: gMockAddons - }), + checkForAddons: () => Promise.resolve(gMockAddons), installAddon: addon => { gInstalledAddonId = addon.id; @@ -49,7 +44,7 @@ MockGMPInstallManager.prototype = { }, }; -var gOptionsObserver = { +let gOptionsObserver = { lastDisplayed: null, observe: function(aSubject, aTopic, aData) { if (aTopic == AddonManager.OPTIONS_NOTIFICATION_DISPLAYED) { @@ -74,14 +69,10 @@ function getInstallItem() { } function openDetailsView(aId) { - let view = get_current_view(gManagerWindow); - Assert.equal(view.id, "list-view", "Should be in the list view to use this function"); - let item = get_addon_element(gManagerWindow, aId); Assert.ok(item, "Should have got add-on element."); is_element_visible(item, "Add-on element should be visible."); - item.scrollIntoView(); EventUtils.synthesizeMouseAtCenter(item, { clickCount: 1 }, gManagerWindow); EventUtils.synthesizeMouseAtCenter(item, { clickCount: 2 }, gManagerWindow); @@ -105,8 +96,7 @@ add_task(function* initializeState() { gPrefs.clearUserPref(getKey(GMPScope.GMPPrefs.KEY_PLUGIN_LAST_UPDATE, addon.id)); gPrefs.clearUserPref(getKey(GMPScope.GMPPrefs.KEY_PLUGIN_AUTOUPDATE, addon.id)); gPrefs.clearUserPref(getKey(GMPScope.GMPPrefs.KEY_PLUGIN_VERSION, addon.id)); - gPrefs.clearUserPref(getKey(GMPScope.GMPPrefs.KEY_PLUGIN_VISIBLE, addon.id)); - gPrefs.clearUserPref(getKey(GMPScope.GMPPrefs.KEY_PLUGIN_FORCE_SUPPORTED, addon.id)); + gPrefs.clearUserPref(getKey(GMPScope.GMPPrefs.KEY_PLUGIN_FORCEVISIBLE, addon.id)); } gPrefs.clearUserPref(GMPScope.GMPPrefs.KEY_LOGGING_DUMP); gPrefs.clearUserPref(GMPScope.GMPPrefs.KEY_LOGGING_LEVEL); @@ -129,8 +119,8 @@ add_task(function* initializeState() { gPrefs.setIntPref(getKey(GMPScope.GMPPrefs.KEY_PLUGIN_LAST_UPDATE, addon.id), 0); gPrefs.setBoolPref(getKey(GMPScope.GMPPrefs.KEY_PLUGIN_AUTOUPDATE, addon.id), false); gPrefs.setCharPref(getKey(GMPScope.GMPPrefs.KEY_PLUGIN_VERSION, addon.id), ""); - gPrefs.setBoolPref(getKey(GMPScope.GMPPrefs.KEY_PLUGIN_VISIBLE, addon.id), true); - gPrefs.setBoolPref(getKey(GMPScope.GMPPrefs.KEY_PLUGIN_FORCE_SUPPORTED, addon.id), true); + gPrefs.setBoolPref(getKey(GMPScope.GMPPrefs.KEY_PLUGIN_FORCEVISIBLE, addon.id), + true); } yield GMPScope.GMPProvider.shutdown(); GMPScope.GMPProvider.startup(); @@ -175,12 +165,13 @@ add_task(function* testNotInstalledDisabledDetails() { el = doc.getElementById("detail-warning"); is_element_hidden(el, "Warning notification is hidden."); el = doc.getElementsByTagName("setting")[0]; - - yield gCategoryUtilities.openType("plugin"); } }); add_task(function* testNotInstalled() { + Assert.ok(gCategoryUtilities.isTypeVisible("plugin"), "Plugin tab visible."); + yield gCategoryUtilities.openType("plugin"); + for (let addon of gMockAddons) { gPrefs.setBoolPref(getKey(GMPScope.GMPPrefs.KEY_PLUGIN_ENABLED, addon.id), true); let item = get_addon_element(gManagerWindow, addon.id); @@ -217,8 +208,6 @@ add_task(function* testNotInstalledDetails() { el = doc.getElementById("detail-warning"); is_element_visible(el, "Warning notification is visible."); el = doc.getElementsByTagName("setting")[0]; - - yield gCategoryUtilities.openType("plugin"); } }); @@ -229,6 +218,8 @@ add_task(function* testInstalled() { gPrefs.setBoolPref(getKey(GMPScope.GMPPrefs.KEY_PLUGIN_AUTOUPDATE, addon.id), false); gPrefs.setCharPref(getKey(GMPScope.GMPPrefs.KEY_PLUGIN_VERSION, addon.id), "1.2.3.4"); + yield gCategoryUtilities.openType("plugin"); + let item = get_addon_element(gManagerWindow, addon.id); Assert.ok(item, "Got add-on element."); item.parentNode.ensureElementIsVisible(item); @@ -278,14 +269,14 @@ add_task(function* testInstalledDetails() { let menuSep = doc.getElementById("addonitem-menuseparator"); is_element_hidden(menuSep, "Menu separator is hidden."); contextMenu.hidePopup(); - - yield gCategoryUtilities.openType("plugin"); } }); add_task(function* testInstalledGlobalEmeDisabled() { gPrefs.setBoolPref(GMPScope.GMPPrefs.KEY_EME_ENABLED, false); for (let addon of gMockAddons) { + yield gCategoryUtilities.openType("plugin"); + let item = get_addon_element(gManagerWindow, addon.id); if (addon.isEME) { Assert.ok(!item, "Couldn't get add-on element."); @@ -374,7 +365,7 @@ add_task(function* testUpdateButton() { add_task(function* testEmeSupport() { for (let addon of gMockAddons) { - gPrefs.clearUserPref(getKey(GMPScope.GMPPrefs.KEY_PLUGIN_FORCE_SUPPORTED, addon.id)); + gPrefs.clearUserPref(getKey(GMPScope.GMPPrefs.KEY_PLUGIN_FORCEVISIBLE, addon.id)); } yield GMPScope.GMPProvider.shutdown(); GMPScope.GMPProvider.startup(); @@ -384,29 +375,21 @@ add_task(function* testEmeSupport() { let doc = gManagerWindow.document; let item = get_addon_element(gManagerWindow, addon.id); if (addon.id == GMPScope.EME_ADOBE_ID) { - if (AppConstants.isPlatformAndVersionAtLeast("win", "6")) { + if (Services.appinfo.OS == "WINNT" && + Services.sysinfo.getPropertyAsInt32("version") >= 6) { Assert.ok(item, "Adobe EME supported, found add-on element."); } else { Assert.ok(!item, "Adobe EME not supported, couldn't find add-on element."); } - } else if (addon.id == GMPScope.WIDEVINE_ID) { - if (AppConstants.isPlatformAndVersionAtLeast("win", "6") || - AppConstants.platform == "macosx" || - AppConstants.platform == "linux") { - Assert.ok(item, "Widevine supported, found add-on element."); - } else { - Assert.ok(!item, - "Widevine not supported, couldn't find add-on element."); - } } else { Assert.ok(item, "Found add-on element."); } } for (let addon of gMockAddons) { - gPrefs.setBoolPref(getKey(GMPScope.GMPPrefs.KEY_PLUGIN_VISIBLE, addon.id), true); - gPrefs.setBoolPref(getKey(GMPScope.GMPPrefs.KEY_PLUGIN_FORCE_SUPPORTED, addon.id), true); + gPrefs.setBoolPref(getKey(GMPScope.GMPPrefs.KEY_PLUGIN_FORCEVISIBLE, addon.id), + true); } yield GMPScope.GMPProvider.shutdown(); GMPScope.GMPProvider.startup(); |