diff options
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); - } - }; -})(); |