|
|
@@ -78,7 +78,11 @@ singlefile.extension.core.bg.business = (() => {
|
|
|
const currentSaves = new Map();
|
|
|
let maxParallelWorkers;
|
|
|
|
|
|
- return { saveTab };
|
|
|
+ return {
|
|
|
+ isSavingTab: tab => currentSaves.has(tab.id),
|
|
|
+ saveTab,
|
|
|
+ cancelTab
|
|
|
+ };
|
|
|
|
|
|
async function saveTab(tab, options = {}) {
|
|
|
const config = singlefile.extension.core.bg.config;
|
|
|
@@ -133,6 +137,14 @@ singlefile.extension.core.bg.business = (() => {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ async function cancelTab(tab) {
|
|
|
+ try {
|
|
|
+ singlefile.extension.core.bg.tabs.sendMessage(tab.id, { method: "content.cancelSave" });
|
|
|
+ } catch (error) {
|
|
|
+ // ignored;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
function requestSaveTab(tabId, method, options) {
|
|
|
return new Promise((resolve, reject) => requestSaveTab(tabId, method, options, resolve, reject));
|
|
|
|