summaryrefslogtreecommitdiff
path: root/extension
diff options
context:
space:
mode:
authorOmar Rizwan <omar@omar.website>2021-02-19 10:02:39 -0800
committerOmar Rizwan <omar@omar.website>2021-02-19 10:02:39 -0800
commite24f0f8afaf21ec370339392fc0f94623222d8fe (patch)
tree2794656ad8478c6ac66f586d698b0f72b2c6676b /extension
parent2215ba8e41d29e9517f304334e14f03ce00a1402 (diff)
downloadTabFS-e24f0f8afaf21ec370339392fc0f94623222d8fe.tar.gz
TabFS-e24f0f8afaf21ec370339392fc0f94623222d8fe.zip
active: refactor / simplify to use withTab
Diffstat (limited to 'extension')
-rw-r--r--extension/background.js24
1 files changed, 5 insertions, 19 deletions
diff --git a/extension/background.js b/extension/background.js
index 2c5b13f..6898fe6 100644
--- a/extension/background.js
+++ b/extension/background.js
@@ -238,6 +238,11 @@ router["/tabs/by-id"] = {
router["/tabs/by-id/*/title.txt"] = withTab(tab => tab.title + "\n");
router["/tabs/by-id/*/text.txt"] = fromScript(`document.body.innerText`);
router["/tabs/by-id/*/source.html"] = fromScript(`document.body.innerHTML`);
+
+ // echo true > mnt/tabs/by-id/1644/active
+ // cat mnt/tabs/by-id/1644/active
+ router["/tabs/by-id/*/active"] = withTab(tab => JSON.stringify(tab.active) + '\n',
+ buf => ({ active: buf.trim() === "true" }));
})();
(function() {
let nextConsoleFh = 0; let consoleForFh = {};
@@ -355,25 +360,6 @@ router["/tabs/by-id/*/control"] = {
},
async truncate({path, size}) { return {}; }
};
-router["/tabs/by-id/*/active"] = {
- // echo true > mnt/tabs/by-id/1644/active
- // cat mnt/tabs/by-id/1644/active
- async read({path, fh, offset, size}) {
- const tabId = parseInt(pathComponent(path, -2));
- const tab = await browser.tabs.get(tabId);
- const buf = (JSON.stringify(tab.active) + '\n').slice(offset, offset + size);
- return { buf };
- },
- async write({path, buf}) {
- if (buf.trim() === "true") {
- const tabId = parseInt(pathComponent(path, -2));
- await browser.tabs.update(tabId, { active: true });
- }
- return {size: stringToUtf8Array(buf).length};
- },
- async truncate({path, size}) { return {}; }
-};
-
// debugger/ : debugger-API-dependent (Chrome-only)
(function() {
if (!chrome.debugger) return;