Bug 1675349: Update tests under toolkit/mozapps for the removal of plugins. r=jmathies,Gijs
authorDavid Parks <daparks@mozilla.com>
Wed, 18 Nov 2020 16:01:25 +0000
changeset 557844 787cb1497e8641e9879d57d9ff75ce22a6e6e585
parent 557843 07d50962e04f05300d94e5f2c78d83d36269f260
child 557845 6f79bd1536596ad0fff306190792654177d4c3bd
push id37962
push userapavel@mozilla.com
push dateWed, 18 Nov 2020 21:51:58 +0000
treeherdermozilla-central@9d797387f57c [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersjmathies, Gijs
bugs1675349, 1257565, 514327, 549697, 1525174, 619652, 552736
milestone85.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 1675349: Update tests under toolkit/mozapps for the removal of plugins. r=jmathies,Gijs UPDATED ------- toolkit/mozapps/extensions/test/xpcshell/rs-blocklist/test_blocklist_severities.js Bug 1257565 Tests blocklist behavior: user vs soft vs app disabled when blocklist is updated. Does not test severity:0, which :gijs assures me is not relevant to addons. Remove plugin parts -- seems to be just cutting stuff. toolkit/mozapps/extensions/test/xpcshell/rs-blocklist/test_blocklist_appversion.js Bug 1257565 Checks that addons are properly blocked by blocklist BASED ON VERSION NUMBERS. NB: result for addons is always STATE_BLOCKED. Remove plugin parts -- seems to be _mostly_ just cutting stuff. (Also remove 'lastTest' stuff, which is there only for plugins) REMOVED ------- toolkit/mozapps/extensions/test/xpcshell/rs-blocklist/test_blocklist_plugin_flashonly.js Bug 1257565 Ostensibly tests `plugin.load_flash_only` but many tests implicitly test this as it is required to load test plugins. toolkit/mozapps/extensions/test/xpcshell/rs-blocklist/test_blocklist_plugin_regexp.js Bug 1257565 Not run -- not listed in ini toolkit/mozapps/extensions/test/xpcshell/rs-blocklist/test_blocklist_plugin_outdated.js bug 514327 Test plugin blocklist value's behaviors toolkit/mozapps/extensions/test/xpcshell/rs-blocklist/test_pluginBlocklistCtp Bug 1257565 Test plugin blocklist (CTP only). toolkit/mozapps/extensions/test/xpcshell/rs-blocklist/test_blocklist_plugin_severities.js Bug 1257565 Tests severity:0, which, according to :gijs, is not used for addons. toolkit/mozapps/extensions/test/xpcshell/rs-blocklist/test_pluginInfoURL.js Bug 1257565 Assuming infoURL is unused by addons (ask :gijs!), this is all plugins. toolkit/mozapps/extensions/test/browser/browser_CTP_plugins.js bug 549697 Test CTP behavior (blocking prefs window, doorhanger, etc) toolkit/mozapps/extensions/test/browser/browser_html_plugins.js Bug 1525174 Test plugin activation dropdown in about:addons toolkit/mozapps/extensions/test/browser/browser_pluginprefs.js Bug 619652 Testing the rest of plugins use in about:addons toolkit/mozapps/extensions/test/xpcshell/test_plugins.js Bug 552736 "This verifies that plugins exist and can be enabled and disabled." Tests basic AddonManager plugin functionality. Differential Revision: https://phabricator.services.mozilla.com/D95919
toolkit/mozapps/extensions/Blocklist.jsm
toolkit/mozapps/extensions/test/browser/browser.ini
toolkit/mozapps/extensions/test/browser/browser_CTP_plugins.js
toolkit/mozapps/extensions/test/browser/browser_html_plugins.js
toolkit/mozapps/extensions/test/browser/browser_pluginprefs.js
toolkit/mozapps/extensions/test/xpcshell/rs-blocklist/test_blocklist_appversion.js
toolkit/mozapps/extensions/test/xpcshell/rs-blocklist/test_blocklist_plugin_flashonly.js
toolkit/mozapps/extensions/test/xpcshell/rs-blocklist/test_blocklist_plugin_outdated.js
toolkit/mozapps/extensions/test/xpcshell/rs-blocklist/test_blocklist_plugin_regexp.js
toolkit/mozapps/extensions/test/xpcshell/rs-blocklist/test_blocklist_plugin_severities.js
toolkit/mozapps/extensions/test/xpcshell/rs-blocklist/test_blocklist_severities.js
toolkit/mozapps/extensions/test/xpcshell/rs-blocklist/test_pluginBlocklistCtp.js
toolkit/mozapps/extensions/test/xpcshell/rs-blocklist/test_pluginInfoURL.js
toolkit/mozapps/extensions/test/xpcshell/rs-blocklist/xpcshell.ini
toolkit/mozapps/extensions/test/xpcshell/test_plugins.js
toolkit/mozapps/extensions/test/xpcshell/xpcshell.ini
--- a/toolkit/mozapps/extensions/Blocklist.jsm
+++ b/toolkit/mozapps/extensions/Blocklist.jsm
@@ -803,29 +803,16 @@ this.PluginBlocklistRS = {
     if (blockedItems.length) {
       this._showBlockedPluginsPrompt(blockedItems);
     } else {
       this._notifyUpdate();
     }
   },
 
   _showBlockedPluginsPrompt(blockedPlugins) {
-    if ("@mozilla.org/addons/blocklist-prompt;1" in Cc) {
-      try {
-        let blockedPrompter = Cc[
-          "@mozilla.org/addons/blocklist-prompt;1"
-        ].getService().wrappedJSObject;
-        blockedPrompter.prompt(blockedPlugins);
-      } catch (e) {
-        LOG(e);
-      }
-      this._notifyUpdate();
-      return;
-    }
-
     let args = {
       restart: false,
       list: blockedPlugins,
     };
     // This lets the dialog get the raw js object
     args.wrappedJSObject = args;
 
     /*
--- a/toolkit/mozapps/extensions/test/browser/browser.ini
+++ b/toolkit/mozapps/extensions/test/browser/browser.ini
@@ -37,18 +37,16 @@ generated-files =
   addons/browser_dragdrop1.zip
   addons/browser_dragdrop2.xpi
   addons/browser_dragdrop2.zip
   addons/browser_dragdrop_incompat.xpi
   addons/browser_installssl.xpi
   addons/browser_theme.xpi
   addons/options_signed.xpi
 
-[browser_CTP_plugins.js]
-tags = blocklist
 [browser_about_debugging_link.js]
 [browser_addon_list_reordering.js]
 [browser_bug523784.js]
 skip-if = (!debug && os == 'win') #Bug 1489496
 [browser_bug572561.js]
 [browser_checkAddonCompatibility.js]
 [browser_dragdrop.js]
 skip-if = true # Bug 1626824
@@ -70,18 +68,16 @@ support-files =
 [browser_html_discover_view_prefs.js]
 [browser_html_list_view.js]
 [browser_html_list_view_recommendations.js]
 [browser_html_message_bar.js]
 [browser_html_named_deck.js]
 [browser_html_options_ui.js]
 [browser_html_options_ui_in_tab.js]
 [browser_html_pending_updates.js]
-[browser_html_plugins.js]
-skip-if = (os == 'win' && processor == 'aarch64') # aarch64 has no plugin support, bug 1525174 and 1547495
 [browser_html_recent_updates.js]
 [browser_html_recommendations.js]
 [browser_html_scroll_restoration.js]
 [browser_html_updates.js]
 [browser_html_warning_messages.js]
 [browser_installssl.js]
 skip-if = verify
 [browser_installtrigger_install.js]
@@ -90,17 +86,16 @@ skip-if = verify
 [browser_manage_shortcuts_hidden.js]
 [browser_manage_shortcuts_remove.js]
 [browser_menu_button_accessibility.js]
 [browser_page_accessibility.js]
 [browser_page_options_install_addon.js]
 [browser_page_options_updates.js]
 [browser_panel_item_accesskey.js]
 [browser_panel_list_accessibility.js]
-[browser_pluginprefs.js]
 [browser_reinstall.js]
 [browser_search_bar_focus.js]
 [browser_shortcuts_duplicate_check.js]
 [browser_sidebar_categories.js]
 [browser_sidebar_hidden_categories.js]
 [browser_sidebar_restore_category.js]
 [browser_task_next_test.js]
 [browser_updateid.js]
deleted file mode 100644
--- a/toolkit/mozapps/extensions/test/browser/browser_CTP_plugins.js
+++ /dev/null
@@ -1,261 +0,0 @@
-/* Any copyright is dedicated to the Public Domain.
- * http://creativecommons.org/publicdomain/zero/1.0/
- */
-
-// Test plugin blocking.
-
-const gHttpTestRoot = "http://127.0.0.1:8888/" + RELATIVE_DIR + "/";
-const { AddonTestUtils } = ChromeUtils.import(
-  "resource://testing-common/AddonTestUtils.jsm"
-);
-
-function updateBlocklist(aURL, aCallback) {
-  var observer = function() {
-    Services.obs.removeObserver(observer, "plugin-blocklist-updated");
-    SimpleTest.executeSoon(aCallback);
-  };
-  Services.obs.addObserver(observer, "plugin-blocklist-updated");
-  info("Loading plugin data " + aURL);
-  if (aURL.endsWith("blockNoPlugins")) {
-    AddonTestUtils.loadBlocklistRawData({ plugins: [] });
-  } else if (aURL.endsWith("blockPluginHard")) {
-    AddonTestUtils.loadBlocklistRawData({
-      plugins: [
-        {
-          matchFilename: "libnptest\\.so|nptest\\.dll|Test\\.plugin",
-          versionRange: [{ severity: "2" }],
-          blockID: "p9999",
-        },
-      ],
-    });
-  } else {
-    ok(false, "Should never be asked to update to unknown blocklist data.");
-  }
-}
-
-function setPluginActivateState({ managerWindow, pluginId, activateState }) {
-  let pluginEl = get_addon_element(managerWindow, pluginId);
-  ok(pluginEl, `Got the about:addon entry for "${pluginId}"`);
-
-  // Activate plugin on the HTML about:addons views.
-  let activateAction = pluginEl.querySelector(`[action="${activateState}"]`);
-  ok(activateAction, `Got element for ${activateState} plugin action`);
-  activateAction.click();
-}
-
-async function getTestPluginAddon() {
-  const plugins = await AddonManager.getAddonsByTypes(["plugin"]);
-
-  for (const plugin of plugins) {
-    if (plugin.name == "Test Plug-in") {
-      return plugin;
-    }
-  }
-
-  return undefined;
-}
-
-add_task(async function test_CTP_plugins() {
-  let pluginTag = getTestPluginTag();
-  pluginTag.enabledState = Ci.nsIPluginTag.STATE_CLICKTOPLAY;
-  let managerWindow = await open_manager("addons://list/plugin");
-
-  let testPluginAddon = await getTestPluginAddon();
-  isnot(testPluginAddon, null, "part2: Test Plug-in should exist");
-
-  let testPluginId = testPluginAddon.id;
-
-  let pluginEl = get_addon_element(managerWindow, testPluginId);
-  ok(pluginEl, `Got the about:addon entry for "${testPluginId}"`);
-
-  info("part3: test plugin add-on actions status");
-
-  let pluginOptions = pluginEl.querySelector("plugin-options");
-  let pluginCheckedItem = pluginOptions.querySelector("panel-item[checked]");
-  is(
-    pluginCheckedItem.getAttribute("action"),
-    "ask-to-activate",
-    "plugin should have ask-to-activate state selected"
-  );
-
-  let pluginTab = await BrowserTestUtils.openNewForegroundTab(
-    gBrowser,
-    gHttpTestRoot + "plugin_test.html"
-  );
-  let pluginBrowser = pluginTab.linkedBrowser;
-
-  let condition = () =>
-    PopupNotifications.getNotification("click-to-play-plugins", pluginBrowser);
-  await BrowserTestUtils.waitForCondition(
-    condition,
-    "part4: should have a click-to-play notification"
-  );
-
-  BrowserTestUtils.removeTab(pluginTab);
-
-  setPluginActivateState({
-    managerWindow,
-    pluginId: testPluginId,
-    activateState: "always-activate",
-  });
-
-  pluginTab = await BrowserTestUtils.openNewForegroundTab(
-    gBrowser,
-    gHttpTestRoot + "plugin_test.html"
-  );
-
-  await SpecialPowers.spawn(pluginTab.linkedBrowser, [], async function() {
-    let testPlugin = content.document.getElementById("test");
-    ok(testPlugin, "part5: should have a plugin element in the page");
-    let condition = () => testPlugin.activated;
-    await ContentTaskUtils.waitForCondition(
-      condition,
-      "part5: waited too long for plugin to activate"
-    );
-    ok(testPlugin.activated, "part6: plugin should be activated");
-  });
-
-  BrowserTestUtils.removeTab(pluginTab);
-
-  setPluginActivateState({
-    managerWindow,
-    pluginId: testPluginId,
-    activateState: "never-activate",
-  });
-
-  pluginTab = await BrowserTestUtils.openNewForegroundTab(
-    gBrowser,
-    gHttpTestRoot + "plugin_test.html"
-  );
-  pluginBrowser = pluginTab.linkedBrowser;
-
-  await SpecialPowers.spawn(pluginTab.linkedBrowser, [], async function() {
-    let testPlugin = content.document.getElementById("test");
-    ok(testPlugin, "part7: should have a plugin element in the page");
-    ok(!testPlugin.activated, "part7: plugin should not be activated");
-  });
-
-  BrowserTestUtils.removeTab(pluginTab);
-
-  info("part8: test plugin state is never-activate");
-  pluginEl = get_addon_element(managerWindow, testPluginId);
-
-  pluginOptions = pluginEl.querySelector("plugin-options");
-  const pluginCheckItem = pluginOptions.querySelector("panel-item[checked]");
-  is(
-    pluginCheckItem.getAttribute("action"),
-    "never-activate",
-    "plugin should have never-activate state selected"
-  );
-
-  info("part9: set plugin state to always-activate");
-  setPluginActivateState({
-    managerWindow,
-    pluginId: testPluginId,
-    activateState: "always-activate",
-  });
-
-  pluginTab = await BrowserTestUtils.openNewForegroundTab(
-    gBrowser,
-    gHttpTestRoot + "plugin_test.html"
-  );
-  pluginBrowser = pluginTab.linkedBrowser;
-
-  await SpecialPowers.spawn(pluginTab.linkedBrowser, [], async function() {
-    let testPlugin = content.document.getElementById("test");
-    ok(testPlugin, "part9: should have a plugin element in the page");
-    let condition = () => testPlugin.activated;
-    await ContentTaskUtils.waitForCondition(
-      condition,
-      "part9: waited too long for plugin to activate"
-    );
-    ok(testPlugin.activated, "part10: plugin should be activated");
-  });
-
-  BrowserTestUtils.removeTab(pluginTab);
-
-  setPluginActivateState({
-    managerWindow,
-    pluginId: testPluginId,
-    activateState: "ask-to-activate",
-  });
-
-  pluginTab = await BrowserTestUtils.openNewForegroundTab(
-    gBrowser,
-    gHttpTestRoot + "plugin_test.html"
-  );
-  pluginBrowser = pluginTab.linkedBrowser;
-
-  condition = () =>
-    PopupNotifications.getNotification("click-to-play-plugins", pluginBrowser);
-  await BrowserTestUtils.waitForCondition(
-    condition,
-    "part11: should have a click-to-play notification"
-  );
-
-  BrowserTestUtils.removeTab(pluginTab);
-  await close_manager(managerWindow);
-});
-
-add_task(async function test_blocklisted_plugin_disabled() {
-  async function ensurePluginEnabled() {
-    let pluginTag = getTestPluginTag();
-    pluginTag.enabledState = Ci.nsIPluginTag.STATE_ENABLED;
-    await new Promise(resolve => {
-      updateBlocklist(gHttpTestRoot + "blockNoPlugins", resolve);
-    });
-  }
-
-  await SpecialPowers.pushPrefEnv({
-    set: [["extensions.blocklist.suppressUI", true]],
-  });
-
-  // Causes appDisabled to be set.
-  await new Promise(resolve => {
-    // Ensure to reset the blocklist if this test exits earlier because
-    // of a failure.
-    registerCleanupFunction(ensurePluginEnabled);
-    updateBlocklist(gHttpTestRoot + "blockPluginHard", resolve);
-  });
-
-  await checkPlugins();
-
-  // Using flushPrefEnv instead of 2x popPrefEnv to work around bug 1557397.
-  await SpecialPowers.flushPrefEnv();
-});
-
-async function checkPlugins() {
-  let testPluginAddon = await getTestPluginAddon();
-  isnot(testPluginAddon, null, "Test Plug-in should exist");
-  let testPluginId = testPluginAddon.id;
-
-  let managerWindow = await open_manager("addons://list/plugin");
-
-  let pluginEl = get_addon_element(managerWindow, testPluginId);
-  ok(pluginEl, `Got about:addons entry for ${testPluginId}`);
-
-  // Open the options menu (needed to check the disabled buttons).
-  const pluginOptions = pluginEl.querySelector("plugin-options");
-  pluginOptions.querySelector("panel-list").open = true;
-
-  // tests all buttons disabled (besides the checked one and the expand action)
-  // are expected to be disabled if locked is true.
-  for (const item of pluginOptions.querySelectorAll(
-    "panel-item:not([hidden])"
-  )) {
-    const actionName = item.getAttribute("action");
-    if (
-      !item.hasAttribute("checked") &&
-      actionName !== "expand" &&
-      actionName !== "preferences"
-    ) {
-      ok(
-        item.shadowRoot.querySelector("button").disabled,
-        `Plugin action "${actionName}" should be disabled`
-      );
-    }
-  }
-  pluginOptions.querySelector("panel-list").open = false;
-
-  await close_manager(managerWindow);
-}
deleted file mode 100644
--- a/toolkit/mozapps/extensions/test/browser/browser_html_plugins.js
+++ /dev/null
@@ -1,180 +0,0 @@
-/* Any copyright is dedicated to the Public Domain.
-   http://creativecommons.org/publicdomain/zero/1.0/ */
-/* eslint max-len: ["error", 80] */
-
-"use strict";
-
-const TEST_PLUGIN_DESCRIPTION = "Flash plug-in for testing purposes.";
-
-add_task(async function enableHtmlViews() {
-  let gProvider = new MockProvider();
-  gProvider.createAddons([
-    {
-      id: "no-ask-to-activate@mochi.test",
-      name: "No ask to activate",
-      getFullDescription(doc) {
-        let a = doc.createElement("a");
-        a.textContent = "A link";
-        a.href = "http://example.com/no-ask-to-activate";
-        return a;
-      },
-      type: "plugin",
-    },
-  ]);
-
-  Services.telemetry.clearEvents();
-});
-
-add_task(async function testAskToActivate() {
-  function checkItems(items, checked) {
-    for (let item of items) {
-      let action = item.getAttribute("action");
-      ok(!item.disabled, `${action} is enabled`);
-      if (action == checked) {
-        ok(item.checked, `${action} is checked`);
-      } else {
-        ok(!item.checked, `${action} isn't checked`);
-      }
-    }
-  }
-
-  let plugins = await AddonManager.getAddonsByTypes(["plugin"]);
-  let flash = plugins.find(
-    plugin => plugin.description == TEST_PLUGIN_DESCRIPTION
-  );
-  let addonId = flash.id;
-
-  // Reset to default value.
-  flash.userDisabled = AddonManager.STATE_ASK_TO_ACTIVATE;
-
-  let win = await loadInitialView("plugin");
-  let doc = win.document;
-
-  let card = doc.querySelector(`addon-card[addon-id="${flash.id}"]`);
-  let panelItems = card.querySelectorAll("panel-item:not([hidden])");
-  let actions = Array.from(panelItems).map(item => item.getAttribute("action"));
-  Assert.deepEqual(
-    actions,
-    ["ask-to-activate", "never-activate", "preferences", "expand"],
-    "The panel items are for a plugin"
-  );
-
-  checkItems(panelItems, "ask-to-activate");
-
-  is(
-    flash.userDisabled,
-    AddonManager.STATE_ASK_TO_ACTIVATE,
-    "Flash is ask-to-activate"
-  );
-  ok(flash.isActive, "Flash is active");
-
-  // Switch to never activate.
-  let updated = BrowserTestUtils.waitForEvent(card, "update");
-  card.querySelector("panel-item[action*=never]").click();
-  await updated;
-  checkItems(panelItems, "never-activate");
-  ok(flash.userDisabled, `Flash is not userDisabled... for some reason`);
-  ok(!flash.isActive, "Flash isn't active");
-
-  // Switch it back to ask to activate.
-  updated = BrowserTestUtils.waitForEvent(card, "update");
-  card.querySelector("panel-item[action*=ask]").click();
-  await updated;
-  checkItems(panelItems, "ask-to-activate");
-  is(
-    flash.userDisabled,
-    AddonManager.STATE_ASK_TO_ACTIVATE,
-    "Flash is ask-to-activate"
-  );
-  ok(flash.isActive, "Flash is active");
-
-  // Check the detail view, too.
-  let loaded = waitForViewLoad(win);
-  card.querySelector("[action=expand]").click();
-  await loaded;
-
-  card = doc.querySelector("addon-card");
-  panelItems = card.querySelectorAll("panel-item");
-  checkItems(panelItems, "ask-to-activate");
-
-  await closeView(win);
-
-  assertAboutAddonsTelemetryEvents([
-    ["addonsManager", "view", "aboutAddons", "list", { type: "plugin" }],
-    [
-      "addonsManager",
-      "action",
-      "aboutAddons",
-      null,
-      { type: "plugin", addonId, view: "list", action: "disable" },
-    ],
-    // Ask-to-activate doesn't trigger a telemetry event.
-    [
-      "addonsManager",
-      "view",
-      "aboutAddons",
-      "detail",
-      { type: "plugin", addonId },
-    ],
-  ]);
-});
-
-add_task(async function testNoAskToActivate() {
-  function checkItems(menuItems) {
-    for (let item of menuItems) {
-      let action = item.getAttribute("action");
-      if (action === "ask-to-activate") {
-        ok(item.disabled, "ask-to-activate is disabled");
-      } else {
-        ok(!item.disabled, `${action} is enabled`);
-      }
-    }
-  }
-
-  let win = await loadInitialView("plugin");
-  let doc = win.document;
-
-  let id = "no-ask-to-activate@mochi.test";
-  let card = doc.querySelector(`addon-card[addon-id="${id}"]`);
-  ok(card, "The card was found");
-
-  let menuItems = card.querySelectorAll("panel-item:not([hidden])");
-  checkItems(menuItems);
-
-  // There's no preferences option.
-  let actions = Array.from(menuItems).map(item => item.getAttribute("action"));
-  Assert.deepEqual(
-    actions,
-    ["ask-to-activate", "always-activate", "never-activate", "expand"],
-    "The panel items are for a plugin"
-  );
-
-  // Open the details page.
-  let loaded = waitForViewLoad(win);
-  card.querySelector('[action="expand"]').click();
-  await loaded;
-
-  card = doc.querySelector("addon-card");
-  is(card.addon.id, id, "The right plugin page was loaded");
-
-  // Check that getFullDescription() will set the description.
-  let description = card.querySelector(".addon-detail-description");
-  is(description.childElementCount, 1, "The description has one element");
-  let link = description.firstElementChild;
-  is(link.localName, "a", "The element is a link");
-  is(link.href, "http://example.com/no-ask-to-activate", "The href is set");
-  is(link.textContent, "A link", "The text is set");
-
-  menuItems = card.querySelectorAll("panel-item:not([hidden])");
-  checkItems(menuItems);
-
-  // There's no preferences option, and expand is now hidden.
-  actions = Array.from(menuItems).map(item => item.getAttribute("action"));
-  Assert.deepEqual(
-    actions,
-    ["ask-to-activate", "always-activate", "never-activate"],
-    "The panel items are for a detail page plugin"
-  );
-
-  await closeView(win);
-});
deleted file mode 100644
--- a/toolkit/mozapps/extensions/test/browser/browser_pluginprefs.js
+++ /dev/null
@@ -1,66 +0,0 @@
-/* Any copyright is dedicated to the Public Domain.
- * http://creativecommons.org/publicdomain/zero/1.0/
- */
-
-// Tests the detail view of plugins
-
-var gManagerWindow;
-
-async function getTestPluginAddon() {
-  const plugins = await AddonManager.getAddonsByTypes(["plugin"]);
-  return plugins.find(plugin => plugin.name === "Test Plug-in");
-}
-
-add_task(async function test_inline_plugin_prefs() {
-  gManagerWindow = await open_manager("addons://list/plugin");
-  let testPlugin = await getTestPluginAddon();
-  ok(testPlugin, "Test Plug-in should exist");
-
-  let pluginEl = get_addon_element(gManagerWindow, testPlugin.id);
-  is(
-    testPlugin.optionsType,
-    AddonManager.OPTIONS_TYPE_INLINE_BROWSER,
-    "Options should be inline type"
-  );
-
-  let optionsBrowserPromise = BrowserTestUtils.waitForEvent(
-    pluginEl.ownerDocument,
-    "load",
-    true,
-    event => {
-      let { target } = event;
-      return (
-        target.currentURI && target.currentURI.spec === testPlugin.optionsURL
-      );
-    }
-  ).then(event => event.target);
-
-  pluginEl.querySelector("panel-item[action='preferences']").click();
-
-  info("Waiting for inline options page to be ready");
-  let doc = (await optionsBrowserPromise).contentDocument;
-
-  await BrowserTestUtils.waitForCondition(() => {
-    // Wait until pluginPrefs.js has initialized the plugin pref view.
-    return doc.getElementById("pluginLibraries").textContent;
-  }, "Waiting for pluginPrefs to finish rendering");
-
-  let pluginLibraries = doc.getElementById("pluginLibraries");
-  ok(pluginLibraries, "Plugin file name row should be displayed");
-  // the file name depends on the platform
-  is(
-    pluginLibraries.textContent,
-    testPlugin.pluginLibraries[0],
-    "Plugin file name should be displayed"
-  );
-
-  let pluginMimeTypes = doc.getElementById("pluginMimeTypes");
-  ok(pluginMimeTypes, "Plugin mime type row should be displayed");
-  is(
-    pluginMimeTypes.textContent,
-    "application/x-test (Test \u2122 mimetype: tst)",
-    "Plugin mime type should be displayed"
-  );
-
-  await close_manager(gManagerWindow);
-});
--- a/toolkit/mozapps/extensions/test/xpcshell/rs-blocklist/test_blocklist_appversion.js
+++ b/toolkit/mozapps/extensions/test/xpcshell/rs-blocklist/test_blocklist_appversion.js
@@ -4,18 +4,16 @@
  */
 
 // useMLBF=true does not offer special support for filtering by application ID.
 // The same functionality is offered through filter_expression, which is tested
 // by services/settings/test/unit/test_remote_settings_jexl_filters.js and
 // test_blocklistchange.js.
 Services.prefs.setBoolPref("extensions.blocklist.useMLBF", false);
 
-const Cm = Components.manager.QueryInterface(Ci.nsIComponentRegistrar);
-
 var ADDONS = [
   {
     id: "test_bug449027_1@tests.mozilla.org",
     name: "Bug 449027 Addon Test 1",
     version: "5",
     start: false,
     appBlocks: false,
     toolkitBlocks: false,
@@ -209,79 +207,16 @@ var ADDONS = [
     name: "Bug 449027 Addon Test 25",
     version: "5",
     start: false,
     appBlocks: true,
     toolkitBlocks: true,
   },
 ];
 
-class MockPlugin extends MockPluginTag {
-  constructor(name, version, start, appBlocks, toolkitBlocks) {
-    super({ name, version });
-    this.start = start;
-    this.appBlocks = appBlocks;
-    this.toolkitBlocks = toolkitBlocks;
-  }
-}
-
-var PLUGINS = [
-  new MockPlugin("test_bug449027_1", "5", false, false, false),
-  new MockPlugin("test_bug449027_2", "5", false, true, false),
-  new MockPlugin("test_bug449027_3", "5", false, true, false),
-  new MockPlugin("test_bug449027_4", "5", false, false, false),
-  new MockPlugin("test_bug449027_5", "5", false, false, false),
-  new MockPlugin("test_bug449027_6", "5", false, true, false),
-  new MockPlugin("test_bug449027_7", "5", false, true, false),
-  new MockPlugin("test_bug449027_8", "5", false, true, false),
-  new MockPlugin("test_bug449027_9", "5", false, true, false),
-  new MockPlugin("test_bug449027_10", "5", false, true, false),
-  new MockPlugin("test_bug449027_11", "5", false, true, false),
-  new MockPlugin("test_bug449027_12", "5", false, true, false),
-  new MockPlugin("test_bug449027_13", "5", false, true, false),
-  new MockPlugin("test_bug449027_14", "5", false, false, false),
-  new MockPlugin("test_bug449027_15", "5", false, true, true),
-  new MockPlugin("test_bug449027_16", "5", false, true, true),
-  new MockPlugin("test_bug449027_17", "5", false, false, false),
-  new MockPlugin("test_bug449027_18", "5", false, false, false),
-  new MockPlugin("test_bug449027_19", "5", false, true, true),
-  new MockPlugin("test_bug449027_20", "5", false, true, true),
-  new MockPlugin("test_bug449027_21", "5", false, true, true),
-  new MockPlugin("test_bug449027_22", "5", false, true, true),
-  new MockPlugin("test_bug449027_23", "5", false, true, true),
-  new MockPlugin("test_bug449027_24", "5", false, true, true),
-  new MockPlugin("test_bug449027_25", "5", false, true, true),
-];
-
-var gNewBlocks = [];
-
-mockPluginHost(PLUGINS);
-
-var BlocklistPrompt = {
-  get wrappedJSObject() {
-    return this;
-  },
-
-  prompt(list) {
-    gNewBlocks = list.map(item => `${item.name} ${item.version}`);
-  },
-
-  QueryInterface: ChromeUtils.generateQI([]),
-};
-
-let factory = ComponentUtils.generateSingletonFactory(function() {
-  return BlocklistPrompt;
-});
-Cm.registerFactory(
-  Components.ID("{26d32654-30c7-485d-b983-b4d2568aebba}"),
-  "Blocklist Prompt",
-  "@mozilla.org/addons/blocklist-prompt;1",
-  factory
-);
-
 function createAddon(addon) {
   return promiseInstallWebExtension({
     manifest: {
       name: addon.name,
       version: addon.version,
       applications: { gecko: { id: addon.id } },
     },
   });
@@ -310,39 +245,16 @@ async function checkState(test, lastTest
     var blocked =
       addons[i].blocklistState == Ci.nsIBlocklistService.STATE_BLOCKED;
     equal(
       blocked,
       addon[test],
       `Blocklist state should match expected for extension ${addon.id}, test ${test}`
     );
   }
-
-  for (let plugin of PLUGINS) {
-    equal(
-      await plugin.isBlocklisted(),
-      plugin[test],
-      `Blocklist state should match expected for plugin ${plugin.name}, test ${test}`
-    );
-  }
-
-  if (lastTest) {
-    var expected = 0;
-    for (let plugin of PLUGINS) {
-      if (plugin[test] && !plugin[lastTest]) {
-        ok(
-          gNewBlocks.includes(`${plugin.name} ${plugin.version}`),
-          `Plugin ${plugin.name} should have been listed in the blocklist notification for test ${test}`
-        );
-        expected++;
-      }
-    }
-
-    Assert.equal(expected, gNewBlocks.length);
-  }
 }
 
 add_task(async function test() {
   createAppInfo("xpcshell@tests.mozilla.org", "XPCShell", "3", "8");
   await promiseStartupManager();
 
   for (let addon of ADDONS) {
     await createAddon(addon);
deleted file mode 100644
--- a/toolkit/mozapps/extensions/test/xpcshell/rs-blocklist/test_blocklist_plugin_flashonly.js
+++ /dev/null
@@ -1,53 +0,0 @@
-/* This Source Code Form is subject to the terms of the Mozilla Public
- * License, v. 2.0. If a copy of the MPL was not distributed with this
- * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
-
-const nsIBLS = Ci.nsIBlocklistService;
-
-// Finds the test nsIPluginTag
-function get_test_plugintag() {
-  var host = Cc["@mozilla.org/plugin/host;1"].getService(Ci.nsIPluginHost);
-  var tags = host.getPluginTags();
-  for (let tag of tags) {
-    if (tag.name == "Test Plug-in") {
-      return tag;
-    }
-  }
-  return null;
-}
-
-add_task(async function checkFlashOnlyPluginState() {
-  createAppInfo("xpcshell@tests.mozilla.org", "XPCShell", "1", "1.9");
-
-  Services.prefs.setBoolPref("plugin.load_flash_only", false);
-  // plugin.load_flash_only is only respected if xpc::IsInAutomation is true.
-  // This is not the case by default in xpcshell tests, unless the following
-  // pref is also set. Fixing this generically is bug 1598804
-  Services.prefs.setBoolPref(
-    "security.turn_off_all_security_so_that_viruses_can_take_over_this_computer",
-    true
-  );
-
-  await AddonTestUtils.loadBlocklistRawData({
-    plugins: [
-      {
-        matchName: "Test Plug-in",
-        versionRange: [{ severity: "0" }],
-      },
-    ],
-  });
-
-  var plugin = get_test_plugintag();
-  if (!plugin) {
-    do_throw("Plugin tag not found");
-  }
-
-  // run the code after the blocklist is closed
-  Services.obs.notifyObservers(null, "addon-blocklist-closed");
-  await new Promise(executeSoon);
-  // should be marked as outdated by the blocklist
-  Assert.equal(
-    await Blocklist.getPluginBlocklistState(plugin, "1", "1.9"),
-    nsIBLS.STATE_OUTDATED
-  );
-});
deleted file mode 100644
--- a/toolkit/mozapps/extensions/test/xpcshell/rs-blocklist/test_blocklist_plugin_outdated.js
+++ /dev/null
@@ -1,134 +0,0 @@
-/* This Source Code Form is subject to the terms of the Mozilla Public
- * License, v. 2.0. If a copy of the MPL was not distributed with this
- * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
-
-const Cm = Components.manager.QueryInterface(Ci.nsIComponentRegistrar);
-
-const nsIBLS = Ci.nsIBlocklistService;
-
-var gBlocklist = null;
-
-var PLUGINS = [
-  {
-    // Tests a plugin whose state goes from not-blocked, to outdated
-    name: "test_bug514327_outdated",
-    version: "5",
-    disabled: false,
-    blocklisted: false,
-  },
-  {
-    // Used to trigger the blocklist dialog, which indicates the blocklist has updated
-    name: "test_bug514327_1",
-    version: "5",
-    disabled: false,
-    blocklisted: false,
-  },
-  {
-    // Used to trigger the blocklist dialog, which indicates the blocklist has updated
-    name: "test_bug514327_2",
-    version: "5",
-    disabled: false,
-    blocklisted: false,
-  },
-].map(opts => new MockPluginTag(opts, opts.enabledState));
-
-mockPluginHost(PLUGINS);
-
-const BLOCKLIST_DATA = {
-  empty: {},
-  outdated_1: {
-    plugins: [
-      {
-        matchName: "test_bug514327_1",
-        versionRange: [],
-      },
-      {
-        matchName: "test_bug514327_outdated",
-        versionRange: [{ severity: "0" }],
-      },
-    ],
-  },
-  outdated_2: {
-    plugins: [
-      {
-        matchName: "test_bug514327_2",
-        versionRange: [],
-      },
-      {
-        matchName: "test_bug514327_outdated",
-        versionRange: [{ severity: "0" }],
-      },
-    ],
-  },
-};
-
-var BlocklistPrompt = {
-  get wrappedJSObject() {
-    return this;
-  },
-
-  prompt(list) {
-    // Should only include one item
-    Assert.equal(list.length, 1);
-    // And that item should be the blocked plugin, not the outdated one
-    var item = list[0];
-    Assert.ok(item.item instanceof Ci.nsIPluginTag);
-    Assert.notEqual(item.name, "test_bug514327_outdated");
-  },
-
-  QueryInterface: ChromeUtils.generateQI([]),
-};
-
-let factory = ComponentUtils.generateSingletonFactory(function() {
-  return BlocklistPrompt;
-});
-Cm.registerFactory(
-  Components.ID("{26d32654-30c7-485d-b983-b4d2568aebba}"),
-  "Blocklist Prompt",
-  "@mozilla.org/addons/blocklist-prompt;1",
-  factory
-);
-
-add_task(async function setup() {
-  createAppInfo("xpcshell@tests.mozilla.org", "XPCShell", "1", "1.9");
-
-  await promiseStartupManager();
-  // initialize the blocklist with no entries
-  await AddonTestUtils.loadBlocklistRawData(BLOCKLIST_DATA.empty);
-
-  gBlocklist = Services.blocklist;
-
-  // The blocklist service defers plugin request until the Blocklist
-  // module loads. Make sure it loads, or we'll wait forever.
-  executeSoon(() => {
-    void Blocklist;
-  });
-
-  // should NOT be marked as outdated by the blocklist
-  Assert.equal(
-    await gBlocklist.getPluginBlocklistState(PLUGINS[0], "1", "1.9"),
-    nsIBLS.STATE_NOT_BLOCKED
-  );
-});
-
-add_task(async function test_part_1() {
-  // update blocklist with data that marks the plugin as outdated
-  await AddonTestUtils.loadBlocklistRawData(BLOCKLIST_DATA.outdated_1);
-
-  // plugin should now be marked as outdated
-  Assert.equal(
-    await gBlocklist.getPluginBlocklistState(PLUGINS[0], "1", "1.9"),
-    nsIBLS.STATE_OUTDATED
-  );
-});
-
-add_task(async function test_part_2() {
-  // update blocklist with data that marks the plugin as outdated
-  await AddonTestUtils.loadBlocklistRawData(BLOCKLIST_DATA.outdated_2);
-
-  // plugin should still be marked as outdated
-  Assert.equal(
-    await gBlocklist.getPluginBlocklistState(PLUGINS[0], "1", "1.9"),
-    nsIBLS.STATE_OUTDATED
-  );
-});
deleted file mode 100644
--- a/toolkit/mozapps/extensions/test/xpcshell/rs-blocklist/test_blocklist_plugin_regexp.js
+++ /dev/null
@@ -1,73 +0,0 @@
-/* This Source Code Form is subject to the terms of the Mozilla Public
- * License, v. 2.0. If a copy of the MPL was not distributed with this
- * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
-
-var PLUGINS = [
-  {
-    // Normal blocklisted plugin, before an invalid regexp
-    name: "test_bug468528_1",
-    version: "5",
-    disabled: false,
-    blocklisted: false,
-  },
-  {
-    // Normal blocklisted plugin, with an invalid regexp
-    name: "test_bug468528_2",
-    version: "5",
-    disabled: false,
-    blocklisted: false,
-  },
-  {
-    // Normal blocklisted plugin, after an invalid regexp
-    name: "test_bug468528_3",
-    version: "5",
-    disabled: false,
-    blocklisted: false,
-  },
-  {
-    // Non-blocklisted plugin
-    name: "test_bug468528_4",
-    version: "5",
-    disabled: false,
-    blocklisted: false,
-  },
-];
-
-add_task(async function checkBlocklistForRegexes() {
-  createAppInfo("xpcshell@tests.mozilla.org", "XPCShell", "1", "1.9");
-
-  // We cannot force the blocklist to update so just copy our test list to the profile
-  copyBlocklistToProfile(do_get_file("../data/test_bug468528.xml"));
-
-  var { blocklist } = Services;
-
-  // The blocklist service defers plugin request until the Blocklist
-  // module loads. Make sure it loads, or we'll wait forever.
-  executeSoon(() => {
-    void Blocklist;
-  });
-
-  // blocked (sanity check)
-  Assert.equal(
-    await blocklist.getPluginBlocklistState(PLUGINS[0], "1", "1.9"),
-    blocklist.STATE_BLOCKED
-  );
-
-  // not blocked - won't match due to invalid regexp
-  Assert.equal(
-    await blocklist.getPluginBlocklistState(PLUGINS[1], "1", "1.9"),
-    blocklist.STATE_NOT_BLOCKED
-  );
-
-  // blocked - the invalid regexp for the previous item shouldn't affect this one
-  Assert.equal(
-    await blocklist.getPluginBlocklistState(PLUGINS[2], "1", "1.9"),
-    blocklist.STATE_BLOCKED
-  );
-
-  // not blocked - the previous invalid regexp shouldn't act as a wildcard
-  Assert.equal(
-    await blocklist.getPluginBlocklistState(PLUGINS[3], "1", "1.9"),
-    blocklist.STATE_NOT_BLOCKED
-  );
-});
deleted file mode 100644
--- a/toolkit/mozapps/extensions/test/xpcshell/rs-blocklist/test_blocklist_plugin_severities.js
+++ /dev/null
@@ -1,90 +0,0 @@
-/* This Source Code Form is subject to the terms of the Mozilla Public
- * License, v. 2.0. If a copy of the MPL was not distributed with this
- * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
-
-var PLUGINS = [
-  {
-    // blocklisted - default severity
-    name: "test_bug514327_1",
-    version: "5",
-    disabled: false,
-    blocklisted: false,
-  },
-  {
-    // outdated - severity of "0"
-    name: "test_bug514327_2",
-    version: "5",
-    disabled: false,
-    blocklisted: false,
-  },
-  {
-    // outdated - severity of "0"
-    name: "test_bug514327_3",
-    version: "5",
-    disabled: false,
-    blocklisted: false,
-  },
-  {
-    // not blocklisted, not outdated
-    name: "test_bug514327_4",
-    version: "5",
-    disabled: false,
-    blocklisted: false,
-    outdated: false,
-  },
-];
-
-let BLOCKLIST_DATA = {
-  plugins: [
-    {
-      matchName: "^test_bug514327_1",
-      versionRange: [],
-    },
-    {
-      matchName: "^test_bug514327_2",
-      versionRange: [{ severity: "0" }],
-    },
-    {
-      matchName: "^test_bug514327_3",
-      versionRange: [{ severity: "0" }],
-    },
-  ],
-};
-
-add_task(async function checkBlocklistSeverities() {
-  createAppInfo("xpcshell@tests.mozilla.org", "XPCShell", "1", "1.9");
-
-  await AddonTestUtils.loadBlocklistRawData(BLOCKLIST_DATA);
-
-  var { blocklist } = Services;
-
-  // The blocklist service defers plugin request until the Blocklist
-  // module loads. Make sure it loads, or we'll wait forever.
-  executeSoon(() => {
-    void Blocklist;
-  });
-
-  // blocked (sanity check)
-  Assert.equal(
-    await blocklist.getPluginBlocklistState(PLUGINS[0], "1", "1.9"),
-    blocklist.STATE_BLOCKED
-  );
-
-  // outdated
-  Assert.equal(
-    await blocklist.getPluginBlocklistState(PLUGINS[1], "1", "1.9"),
-    blocklist.STATE_OUTDATED
-  );
-
-  // outdated
-  Assert.equal(
-    await blocklist.getPluginBlocklistState(PLUGINS[2], "1", "1.9"),
-    blocklist.STATE_OUTDATED
-  );
-
-  // not blocked
-  Assert.equal(
-    await blocklist.getPluginBlocklistState(PLUGINS[3], "1", "1.9"),
-    blocklist.STATE_NOT_BLOCKED
-  );
-});
--- a/toolkit/mozapps/extensions/test/xpcshell/rs-blocklist/test_blocklist_severities.js
+++ b/toolkit/mozapps/extensions/test/xpcshell/rs-blocklist/test_blocklist_severities.js
@@ -83,49 +83,16 @@ var ADDONS = [
     // Spare add-on used to ensure we get a notification when switching lists
     id: "dummy_bug455906_2@tests.mozilla.org",
     name: "Dummy Addon 2",
     version: "5",
     appVersion: "3",
   },
 ];
 
-var PLUGINS = [
-  // Tests how the blocklist affects a disabled plugin
-  new MockPluginTag(
-    { name: "test_bug455906_1", version: "5" },
-    Ci.nsIPluginTag.STATE_DISABLED
-  ),
-  // Tests how the blocklist affects an enabled plugin
-  new MockPluginTag(
-    { name: "test_bug455906_2", version: "5" },
-    Ci.nsIPluginTag.STATE_ENABLED
-  ),
-  // Tests how the blocklist affects an enabled plugin, to be disabled by the notification
-  new MockPluginTag(
-    { name: "test_bug455906_3", version: "5" },
-    Ci.nsIPluginTag.STATE_ENABLED
-  ),
-  // Tests how the blocklist affects a disabled plugin that was already warned about
-  new MockPluginTag(
-    { name: "test_bug455906_4", version: "5" },
-    Ci.nsIPluginTag.STATE_DISABLED
-  ),
-  // Tests how the blocklist affects an enabled plugin that was already warned about
-  new MockPluginTag(
-    { name: "test_bug455906_5", version: "5" },
-    Ci.nsIPluginTag.STATE_ENABLED
-  ),
-  // Tests how the blocklist affects an already blocked plugin
-  new MockPluginTag(
-    { name: "test_bug455906_6", version: "5" },
-    Ci.nsIPluginTag.STATE_ENABLED
-  ),
-];
-
 var gNotificationCheck = null;
 
 // Don't need the full interface, attempts to call other methods will just
 // throw which is just fine
 var WindowWatcher = {
   openWindow(parent, url, name, features, windowArguments) {
     // Should be called to list the newly blocklisted items
     equal(url, URI_EXTENSION_BLOCKLIST_DIALOG);
@@ -178,87 +145,49 @@ const BLOCKLIST_DATA = {
         guid: "test_bug455906_6@tests.mozilla.org",
         versionRange: [{ severity: "2" }],
       },
       {
         guid: "dummy_bug455906_1@tests.mozilla.org",
         versionRange: [],
       },
     ],
-    // Block 4-6:
-    plugins: [
-      {
-        matchName: "^test_bug455906_4$",
-        versionRange: [{ severity: "0" }],
-      },
-      {
-        matchName: "^test_bug455906_5$",
-        versionRange: [{ severity: "1" }],
-      },
-      {
-        matchName: "^test_bug455906_6$",
-        versionRange: [{ severity: "2" }],
-      },
-    ],
   },
   warn: {
     // warn for all test add-ons:
     extensions: ADDONS.filter(a => a.id.startsWith("test_")).map(a => ({
       guid: a.id,
       versionRange: [{ severity: "-1" }],
     })),
-    // warn for all plugins with a regex:
-    plugins: [
-      {
-        matchName: "^test_bug455906",
-        versionRange: [{ severity: "-1" }],
-      },
-    ],
   },
   block: {
     // block all test add-ons:
     extensions: ADDONS.filter(a => a.id.startsWith("test_")).map(a => ({
       guid: a.id,
       blockID: a.id,
       versionRange: [],
     })),
-    // block all plugins with a regex:
-    plugins: [
-      {
-        matchName: "^test_bug455906",
-        versionRange: [],
-        blockID: "test_bug455906_plugin",
-      },
-    ],
   },
   empty: {
     // Block a dummy so there's a change:
     extensions: [
       {
         guid: "dummy_bug455906_2@tests.mozilla.org",
         versionRange: [],
       },
     ],
-    // Need an empty list to force clearing things:
-    plugins: [],
   },
 };
 
 async function loadBlocklist(id, callback) {
   gNotificationCheck = callback;
 
   await AddonTestUtils.loadBlocklistRawData(BLOCKLIST_DATA[id]);
 }
 
-async function check_plugin_state(plugin) {
-  let blocklistState = await Blocklist.getPluginBlocklistState(plugin);
-  return `${plugin.disabled},${blocklistState ==
-    Services.blocklist.STATE_BLOCKED}`;
-}
-
 function create_blocklistURL(blockID) {
   let url = Services.urlFormatter.formatURLPref(PREF_BLOCKLIST_ITEM_URL);
   url = url.replace(/%blockID%/g, blockID);
   return url;
 }
 
 // Before every main test this is the state the add-ons are meant to be in
 async function checkInitialState() {
@@ -294,40 +223,30 @@ async function checkInitialState() {
     softDisabled: false,
     appDisabled: true,
   });
   checkAddonState(addons[6], {
     userDisabled: false,
     softDisabled: false,
     appDisabled: true,
   });
-
-  equal(await check_plugin_state(PLUGINS[0]), "true,false");
-  equal(await check_plugin_state(PLUGINS[1]), "false,false");
-  equal(await check_plugin_state(PLUGINS[2]), "false,false");
-  equal(await check_plugin_state(PLUGINS[3]), "true,false");
-  equal(await check_plugin_state(PLUGINS[4]), "false,false");
-  equal(await check_plugin_state(PLUGINS[5]), "false,true");
 }
 
 function checkAddonState(addon, state) {
   return checkAddon(addon.id, addon, state);
 }
 
 add_task(async function setup() {
   createAppInfo("xpcshell@tests.mozilla.org", "XPCShell", "3", "3");
 
   await promiseStartupManager();
 
   // Load the initial blocklist into the profile to check add-ons start in the
   // right state.
-  // Make sure to do this before we touch the plugin service, since that
-  // will force a blocklist load.
   await AddonTestUtils.loadBlocklistRawData(BLOCKLIST_DATA.start);
-  mockPluginHost(PLUGINS);
 
   for (let addon of ADDONS) {
     await createAddon(addon);
   }
 });
 
 add_task(async function test_1() {
   // Tests the add-ons were installed and the initial blocklist applied as expected
@@ -372,78 +291,54 @@ add_task(async function test_1() {
     appDisabled: true,
   });
   checkAddonState(addons[6], {
     userDisabled: false,
     softDisabled: false,
     appDisabled: true,
   });
 
-  // We've overridden the plugin host so we cannot tell what that would have
-  // initialised the plugins as
-
   // Put the add-ons into the base state
   await addons[0].disable();
   await addons[4].enable();
 
   await promiseRestartManager();
   await checkInitialState();
 
   await loadBlocklist("warn", args => {
     dump("Checking notification pt 2\n");
-    // Note: in the XML version, this notifies for 4 items - 2 add-ons and 2 plugins.
     // This test is artificial, we don't notify for add-ons anymore, see
     // https://bugzilla.mozilla.org/show_bug.cgi?id=1257565#c111 . Cleaning this up
     // should happen but this patchset is too huge as it is so I'm deferring it.
     equal(args.list.length, 2);
-
-    for (let addon of args.list) {
-      if (addon.item instanceof Ci.nsIPluginTag) {
-        switch (addon.item.name) {
-          case "test_bug455906_2":
-            ok(!addon.blocked);
-            break;
-          case "test_bug455906_3":
-            ok(!addon.blocked);
-            addon.disable = true;
-            break;
-          default:
-            do_throw("Unknown plugin: " + addon.item.name);
-        }
-      } else {
-        do_throw("Everything here should be a plugin, what is this?!");
-      }
-    }
   });
 
   await promiseRestartManager();
   dump("Checking results pt 2\n");
 
   addons = await AddonManager.getAddonsByIDs(ADDONS.map(a => a.id));
 
   info("Should have disabled this add-on as requested");
   checkAddonState(addons[2], {
     userDisabled: true,
     softDisabled: true,
     appDisabled: false,
   });
-  equal(await check_plugin_state(PLUGINS[2]), "true,false");
 
   info("The blocked add-on should have changed to soft disabled");
   checkAddonState(addons[5], {
     userDisabled: true,
     softDisabled: true,
     appDisabled: false,
   });
   checkAddonState(addons[6], {
     userDisabled: true,
     softDisabled: true,
     appDisabled: true,
   });
-  equal(await check_plugin_state(PLUGINS[5]), "true,false");
 
   info("These should have been unchanged");
   checkAddonState(addons[0], {
     userDisabled: true,
     softDisabled: false,
     appDisabled: false,
   });
   // XXXgijs this is supposed to be not user disabled or soft disabled, but because we don't show
@@ -454,70 +349,32 @@ add_task(async function test_1() {
     softDisabled: true,
     appDisabled: false,
   });
   checkAddonState(addons[4], {
     userDisabled: false,
     softDisabled: false,
     appDisabled: false,
   });
-  equal(await check_plugin_state(PLUGINS[0]), "true,false");
-  equal(await check_plugin_state(PLUGINS[1]), "false,false");
-  equal(await check_plugin_state(PLUGINS[3]), "true,false");
-  equal(await check_plugin_state(PLUGINS[4]), "false,false");
 
   // Back to starting state
   await addons[2].enable();
   await addons[5].enable();
-  PLUGINS[2].enabledState = Ci.nsIPluginTag.STATE_ENABLED;
-  PLUGINS[5].enabledState = Ci.nsIPluginTag.STATE_ENABLED;
 
   await promiseRestartManager();
   await loadBlocklist("start");
 });
 
 add_task(async function test_pt3() {
   await promiseRestartManager();
   await checkInitialState();
 
   await loadBlocklist("block", args => {
     dump("Checking notification pt 3\n");
     equal(args.list.length, 3);
-
-    for (let addon of args.list) {
-      if (addon.item instanceof Ci.nsIPluginTag) {
-        switch (addon.item.name) {
-          case "test_bug455906_2":
-            ok(addon.blocked);
-            break;
-          case "test_bug455906_3":
-            ok(addon.blocked);
-            break;
-          case "test_bug455906_5":
-            ok(addon.blocked);
-            break;
-          default:
-            do_throw("Unknown addon: " + addon.item.name);
-        }
-      } else {
-        switch (addon.item.id) {
-          case "test_bug455906_2@tests.mozilla.org":
-            ok(addon.blocked);
-            break;
-          case "test_bug455906_3@tests.mozilla.org":
-            ok(addon.blocked);
-            break;
-          case "test_bug455906_5@tests.mozilla.org":
-            ok(addon.blocked);
-            break;
-          default:
-            do_throw("Unknown addon: " + addon.item.id);
-        }
-      }
-    }
   });
 
   await promiseRestartManager();
   dump("Checking results pt 3\n");
 
   let addons = await AddonManager.getAddonsByIDs(ADDONS.map(a => a.id));
 
   // All should have gained the blocklist state, user disabled as previously
@@ -536,21 +393,16 @@ add_task(async function test_pt3() {
     softDisabled: false,
     appDisabled: true,
   });
   checkAddonState(addons[4], {
     userDisabled: false,
     softDisabled: false,
     appDisabled: true,
   });
-  equal(await check_plugin_state(PLUGINS[0]), "true,true");
-  equal(await check_plugin_state(PLUGINS[1]), "false,true");
-  equal(await check_plugin_state(PLUGINS[2]), "false,true");
-  equal(await check_plugin_state(PLUGINS[3]), "true,true");
-  equal(await check_plugin_state(PLUGINS[4]), "false,true");
 
   // Should have gained the blocklist state but no longer be soft disabled
   checkAddonState(addons[3], {
     userDisabled: false,
     softDisabled: false,
     appDisabled: true,
   });
 
@@ -571,80 +423,55 @@ add_task(async function test_pt3() {
     await getAddonBlocklistURL(addons[3]),
     create_blocklistURL(addons[3].id)
   );
   equal(
     await getAddonBlocklistURL(addons[4]),
     create_blocklistURL(addons[4].id)
   );
 
-  // All plugins have the same blockID on the test
-  equal(
-    await Blocklist.getPluginBlockURL(PLUGINS[0]),
-    create_blocklistURL("test_bug455906_plugin")
-  );
-  equal(
-    await Blocklist.getPluginBlockURL(PLUGINS[1]),
-    create_blocklistURL("test_bug455906_plugin")
-  );
-  equal(
-    await Blocklist.getPluginBlockURL(PLUGINS[2]),
-    create_blocklistURL("test_bug455906_plugin")
-  );
-  equal(
-    await Blocklist.getPluginBlockURL(PLUGINS[3]),
-    create_blocklistURL("test_bug455906_plugin")
-  );
-  equal(
-    await Blocklist.getPluginBlockURL(PLUGINS[4]),
-    create_blocklistURL("test_bug455906_plugin")
-  );
-
   // Shouldn't be changed
   checkAddonState(addons[5], {
     userDisabled: false,
     softDisabled: false,
     appDisabled: true,
   });
   checkAddonState(addons[6], {
     userDisabled: false,
     softDisabled: false,
     appDisabled: true,
   });
-  equal(await check_plugin_state(PLUGINS[5]), "false,true");
 
   // Back to starting state
   await loadBlocklist("start");
 });
 
 add_task(async function test_pt4() {
   let addon = await AddonManager.getAddonByID(ADDONS[4].id);
   await addon.enable();
-  PLUGINS[4].enabledState = Ci.nsIPluginTag.STATE_ENABLED;
 
   await promiseRestartManager();
   await checkInitialState();
 
   await loadBlocklist("empty", args => {
     dump("Checking notification pt 4\n");
     // See note in other callback - we no longer notify for non-blocked add-ons.
-    ok(false, "Should not get a notification as there are no blocked plugins.");
+    ok(false, "Should not get a notification as there are no blocked addons.");
   });
 
   await promiseRestartManager();
   dump("Checking results pt 4\n");
 
   let addons = await AddonManager.getAddonsByIDs(ADDONS.map(a => a.id));
   // This should have become unblocked
   checkAddonState(addons[5], {
     userDisabled: false,
     softDisabled: false,
     appDisabled: false,
   });
-  equal(await check_plugin_state(PLUGINS[5]), "false,false");
 
   // Should get re-enabled
   checkAddonState(addons[3], {
     userDisabled: false,
     softDisabled: false,
     appDisabled: false,
   });
 
@@ -669,14 +496,9 @@ add_task(async function test_pt4() {
     softDisabled: false,
     appDisabled: false,
   });
   checkAddonState(addons[6], {
     userDisabled: false,
     softDisabled: false,
     appDisabled: true,
   });
-  equal(await check_plugin_state(PLUGINS[0]), "true,false");
-  equal(await check_plugin_state(PLUGINS[1]), "false,false");
-  equal(await check_plugin_state(PLUGINS[2]), "false,false");
-  equal(await check_plugin_state(PLUGINS[3]), "true,false");
-  equal(await check_plugin_state(PLUGINS[4]), "false,false");
 });
deleted file mode 100644
--- a/toolkit/mozapps/extensions/test/xpcshell/rs-blocklist/test_pluginBlocklistCtp.js
+++ /dev/null
@@ -1,283 +0,0 @@
-/* This Source Code Form is subject to the terms of the Mozilla Public
- * License, v. 2.0. If a copy of the MPL was not distributed with this
- * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
-
-const nsIBLS = Ci.nsIBlocklistService;
-
-var gPluginHost = null;
-
-var PLUGINS = [
-  {
-    // severity=0, vulnerabilitystatus=0 -> outdated
-    name: "test_plugin_0",
-    version: "5",
-    disabled: false,
-    blocklisted: false,
-  },
-  {
-    // severity=0, vulnerabilitystatus=1 -> update available
-    name: "test_plugin_1",
-    version: "5",
-    disabled: false,
-    blocklisted: false,
-  },
-  {
-    // severity=0, vulnerabilitystatus=2 -> no update
-    name: "test_plugin_2",
-    version: "5",
-    disabled: false,
-    blocklisted: false,
-  },
-  {
-    // no severity field -> severity=3 by default -> hardblock
-    name: "test_plugin_3",
-    version: "5",
-    disabled: false,
-    blocklisted: false,
-  },
-  {
-    // severity=1, vulnerabilitystatus=2 -> softblock
-    name: "test_plugin_4",
-    version: "5",
-    disabled: false,
-    blocklisted: false,
-  },
-  {
-    // not in the blocklist -> not blocked
-    name: "test_plugin_5",
-    version: "5",
-    disabled: false,
-    blocklisted: false,
-  },
-];
-
-const BLOCKLIST_DATA = {
-  ctp: [
-    {
-      matchName: "^test_plugin_0",
-      versionRange: [
-        {
-          maxVersion: "*",
-          minVersion: "0",
-          severity: "0",
-          vulnerabilityStatus: "0",
-        },
-      ],
-    },
-    {
-      matchName: "^test_plugin_1",
-      versionRange: [
-        {
-          maxVersion: "*",
-          minVersion: "0",
-          severity: "0",
-          vulnerabilityStatus: "1",
-        },
-      ],
-    },
-    {
-      matchName: "^test_plugin_2",
-      versionRange: [
-        {
-          maxVersion: "*",
-          minVersion: "0",
-          severity: "0",
-          vulnerabilityStatus: "2",
-        },
-      ],
-    },
-    {
-      matchName: "^test_plugin_3",
-      versionRange: [
-        {
-          maxVersion: "*",
-          minVersion: "0",
-          vulnerabilityStatus: "2",
-        },
-      ],
-    },
-    {
-      matchName: "^test_plugin_4",
-      versionRange: [
-        {
-          maxVersion: "*",
-          minVersion: "0",
-          severity: "1",
-          vulnerabilityStatus: "2",
-        },
-      ],
-    },
-  ],
-  ctpUndo: [
-    {
-      matchName: "^Test Plug-in",
-      versionRange: [
-        {
-          maxVersion: "*",
-          minVersion: "0",
-          severity: "0",
-          vulnerabilityStatus: "2",
-        },
-      ],
-    },
-  ],
-};
-
-async function updateBlocklist(file) {
-  let blocklistUpdated = TestUtils.topicObserved("plugin-blocklist-updated");
-  AddonTestUtils.loadBlocklistRawData({ plugins: BLOCKLIST_DATA[file] });
-  return blocklistUpdated;
-}
-
-add_task(async function setup() {
-  createAppInfo("xpcshell@tests.mozilla.org", "XPCShell", "1", "1.9");
-
-  Services.prefs.setBoolPref("plugin.load_flash_only", false);
-  // plugin.load_flash_only is only respected if xpc::IsInAutomation is true.
-  // This is not the case by default in xpcshell tests, unless the following
-  // pref is also set. Fixing this generically is bug 1598804
-  Services.prefs.setBoolPref(
-    "security.turn_off_all_security_so_that_viruses_can_take_over_this_computer",
-    true
-  );
-  gPluginHost = Cc["@mozilla.org/plugin/host;1"].getService(Ci.nsIPluginHost);
-  await promiseStartupManager();
-});
-
-add_task(async function basic() {
-  await updateBlocklist("ctp");
-  var { blocklist } = Services;
-
-  Assert.equal(
-    await blocklist.getPluginBlocklistState(PLUGINS[0], "1", "1.9"),
-    nsIBLS.STATE_OUTDATED
-  );
-
-  Assert.equal(
-    await blocklist.getPluginBlocklistState(PLUGINS[1], "1", "1.9"),
-    nsIBLS.STATE_VULNERABLE_UPDATE_AVAILABLE
-  );
-
-  Assert.equal(
-    await blocklist.getPluginBlocklistState(PLUGINS[2], "1", "1.9"),
-    nsIBLS.STATE_VULNERABLE_NO_UPDATE
-  );
-
-  Assert.equal(
-    await blocklist.getPluginBlocklistState(PLUGINS[3], "1", "1.9"),
-    nsIBLS.STATE_BLOCKED
-  );
-
-  Assert.equal(
-    await blocklist.getPluginBlocklistState(PLUGINS[4], "1", "1.9"),
-    nsIBLS.STATE_SOFTBLOCKED
-  );
-
-  Assert.equal(
-    await blocklist.getPluginBlocklistState(PLUGINS[5], "1", "1.9"),
-    nsIBLS.STATE_NOT_BLOCKED
-  );
-});
-
-function get_test_plugin() {
-  for (var plugin of gPluginHost.getPluginTags()) {
-    if (plugin.name == "Test Plug-in") {
-      return plugin;
-    }
-  }
-  Assert.ok(false, "Should have found the test plugin!");
-  return null;
-}
-
-// At this time, the blocklist does not have an entry for the test plugin,
-// so it shouldn't be click-to-play.
-add_task(async function test_is_not_clicktoplay() {
-  var plugin = get_test_plugin();
-  var blocklistState = await Blocklist.getPluginBlocklistState(
-    plugin,
-    "1",
-    "1.9"
-  );
-  Assert.notEqual(
-    blocklistState,
-    Ci.nsIBlocklistService.STATE_VULNERABLE_UPDATE_AVAILABLE
-  );
-  Assert.notEqual(
-    blocklistState,
-    Ci.nsIBlocklistService.STATE_VULNERABLE_NO_UPDATE
-  );
-});
-
-// Here, we've updated the blocklist to have a block for the test plugin,
-// so it should be click-to-play.
-add_task(async function test_is_clicktoplay() {
-  await updateBlocklist("ctpUndo");
-  var plugin = get_test_plugin();
-  var blocklistState = await Blocklist.getPluginBlocklistState(
-    plugin,
-    "1",
-    "1.9"
-  );
-  Assert.equal(
-    blocklistState,
-    Ci.nsIBlocklistService.STATE_VULNERABLE_NO_UPDATE
-  );
-});
-
-// But now we've removed that entry from the blocklist (really we've gone back
-// to the old one), so the plugin shouldn't be click-to-play any more.
-add_task(async function test_is_not_clicktoplay2() {
-  await updateBlocklist("ctp");
-  var plugin = get_test_plugin();
-  var blocklistState = await Blocklist.getPluginBlocklistState(
-    plugin,
-    "1",
-    "1.9"
-  );
-  Assert.notEqual(
-    blocklistState,
-    Ci.nsIBlocklistService.STATE_VULNERABLE_UPDATE_AVAILABLE
-  );
-  Assert.notEqual(
-    blocklistState,
-    Ci.nsIBlocklistService.STATE_VULNERABLE_NO_UPDATE
-  );
-});
-
-// Test that disabling the blocklist when a plugin is ctp-blocklisted will
-// result in the plugin not being click-to-play.
-add_task(async function test_disable_blocklist() {
-  await updateBlocklist("ctpUndo");
-  var plugin = get_test_plugin();
-  var blocklistState = await Blocklist.getPluginBlocklistState(
-    plugin,
-    "1",
-    "1.9"
-  );
-  Assert.equal(
-    blocklistState,
-    Ci.nsIBlocklistService.STATE_VULNERABLE_NO_UPDATE
-  );
-
-  Services.prefs.setBoolPref("extensions.blocklist.enabled", false);
-  blocklistState = await Blocklist.getPluginBlocklistState(plugin, "1", "1.9");
-  Assert.notEqual(
-    blocklistState,
-    Ci.nsIBlocklistService.STATE_VULNERABLE_NO_UPDATE
-  );
-  Assert.notEqual(
-    blocklistState,
-    Ci.nsIBlocklistService.STATE_VULNERABLE_UPDATE_AVAILABLE
-  );
-
-  // it should still be possible to make a plugin click-to-play
-  // by setting that plugin's enabled state to click-to-play
-  let previousEnabledState = plugin.enabledState;
-  plugin.enabledState = Ci.nsIPluginTag.STATE_CLICKTOPLAY;
-  Assert.equal(
-    gPluginHost.getStateForType("application/x-test"),
-    Ci.nsIPluginTag.STATE_CLICKTOPLAY
-  );
-  // clean up plugin state
-  plugin.enabledState = previousEnabledState;
-});
deleted file mode 100644
--- a/toolkit/mozapps/extensions/test/xpcshell/rs-blocklist/test_pluginInfoURL.js
+++ /dev/null
@@ -1,201 +0,0 @@
-/* This Source Code Form is subject to the terms of the Mozilla Public
- * License, v. 2.0. If a copy of the MPL was not distributed with this
- * file, You can obtain one at http://mozilla.org/MPL/2.0/.
- */
-
-/**
- * MockPlugin mimics the behaviour of a plugin.
- */
-function MockPlugin(name, version, enabledState) {
-  this.name = name;
-  this.version = version;
-  this.enabledState = enabledState;
-}
-
-MockPlugin.prototype = {
-  get disabled() {
-    return this.enabledState == Ci.nsIPluginTag.STATE_DISABLED;
-  },
-};
-
-// The mocked blocked plugin used to test the blocklist.
-const PLUGINS = [
-  new MockPlugin("test_with_infoURL", "5", Ci.nsIPluginTag.STATE_ENABLED),
-  new MockPlugin("test_with_altInfoURL", "5", Ci.nsIPluginTag.STATE_ENABLED),
-  new MockPlugin("test_no_infoURL", "5", Ci.nsIPluginTag.STATE_ENABLED),
-  new MockPlugin("test_newVersion", "1", Ci.nsIPluginTag.STATE_ENABLED),
-  new MockPlugin("test_newVersion", "3", Ci.nsIPluginTag.STATE_ENABLED),
-  new MockPlugin("test_noBlockID", "3", Ci.nsIPluginTag.STATE_ENABLED),
-];
-
-const BLOCKLIST_DATA = [
-  {
-    matchName: "^test_with_infoURL",
-    matchVersion: "^5",
-    versionRange: [
-      {
-        targetApplication: [
-          {
-            guid: "xpcshell@tests.mozilla.org",
-            maxVersion: "*",
-            minVersion: "1",
-          },
-        ],
-      },
-    ],
-    blockID: "test_plugin_wInfoURL",
-    infoURL: "http://test.url.com/",
-  },
-  {
-    matchName: "^test_with_altInfoURL",
-    matchVersion: "^5",
-    versionRange: [
-      {
-        targetApplication: [
-          {
-            guid: "xpcshell@tests.mozilla.org",
-            maxVersion: "*",
-            minVersion: "1",
-          },
-        ],
-      },
-    ],
-    blockID: "test_plugin_wAltInfoURL",
-    infoURL: "http://alt.test.url.com/",
-  },
-  {
-    matchName: "^test_no_infoURL",
-    versionRange: [
-      {
-        targetApplication: [
-          {
-            guid: "xpcshell@tests.mozilla.org",
-            maxVersion: "*",
-            minVersion: "1",
-          },
-        ],
-      },
-    ],
-    blockID: "test_plugin_noInfoURL",
-  },
-  {
-    matchName: "^test_newVersion",
-    versionRange: [
-      {
-        maxVersion: "2",
-        minVersion: "1",
-        targetApplication: [
-          {
-            guid: "xpcshell@tests.mozilla.org",
-            maxVersion: "*",
-            minVersion: "1",
-          },
-        ],
-      },
-    ],
-    blockID: "test_plugin_newVersion",
-    infoURL: "http://test.url2.com/",
-  },
-  {
-    matchName: "^test_noBlockID",
-    versionRange: [
-      {
-        targetApplication: [
-          {
-            guid: "xpcshell@tests.mozilla.org",
-            maxVersion: "*",
-            minVersion: "1",
-          },
-        ],
-      },
-    ],
-    infoURL: "http://test.url.com/",
-  },
-];
-
-/**
- * The entry point of the unit tests, which is also responsible of
- * copying the blocklist file to the profile folder.
- */
-add_task(async function setup() {
-  createAppInfo("xpcshell@tests.mozilla.org", "XPCShell", "3", "8");
-  await promiseStartupManager();
-  await AddonTestUtils.loadBlocklistRawData({ plugins: BLOCKLIST_DATA });
-});
-
-/**
- * Test that the blocklist service correctly loads and returns the infoURL for
- * a plugin that matches the first entry in the blocklist.
- */
-add_task(async function test_infoURL() {
-  // The testInfoURL must match the value within the
-  // infoURL info in the pluginInfoURL_block blocklist data
-  let testInfoURL = "http://test.url.com/";
-
-  Assert.strictEqual(
-    await Blocklist.getPluginBlockURL(PLUGINS[0]),
-    testInfoURL,
-    "Should be the provided url when an infoURL tag is available"
-  );
-});
-
-/**
- * Test that the blocklist service correctly loads and returns the infoURL for
- * a plugin that partially matches an earlier entry in the blocklist.
- */
-add_task(async function test_altInfoURL() {
-  let altTestInfoURL = "http://alt.test.url.com/";
-
-  Assert.strictEqual(
-    await Blocklist.getPluginBlockURL(PLUGINS[1]),
-    altTestInfoURL,
-    "Should be the alternative infoURL"
-  );
-});
-
-/**
- * Test that the blocklist service correctly returns the fallback value
- * if the infoURL tag is not specified in the blocklist data.
- */
-add_task(async function test_infoURL_missing() {
-  let fallback_URL =
-    Services.prefs.getStringPref("extensions.blocklist.detailsURL") +
-    "test_plugin_noInfoURL.html";
-
-  Assert.strictEqual(
-    await Blocklist.getPluginBlockURL(PLUGINS[2]),
-    fallback_URL,
-    "Should be using fallback when no infoURL tag is available."
-  );
-});
-
-add_task(async function test_intoURL_newVersion() {
-  let testInfoURL = "http://test.url2.com/";
-  Assert.strictEqual(
-    await Blocklist.getPluginBlockURL(PLUGINS[3]),
-    testInfoURL,
-    "Old plugin should match"
-  );
-  Assert.strictEqual(
-    await Blocklist.getPluginBlockURL(PLUGINS[4]),
-    null,
-    "New plugin should not match"
-  );
-});
-
-/**
- * Test that the blocklist service correctly loads and returns the infoURL for
- * a plugin that matches the last entry in the blocklist, despite it not having
- * a blockID property
- */
-add_task(async function test_infoURL() {
-  // The testInfoURL must match the value within the
-  // infoURL info in the pluginInfoURL_block blocklist data
-  let testInfoURL = "http://test.url.com/";
-
-  Assert.strictEqual(
-    await Blocklist.getPluginBlockURL(PLUGINS[5]),
-    testInfoURL,
-    "Should be the provided url when the infoURL is available and blockID isn't"
-  );
-});
--- a/toolkit/mozapps/extensions/test/xpcshell/rs-blocklist/xpcshell.ini
+++ b/toolkit/mozapps/extensions/test/xpcshell/rs-blocklist/xpcshell.ini
@@ -23,25 +23,16 @@ skip-if = os == "android" # bug 1639050
 [test_blocklist_mlbf_stashes.js]
 [test_blocklist_mlbf_telemetry.js]
 # Data irrelevant to Thunderbird. Bug 1641400.
 skip-if = appname == "thunderbird"
 [test_blocklist_mlbf_update.js]
 [test_blocklist_osabi.js]
 # Bug 676992: test consistently hangs on Android
 skip-if = os == "android"
-[test_blocklist_plugin_flashonly.js]
-# Bug 676992: test consistently hangs on Android
-skip-if = os == "android"
-[test_blocklist_plugin_outdated.js]
-# Bug 676992: test consistently hangs on Android
-skip-if = os == "android"
-[test_blocklist_plugin_severities.js]
-# Bug 676992: test consistently hangs on Android
-skip-if = os == "android"
 [test_blocklist_prefs.js]
 [test_blocklist_regexp_split.js]
 [test_blocklist_severities.js]
 # Bug 676992: test consistently hangs on Android
 skip-if = os == "android"
 [test_blocklist_targetapp_filter.js]
 tags = remote-settings
 [test_blocklist_telemetry.js]
@@ -67,13 +58,9 @@ requesttimeoutfactor = 2
 [test_gfxBlacklist_OSVersion_match.js]
 [test_gfxBlacklist_OSVersion_mismatch_DriverVersion.js]
 [test_gfxBlacklist_OSVersion_mismatch_OSVersion.js]
 [test_gfxBlacklist_Vendor.js]
 [test_gfxBlacklist_Version.js]
 [test_gfxBlacklist_prefs.js]
 # Bug 1248787 - consistently fails
 skip-if = true
-[test_pluginBlocklistCtp.js]
-# Bug 676992: test consistently fails on Android
-fail-if = os == "android"
-[test_pluginInfoURL.js]
 [test_softblocked.js]
deleted file mode 100644
--- a/toolkit/mozapps/extensions/test/xpcshell/test_plugins.js
+++ /dev/null
@@ -1,191 +0,0 @@
-/* Any copyright is dedicated to the Public Domain.
- * http://creativecommons.org/publicdomain/zero/1.0/
- */
-
-var TEST_PLUGIN_DESCRIPTION = "Flash plug-in for testing purposes.";
-
-// This verifies that plugins exist and can be enabled and disabled.
-var gID = null;
-
-function setTestPluginState(state) {
-  let tags = Cc["@mozilla.org/plugin/host;1"]
-    .getService(Ci.nsIPluginHost)
-    .getPluginTags();
-  for (let tag of tags) {
-    info("Checking tag: " + tag.description);
-    if (tag.description == TEST_PLUGIN_DESCRIPTION) {
-      tag.enabledState = state;
-      return;
-    }
-  }
-  throw Error("No plugin tag found for the test plugin");
-}
-
-async function run_test() {
-  do_test_pending();
-  createAppInfo("xpcshell@tests.mozilla.org", "XPCShell", "1", "1.9.2");
-  Services.prefs.setBoolPref("plugin.load_flash_only", false);
-  // plugin.load_flash_only is only respected if xpc::IsInAutomation is true.
-  // This is not the case by default in xpcshell tests, unless the following
-  // pref is also set. Fixing this generically is bug 1598804
-  Services.prefs.setBoolPref(
-    "security.turn_off_all_security_so_that_viruses_can_take_over_this_computer",
-    true
-  );
-
-  setTestPluginState(Ci.nsIPluginTag.STATE_CLICKTOPLAY);
-
-  await promiseStartupManager();
-
-  run_test_1();
-}
-
-// Finds the test plugin library
-function get_test_plugin() {
-  for (let dir of Services.dirsvc.get("APluginsDL", Ci.nsISimpleEnumerator)) {
-    let plugin = dir.clone();
-    // OSX plugin
-    plugin.append("npswftest.plugin");
-    if (plugin.exists()) {
-      plugin.normalize();
-      return plugin;
-    }
-    plugin = dir.clone();
-    // *nix plugin
-    plugin.append("libnpswftest.so");
-    if (plugin.exists()) {
-      plugin.normalize();
-      return plugin;
-    }
-    // Windows plugin
-    plugin = dir.clone();
-    plugin.append("npswftest.dll");
-    if (plugin.exists()) {
-      plugin.normalize();
-      return plugin;
-    }
-  }
-  return null;
-}
-
-function getPluginLastModifiedTime(aPluginFile) {
-  // On OS X we use the bundle contents last modified time as using
-  // the package directories modified date may be outdated.
-  // See bug 313700.
-  try {
-    let localFileMac = aPluginFile.QueryInterface(Ci.nsILocalFileMac);
-    if (localFileMac) {
-      return localFileMac.bundleContentsLastModifiedTime;
-    }
-  } catch (e) {}
-
-  return aPluginFile.lastModifiedTime;
-}
-
-// Tests that the test plugin exists
-async function run_test_1() {
-  var testPlugin = get_test_plugin();
-  Assert.notEqual(testPlugin, null);
-
-  let addons = await AddonManager.getAddonsByTypes(["plugin"]);
-  Assert.ok(!!addons.length);
-
-  addons.forEach(function(p) {
-    if (p.description == TEST_PLUGIN_DESCRIPTION) {
-      gID = p.id;
-    }
-  });
-
-  Assert.notEqual(gID, null);
-
-  let p = await AddonManager.getAddonByID(gID);
-  Assert.notEqual(p, null);
-  Assert.equal(p.name, "Shockwave Flash");
-  Assert.equal(p.description, TEST_PLUGIN_DESCRIPTION);
-  Assert.equal(p.creator, null);
-  Assert.equal(p.version, "1.0.0.0");
-  Assert.equal(p.type, "plugin");
-  Assert.equal(p.userDisabled, "askToActivate");
-  Assert.ok(!p.appDisabled);
-  Assert.ok(p.isActive);
-  Assert.ok(p.isCompatible);
-  Assert.ok(p.providesUpdatesSecurely);
-  Assert.equal(p.blocklistState, 0);
-  Assert.equal(p.permissions, AddonManager.PERM_CAN_DISABLE);
-  Assert.equal(p.pendingOperations, 0);
-  Assert.ok(p.updateDate > 0);
-  Assert.ok("isCompatibleWith" in p);
-  Assert.ok("findUpdates" in p);
-
-  let lastModifiedTime = getPluginLastModifiedTime(testPlugin);
-  Assert.equal(p.updateDate.getTime(), lastModifiedTime);
-  Assert.equal(p.installDate.getTime(), lastModifiedTime);
-
-  run_test_2(p);
-}
-
-// Tests that disabling a plugin works
-async function run_test_2(p) {
-  await expectEvents(
-    {
-      addonEvents: {
-        [gID]: [
-          { event: "onDisabling" },
-          { event: "onDisabled" },
-          { event: "onPropertyChanged", properties: ["userDisabled"] },
-        ],
-      },
-    },
-    () => p.disable()
-  );
-
-  Assert.ok(p.userDisabled);
-  Assert.equal(p.permissions, AddonManager.PERM_CAN_ASK_TO_ACTIVATE);
-  Assert.ok(!p.appDisabled);
-  Assert.ok(!p.isActive);
-
-  let p2 = await AddonManager.getAddonByID(gID);
-  Assert.notEqual(p2, null);
-  Assert.ok(p2.userDisabled);
-  Assert.ok(!p2.appDisabled);
-  Assert.ok(!p2.isActive);
-  Assert.equal(p2.name, "Shockwave Flash");
-
-  run_test_3(p2);
-}
-
-// Tests that enabling a plugin works
-async function run_test_3(p) {
-  await expectEvents(
-    {
-      addonEvents: {
-        [gID]: [{ event: "onEnabling" }, { event: "onEnabled" }],
-      },
-    },
-    () => p.enable()
-  );
-
-  Assert.equal(p.userDisabled, "askToActivate");
-  Assert.ok(!p.appDisabled);
-  Assert.ok(p.isActive);
-
-  let p2 = await AddonManager.getAddonByID(gID);
-  Assert.notEqual(p2, null);
-  Assert.equal(p2.userDisabled, "askToActivate");
-  Assert.ok(!p2.appDisabled);
-  Assert.ok(p2.isActive);
-  Assert.equal(p2.name, "Shockwave Flash");
-
-  executeSoon(run_test_4);
-}
-
-// Verify that after a restart the test plugin has the same ID
-async function run_test_4() {
-  await promiseRestartManager();
-
-  let p = await AddonManager.getAddonByID(gID);
-  Assert.notEqual(p, null);
-  Assert.equal(p.name, "Shockwave Flash");
-
-  executeSoon(do_test_finished);
-}
--- a/toolkit/mozapps/extensions/test/xpcshell/xpcshell.ini
+++ b/toolkit/mozapps/extensions/test/xpcshell/xpcshell.ini
@@ -62,19 +62,16 @@ skip-if = true
 [test_onPropertyChanged_appDisabled.js]
 head = head_addons.js head_compat.js
 skip-if = tsan # Times out, bug 1674773
 [test_permissions.js]
 [test_permissions_prefs.js]
 [test_pluginchange.js]
 run-if = appname == "firefox"
 reason = PluginProvider.jsm is only shipped with desktop Firefox
-[test_plugins.js]
-run-if = appname == "firefox"
-reason = PluginProvider.jsm is only shipped with desktop Firefox
 [test_pref_properties.js]
 [test_provider_markSafe.js]
 [test_provider_shutdown.js]
 [test_provider_unsafe_access_shutdown.js]
 [test_provider_unsafe_access_startup.js]
 [test_proxies.js]
 skip-if = require_signing
 [test_recommendations.js]