diff options
author | awy <awy@awy.one> | 2025-09-18 14:09:38 +0300 |
---|---|---|
committer | awy <awy@awy.one> | 2025-09-18 14:09:38 +0300 |
commit | 4c90b15a84eea1f64d088fd0db988c63daafa1f9 (patch) | |
tree | 2da975946051c5b3bd2351ca0c58bff5258ce51d /data/extensions/jsr@javascriptrestrictor/nscl/service/TabCache.js | |
parent | c939d76c33294791cce8ce1722bd6747dadbe31f (diff) | |
download | gnuzilla-patch.tar.gz |
Diffstat (limited to 'data/extensions/jsr@javascriptrestrictor/nscl/service/TabCache.js')
-rw-r--r-- | data/extensions/jsr@javascriptrestrictor/nscl/service/TabCache.js | 46 |
1 files changed, 0 insertions, 46 deletions
diff --git a/data/extensions/jsr@javascriptrestrictor/nscl/service/TabCache.js b/data/extensions/jsr@javascriptrestrictor/nscl/service/TabCache.js deleted file mode 100644 index eb290f0..0000000 --- a/data/extensions/jsr@javascriptrestrictor/nscl/service/TabCache.js +++ /dev/null @@ -1,46 +0,0 @@ -/* - * NoScript Commons Library - * Reusable building blocks for cross-browser security/privacy WebExtensions. - * Copyright (C) 2020-2024 Giorgio Maone <https://maone.net> - * - * SPDX-License-Identifier: GPL-3.0-or-later - * - * This program is free software: you can redistribute it and/or modify it under - * the terms of the GNU General Public License as published by the Free Software - * Foundation, either version 3 of the License, or (at your option) any later - * version. - * - * This program is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS - * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License along with - * this program. If not, see <https://www.gnu.org/licenses/>. - */ - -var TabCache = (() => { - - const cache = new Map(); - - browser.tabs.onUpdated.addListener((tabId, changes, tab) => { - cache.set(tabId, tab); - }); - - browser.tabs.onRemoved.addListener(tabId => { - cache.delete(tabId); - }); - - return { - wakening: (async () => { - for (let tab of await browser.tabs.query({})) { - cache.set(tab.id, tab); - } - })(), - get(tabId) { - return cache.get(tabId); - }, - async async(tabId) { - return cache.get(tabId) || await browser.tabs.get(tabId); - } - }; -})(); |