diff options
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.js | 44 |
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) => |