/* global chrome */ const DEFAULT_DOCKDECK_URL = "http://127.0.0.1:1218/"; const NEW_TAB_URLS = new Set([ "chrome://newtab/", "opera://startpage/", "opera://startpageshared/", ]); async function openDockDeckForNewTab(tabId, url) { if (NEW_TAB_URLS.has(url)) { const { dockdeckUrl } = await chrome.storage.sync.get({ dockdeckUrl: DEFAULT_DOCKDECK_URL, }); chrome.tabs.update(tabId, { url: dockdeckUrl }); } } chrome.tabs.onCreated.addListener((tab) => { openDockDeckForNewTab(tab.id, tab.pendingUrl || tab.url || ""); }); chrome.tabs.onUpdated.addListener((tabId, changeInfo) => { if (changeInfo.url) { openDockDeckForNewTab(tabId, changeInfo.url); } }); chrome.runtime.onStartup.addListener(() => { chrome.storage.sync .get({ dockdeckUrl: DEFAULT_DOCKDECK_URL }) .then(({ dockdeckUrl }) => chrome.tabs.create({ url: dockdeckUrl })); });