pages/search: prevent history pollution

This commit is contained in:
He4eT 2024-01-22 21:10:45 +01:00
commit adf6ab3305
3 changed files with 19 additions and 2 deletions

View file

@ -2,3 +2,16 @@ browser.action.onClicked.addListener((() =>
browser.tabs.create({
url: '/pages/search/search.html'
})))
browser.runtime.onMessage.addListener((message, sender) => {
switch (message.action) {
case 'closeSender':
Promise.resolve()
.then(() => browser.tabs.remove(sender.tab.id))
.then(() => browser.sessions.getRecentlyClosed({maxResults: 1}))
.then(([sessionInfo]) => browser.sessions.forgetClosedTab(
sessionInfo.tab.windowId,
sessionInfo.tab.sessionId))
break
}
})

View file

@ -23,7 +23,8 @@
"manifest_version": 3,
"name": "Tabswitcher",
"permissions": [
"tabs"
"tabs",
"sessions"
],
"version": "1.0.0"
}

View file

@ -6,7 +6,10 @@ const store = Store.init({
tabs: browser.tabs,
windows: browser.windows,
onStateUpdate: dom.updateSearchResults,
closeCurrentTab: () => window.close(),
closeCurrentTab: () => {
history.replaceState({}, '', '')
browser.runtime.sendMessage({action: 'closeSender'})
},
})
void inputHandlers.attachInputHandlers(store)