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
Report problems with this compatibility data on GitHubdesktop | mobile | ||||||
---|---|---|---|---|---|---|---|
updateSessionRules |
Legend
Tip: you can click/tap on a cell for more information.
- Full support
- Full support
The compatibility table on this page is generated from structured data. If you'd like to contribute to the data, please check out https://github.com/mdn/browser-compat-data and send us a pull request.