summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorwolfbeast <mcwerewolf@wolfbeast.com>2019-09-01 16:44:47 +0200
committerwolfbeast <mcwerewolf@wolfbeast.com>2019-09-01 18:20:28 +0200
commit8f7d40e854f2941c2ddd75fb6532407e07a72609 (patch)
tree9e302ed366574011329b125961c5f60252e739e9
parent09a8b2f19689b679b1268a3004ec5e3f37b9732a (diff)
downloadUXP-8f7d40e854f2941c2ddd75fb6532407e07a72609.tar
UXP-8f7d40e854f2941c2ddd75fb6532407e07a72609.tar.gz
UXP-8f7d40e854f2941c2ddd75fb6532407e07a72609.tar.lz
UXP-8f7d40e854f2941c2ddd75fb6532407e07a72609.tar.xz
UXP-8f7d40e854f2941c2ddd75fb6532407e07a72609.zip
Issue #1222: Don't load plugin instances when they have no `src` URI.
Favor fallback content in that case (if present). Fallback is always considered "good" in this case so may end up doing nothing which is what we'd want for corner cases that hammer this routine with no content.
-rw-r--r--application/palemoon/app/profile/palemoon.js9
-rw-r--r--dom/base/nsObjectLoadingContent.cpp8
2 files changed, 17 insertions, 0 deletions
diff --git a/application/palemoon/app/profile/palemoon.js b/application/palemoon/app/profile/palemoon.js
index ee71c4ea1..df46ea4b6 100644
--- a/application/palemoon/app/profile/palemoon.js
+++ b/application/palemoon/app/profile/palemoon.js
@@ -682,6 +682,15 @@ pref("plugins.update.notifyUser", false);
//Enable tri-state option (Always/Never/Ask)
pref("plugins.click_to_play", true);
+// Platform pref is to enable all plugins by default.
+// Uncomment this pref to default to click-to-play
+// pref("plugin.default.state", 1);
+
+// Don't load plugin instances with no src declared.
+// These prefs are documented in detail in all.js.
+pref("plugins.favorfallback.mode", "follow-ctp");
+pref("plugins.favorfallback.rules", "nosrc");
+
#ifdef XP_WIN
pref("browser.preferences.instantApply", false);
#else
diff --git a/dom/base/nsObjectLoadingContent.cpp b/dom/base/nsObjectLoadingContent.cpp
index 590f236c0..4978744e8 100644
--- a/dom/base/nsObjectLoadingContent.cpp
+++ b/dom/base/nsObjectLoadingContent.cpp
@@ -3628,6 +3628,14 @@ nsObjectLoadingContent::HasGoodFallback() {
}
}
+ // RULE "nosrc":
+ // Use fallback content if the object has not specified a src URI.
+ if (rulesList[i].EqualsLiteral("nosrc")) {
+ if (!mOriginalURI) {
+ return true;
+ }
+ }
+
// RULE "adobelink":
// Don't use fallback content when it has a link to adobe's website.
if (rulesList[i].EqualsLiteral("adobelink")) {