summaryrefslogtreecommitdiffstats
path: root/dom/base/test/plugin.js
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-28 14:29:10 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-28 14:29:10 +0000
commit2aa4a82499d4becd2284cdb482213d541b8804dd (patch)
treeb80bf8bf13c3766139fbacc530efd0dd9d54394c /dom/base/test/plugin.js
parentInitial commit. (diff)
downloadfirefox-2aa4a82499d4becd2284cdb482213d541b8804dd.tar.xz
firefox-2aa4a82499d4becd2284cdb482213d541b8804dd.zip
Adding upstream version 86.0.1.upstream/86.0.1upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to '')
-rw-r--r--dom/base/test/plugin.js36
1 files changed, 36 insertions, 0 deletions
diff --git a/dom/base/test/plugin.js b/dom/base/test/plugin.js
new file mode 100644
index 0000000000..7c6f61cf1b
--- /dev/null
+++ b/dom/base/test/plugin.js
@@ -0,0 +1,36 @@
+// Copied from /dom/plugins/test/mochitest/utils.js
+function getTestPlugin(pluginName) {
+ var ph = SpecialPowers.Cc["@mozilla.org/plugin/host;1"].getService(
+ SpecialPowers.Ci.nsIPluginHost
+ );
+ var tags = ph.getPluginTags();
+ var name = pluginName || "Test Plug-in";
+ for (var tag of tags) {
+ if (tag.name == name) {
+ return tag;
+ }
+ }
+
+ ok(false, "Could not find plugin tag with plugin name '" + name + "'");
+ return null;
+}
+// Copied from /dom/plugins/test/mochitest/utils.js
+async function setTestPluginEnabledState(newEnabledState, pluginName) {
+ var oldEnabledState = await SpecialPowers.setTestPluginEnabledState(
+ newEnabledState,
+ pluginName
+ );
+ if (!oldEnabledState) {
+ return;
+ }
+ var plugin = getTestPlugin(pluginName);
+ // Run a nested event loop to wait for the preference change to
+ // propagate to the child. Yuck!
+ SpecialPowers.Services.tm.spinEventLoopUntil(() => {
+ return plugin.enabledState == newEnabledState;
+ });
+ SimpleTest.registerCleanupFunction(function() {
+ return SpecialPowers.setTestPluginEnabledState(oldEnabledState, pluginName);
+ });
+}
+setTestPluginEnabledState(SpecialPowers.Ci.nsIPluginTag.STATE_ENABLED);