summaryrefslogtreecommitdiffstats
path: root/toolkit/components/extensions/test/xpcshell/test_ext_dnr_regexFilter_limits.js
diff options
context:
space:
mode:
Diffstat (limited to 'toolkit/components/extensions/test/xpcshell/test_ext_dnr_regexFilter_limits.js')
-rw-r--r--toolkit/components/extensions/test/xpcshell/test_ext_dnr_regexFilter_limits.js44
1 files changed, 12 insertions, 32 deletions
diff --git a/toolkit/components/extensions/test/xpcshell/test_ext_dnr_regexFilter_limits.js b/toolkit/components/extensions/test/xpcshell/test_ext_dnr_regexFilter_limits.js
index 443f69c2d1..69635e4c80 100644
--- a/toolkit/components/extensions/test/xpcshell/test_ext_dnr_regexFilter_limits.js
+++ b/toolkit/components/extensions/test/xpcshell/test_ext_dnr_regexFilter_limits.js
@@ -26,33 +26,6 @@ add_setup(async () => {
await ExtensionTestUtils.startAddonManager();
});
-const _origDescs = {};
-function restoreDefaultDnrLimit(key) {
- info(`Restoring original value of ExtensionDNRLimits.${key}`);
- Object.defineProperty(ExtensionDNRLimits, key, _origDescs[key]);
-}
-function overrideDefaultDnrLimit(key, value) {
- // Until DNR limits can be customized through prefs (bug 1803370), we need to
- // overwrite the internals here in the parent process. That is sufficient to
- // control the limits. Notably, this does NOT affect the values of the
- // constants exposed through the declarativeNetRequest keyspace, because
- // their values are directly read from the extension (child) process.
- if (!_origDescs[key]) {
- _origDescs[key] = Object.getOwnPropertyDescriptor(ExtensionDNRLimits, key);
- registerCleanupFunction(() => restoreDefaultDnrLimit(key));
- }
- Assert.ok(
- typeof value === "number" && Number.isInteger(value),
- `Setting ExtensionDNRLimits.${key} = ${value} (was: ${ExtensionDNRLimits[key]})`
- );
- Object.defineProperty(ExtensionDNRLimits, key, {
- configurable: true,
- writable: true,
- enumerable: true,
- value,
- });
-}
-
// Create an extension composed of the given test cases, and start or reload
// the extension before each test case.
//
@@ -302,7 +275,10 @@ add_task(async function session_and_dynamic_regexFilter_limit() {
setup() {
// Artificially decrease the max number of allowed regexFilter rules,
// so that whatever that was stored on disk is no longer within quota.
- overrideDefaultDnrLimit("MAX_NUMBER_OF_REGEX_RULES", 1);
+ Services.prefs.setIntPref(
+ "extensions.dnr.max_number_of_regex_rules",
+ 1
+ );
},
backgroundFn: testPart3_too_many_regexFilters_stored_after_lowering_quota,
checkConsoleMessages: expectError,
@@ -311,7 +287,9 @@ add_task(async function session_and_dynamic_regexFilter_limit() {
name: "testPart4_reload_after_quota_back",
setup() {
// Restore the original quota after it was lowered in testPart3.
- restoreDefaultDnrLimit("MAX_NUMBER_OF_REGEX_RULES");
+ Services.prefs.clearUserPref(
+ "extensions.dnr.max_number_of_regex_rules"
+ );
},
backgroundFn: testPart4_reload_after_quota_back,
checkConsoleMessages: noErrors,
@@ -525,8 +503,8 @@ add_task(async function static_regexFilter_limit() {
{
name: "testPart5_after_doubling_quota",
setup() {
- overrideDefaultDnrLimit(
- "MAX_NUMBER_OF_REGEX_RULES",
+ Services.prefs.setIntPref(
+ "extensions.dnr.max_number_of_regex_rules",
2 * MAX_NUMBER_OF_REGEX_RULES
);
},
@@ -537,7 +515,9 @@ add_task(async function static_regexFilter_limit() {
name: "testPart6_after_restoring_original_quota_half",
setup() {
// Restore the original quota after it was raised in testPart5.
- restoreDefaultDnrLimit("MAX_NUMBER_OF_REGEX_RULES");
+ Services.prefs.clearUserPref(
+ "extensions.dnr.max_number_of_regex_rules"
+ );
},
backgroundFn: testPart6_after_restoring_original_quota_half,
checkConsoleMessages: (n, m) =>