From 44d5a7ed3c8435aab7851bb8382ec5210de358d7 Mon Sep 17 00:00:00 2001 From: Omar Rizwan Date: Fri, 23 Oct 2020 12:00:25 -0700 Subject: Switch to browser namespace so we can use Promises. --- extension/background.js | 22 ++++++++-------------- 1 file changed, 8 insertions(+), 14 deletions(-) (limited to 'extension/background.js') diff --git a/extension/background.js b/extension/background.js index f3db46c..3888429 100644 --- a/extension/background.js +++ b/extension/background.js @@ -24,13 +24,6 @@ function UnixError(error) { } UnixError.prototype = Error.prototype; -function getTab(id) { - return new Promise((resolve, reject) => chrome.tabs.get(id, resolve)); -} -function queryTabs() { - return new Promise((resolve, reject) => chrome.tabs.query({}, resolve)); -} - async function debugTab(tabId) { if (!debugged[tabId]) { await new Promise(resolve => chrome.debugger.attach({tabId}, "1.3", resolve)); @@ -83,7 +76,7 @@ const router = { */ "by-title": { async readdir() { - const tabs = await queryTabs(); + const tabs = await browser.tabs.query({}); return tabs.map(tab => sanitize(String(tab.title).slice(0, 200)) + "_" + String(tab.id)); }, "*": { @@ -105,29 +98,30 @@ const router = { }, "by-id": { async readdir() { - const tabs = await queryTabs(); + const tabs = await browser.tabs.query({}); return tabs.map(tab => String(tab.id)); }, "*": { "url": { async read(path, fh, size, offset) { - const tab = await getTab(parseInt(pathComponent(path, -2))); + const tab = await browser.tabs.get(parseInt(pathComponent(path, -2))); return (tab.url + "\n").substr(offset, size); } }, "title": { async read(path, fh, size, offset) { - const tab = await getTab(parseInt(pathComponent(path, -2))); + const tab = await browser.tabs.get(parseInt(pathComponent(path, -2))); return (tab.title + "\n").substr(offset, size); } }, "text": { async read(path, fh, size, offset) { const tabId = parseInt(pathComponent(path, -2)); - await debugTab(tabId); - await sendDebuggerCommand(tabId, "Runtime.enable", {}); - const {result} = await sendDebuggerCommand(tabId, "Runtime.evaluate", {expression: "document.body.innerText", returnByValue: true}); + const {result} = await chrome.tabs.executeScript(tabId, {code: "console.log('hi'); document.body.innerText;"}); + /* await debugTab(tabId); + * await sendDebuggerCommand(tabId, "Runtime.enable", {}); + * const {result} = await sendDebuggerCommand(tabId, "Runtime.evaluate", {expression: "document.body.innerText", returnByValue: true});*/ return result.value.substr(offset, size) } }, -- cgit v1.2.3