Fix window focus not always working
This commit is contained in:
parent
7abc7fd0e7
commit
ce92591b63
@ -367,24 +367,6 @@ async function apiFindTab(timeout, checkUrl) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
async function apiFocusTab(tab) {
|
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) => {
|
await new Promise((resolve, reject) => {
|
||||||
chrome.tabs.update(tab.id, {active: true}, () => {
|
chrome.tabs.update(tab.id, {active: true}, () => {
|
||||||
const e = chrome.runtime.lastError;
|
const e = chrome.runtime.lastError;
|
||||||
@ -392,4 +374,26 @@ async function apiFocusTab(tab) {
|
|||||||
else { resolve(); }
|
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(); }
|
||||||
|
});
|
||||||
|
});
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user