diff options
Diffstat (limited to 'ext/bg')
| -rw-r--r-- | ext/bg/js/api.js | 40 | 
1 files changed, 22 insertions, 18 deletions
| diff --git a/ext/bg/js/api.js b/ext/bg/js/api.js index 9ae7c841..94a53e67 100644 --- a/ext/bg/js/api.js +++ b/ext/bg/js/api.js @@ -367,24 +367,6 @@ async function apiFindTab(timeout, checkUrl) {  }  async function apiFocusTab(tab) { -    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(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}, () => {              const e = chrome.runtime.lastError; @@ -392,4 +374,26 @@ async function apiFocusTab(tab) {              else { resolve(); }          });      }); + +    if (!(typeof chrome.windows === 'object' && chrome.windows !== null)) { +        // Windows not supported (e.g. on Firefox mobile) +        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}, () => { +                const e = chrome.runtime.lastError; +                if (e) { reject(e); } +                else { resolve(); } +            }); +        }); +    }  } |