/
githubmr
/
facebook-react
Обзор
Документация
Войти
/
githubmr
/
facebook-react
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
main
packages/react-devtools-extensions/src/background/tabsManager.js
31 строка
958 B
Ruslan Lesiutin
fix[react-devtools/extensions]: fixed tabs API calls and displaying restricted access popup (#30825)
29 авг 2024, 13:31
Не верифицирован
29 авг 2024, 13:31
795b320
Код
Авторство
О чём код?
/* global chrome */ 'use strict'; import setExtensionIconAndPopup from './setExtensionIconAndPopup'; function isRestrictedBrowserPage(url) { if (!url) { return true; } const urlProtocol = new URL(url).protocol; return urlProtocol === 'chrome:' || urlProtocol === 'about:'; } function checkAndHandleRestrictedPageIfSo(tab) { if (tab && isRestrictedBrowserPage(tab.url)) { setExtensionIconAndPopup('restricted', tab.id); } } // Update popup page of any existing open tabs, if they are restricted browser pages chrome.tabs.query({}, tabs => tabs.forEach(checkAndHandleRestrictedPageIfSo)); chrome.tabs.onCreated.addListener(tab => checkAndHandleRestrictedPageIfSo(tab)); // Listen to URL changes on the active tab and update the DevTools icon. chrome.tabs.onUpdated.addListener((tabId, changeInfo, tab) => { if (changeInfo.url && isRestrictedBrowserPage(changeInfo.url)) { setExtensionIconAndPopup('restricted', tabId); } });