Background operation as Clean Architecture
This commit is contained in:
parent
ab29706348
commit
66c23423f9
7 changed files with 318 additions and 3 deletions
|
@ -1,16 +1,36 @@
|
|||
import messages from '../../shared/messages';
|
||||
|
||||
export default class ConsolePresenter {
|
||||
showCommand(tabId, command) {
|
||||
return browser.tabs.sendMessage(tabId, {
|
||||
type: messages.CONSOLE_SHOW_COMMAND,
|
||||
command,
|
||||
});
|
||||
}
|
||||
|
||||
showFind(tabId) {
|
||||
return browser.tabs.sendMessage(tabId, {
|
||||
type: messages.CONSOLE_SHOW_FIND
|
||||
});
|
||||
}
|
||||
|
||||
showInfo(tabId, message) {
|
||||
return browser.tabs.sendMessage(tabId, {
|
||||
type: messages.CONSOLE_SHOW_INFO,
|
||||
text: message,
|
||||
});
|
||||
}
|
||||
|
||||
showError(tabId, message) {
|
||||
return browser.tabs.sendMessage(tabId, {
|
||||
type: messages.CONSOLE_SHOW_ERROR,
|
||||
text: message,
|
||||
});
|
||||
}
|
||||
|
||||
hide(tabId) {
|
||||
return browser.tabs.sendMessage(tabId, {
|
||||
type: messages.CONSOLE_HIDE,
|
||||
});
|
||||
}
|
||||
}
|
||||
|
|
|
@ -48,6 +48,41 @@ export default class TabPresenter {
|
|||
return browser.tabs.remove(ids);
|
||||
}
|
||||
|
||||
async reopen() {
|
||||
let window = await browser.windows.getCurrent();
|
||||
let sessions = await browser.sessions.getRecentlyClosed();
|
||||
let session = sessions.find((s) => {
|
||||
return s.tab && s.tab.windowId === window.id;
|
||||
});
|
||||
if (!session) {
|
||||
return;
|
||||
}
|
||||
if (session.tab) {
|
||||
return browser.sessions.restore(session.tab.sessionId);
|
||||
}
|
||||
return browser.sessions.restore(session.window.sessionId);
|
||||
}
|
||||
|
||||
reload(tabId, cache) {
|
||||
return browser.tabs.reload(tabId, { bypassCache: cache });
|
||||
}
|
||||
|
||||
setPinned(tabId, pinned) {
|
||||
return browser.tabs.update(tabId, { pinned });
|
||||
}
|
||||
|
||||
duplicate(id) {
|
||||
return browser.tabs.duplicate(id);
|
||||
}
|
||||
|
||||
getZoom(tabId) {
|
||||
return browser.tabs.getZoom(tabId);
|
||||
}
|
||||
|
||||
setZoom(tabId, factor) {
|
||||
return browser.tabs.setZoom(tabId, factor);
|
||||
}
|
||||
|
||||
async createAdjacent(url, { openerTabId, active }) {
|
||||
let tabs = await browser.tabs.query({
|
||||
active: true, currentWindow: true
|
||||
|
|
Reference in a new issue