diff options
author | toasted-nutbread <toasted-nutbread@users.noreply.github.com> | 2019-10-20 10:58:22 -0400 |
---|---|---|
committer | toasted-nutbread <toasted-nutbread@users.noreply.github.com> | 2019-10-20 10:58:22 -0400 |
commit | 362a1ed9e4621c47b4dca99777015b90fc90451c (patch) | |
tree | 4b48a211588984a682b0bd78e7df60c304d6b04f | |
parent | d7dc8ac9cddc95971f542c8e0b98e16f1f00645e (diff) |
Catch exception thrown on Edge
-rw-r--r-- | ext/bg/js/api.js | 26 |
1 files changed, 15 insertions, 11 deletions
diff --git a/ext/bg/js/api.js b/ext/bg/js/api.js index 94a53e67..93d9c155 100644 --- a/ext/bg/js/api.js +++ b/ext/bg/js/api.js @@ -380,20 +380,24 @@ async function apiFocusTab(tab) { return; } - const tabWindow = await new Promise((resolve) => { - chrome.windows.get(tab.windowId, {}, (tabWindow) => { - const e = chrome.runtime.lastError; - if (e) { reject(e); } - else { resolve(tabWindow); } - }); - }); - if (!tabWindow.focused) { - await new Promise((resolve, reject) => { - chrome.windows.update(tab.windowId, {focused: true}, () => { + try { + const tabWindow = await new Promise((resolve) => { + chrome.windows.get(tab.windowId, {}, (tabWindow) => { const e = chrome.runtime.lastError; if (e) { reject(e); } - else { resolve(); } + else { resolve(tabWindow); } }); }); + if (!tabWindow.focused) { + await new Promise((resolve, reject) => { + chrome.windows.update(tab.windowId, {focused: true}, () => { + const e = chrome.runtime.lastError; + if (e) { reject(e); } + else { resolve(); } + }); + }); + } + } catch (e) { + // Edge throws exception for no reason here. } } |