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.