declarativeNetRequest.updateSessionRules
Modifies the set of session-scoped rules for the extension. The rules with IDs listed in options.removeRuleIds
are first removed, and then the rules given in options.addRules
are added. Note that:
- This update happens as an atomic operation: either all specified rules are added and removed, or an error is returned.
- These rules are not persisted across browser sessions.
- The number of session-scoped rules that can be added is limited:
- In Safari and up to Chrome 119, to the value of
MAX_NUMBER_OF_DYNAMIC_AND_SESSION_RULES
for the combined total of dynamic and session-scoped rules. - Up to Firefox 127, to the value of
MAX_NUMBER_OF_DYNAMIC_AND_SESSION_RULES
. - From Chrome 120 and Firefox 128, to the value of
MAX_NUMBER_OF_SESSION_RULES
.
- In Safari and up to Chrome 119, to the value of
Syntax
js
let updatedRuleset = browser.declarativeNetRequest.updateSessionRules(
options // object
);
Parameters
options
-
An object containing details of the rules to add or delete from the dynamic rules.
addRules
Optional-
An array of
declarativeNetRequest.Rule
. Details of the rules to add. removeRuleIds
Optional-
An array of
number
. IDs of the rules to remove. Any invalid IDs are ignored.
Return value
A Promise
If the request was successful, the promise is fulfilled with no arguments. If the request fails, the promise is rejected with an error message.
Examples
Example extensions
Browser compatibility
BCD tables only load in the browser