Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
mohamedkhallouq
GitHub Repository: mohamedkhallouq/content
Path: blob/main/files/en-us/mozilla/add-ons/webextensions/api/declarativenetrequest/updatesessionrules/index.md
6552 views
---
title: declarativeNetRequest.updateSessionRules slug: Mozilla/Add-ons/WebExtensions/API/declarativeNetRequest/updateSessionRules tags: - API - Add-ons - Extensions - Reference - WebExtensions - Method - declarativeNetRequest - updateSessionRules browser-compat: webextensions.api.declarativeNetRequest.updateSessionRules
---

{{AddonSidebar()}}

Modifies the set of 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.

  • {{WebExtAPIRef("declarativeNetRequest.MAX_NUMBER_OF_DYNAMIC_AND_SESSION_RULES","MAX_NUMBER_OF_DYNAMIC_AND_SESSION_RULES")}} is the maximum number of dynamic and session rules an extension can add.

Syntax

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_inline}}

        • : An array of {{WebExtAPIRef("declarativeNetRequest.Rule")}}. Details of the rules to add.

      • removeRuleIds {{optional_inline}}

        • : 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

{{WebExtExamples}}

Browser compatibility

{{Compat}}