Files

34 lines
890 B
JavaScript

/* 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 }));
});