From 205498ef3b84c5acfe7ee2a76e4085260bc7a3ef Mon Sep 17 00:00:00 2001 From: toasted-nutbread Date: Sat, 19 Oct 2019 22:45:29 -0400 Subject: [PATCH] Validate chrome.windows exists before usage --- ext/bg/js/api.js | 24 +++++++++++++----------- 1 file changed, 13 insertions(+), 11 deletions(-) diff --git a/ext/bg/js/api.js b/ext/bg/js/api.js index e8379d10..9ae7c841 100644 --- a/ext/bg/js/api.js +++ b/ext/bg/js/api.js @@ -367,21 +367,23 @@ async function apiFindTab(timeout, checkUrl) { } async function apiFocusTab(tab) { - 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}, () => { + if (typeof chrome.windows === 'object' && chrome.windows !== null) { + 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(); } + }); + }); + } } await new Promise((resolve, reject) => { chrome.tabs.update(tab.id, {active: true}, () => {