Skip to content

Commit 4a332bc

Browse files
committed
Add support of NormalVisibles
1 parent 77f41b1 commit 4a332bc

File tree

1 file changed

+16
-7
lines changed

1 file changed

+16
-7
lines changed

webextensions/common/tst-api.js

+16-7
Original file line numberDiff line numberDiff line change
@@ -1317,22 +1317,29 @@ export async function getTargetTabs(message, sender) {
13171317

13181318
if (Array.isArray(tabQuery))
13191319
return getTabsFromWrongIds(tabQuery, windowId, sender);
1320-
const isAllVisible = tabQuery && String(tabQuery).toLowerCase() == 'allvisible';
1320+
const isAllVisibles = tabQuery && String(tabQuery).toLowerCase() == 'allvisibles';
1321+
const isNormalVisibles = tabQuery && String(tabQuery).toLowerCase() == 'normalvisibles';
13211322
if (windowId) {
13221323
if (tabQuery == '*')
13231324
return Tab.getAllTabs(windowId, { iterator: true });
1324-
else if (isAllVisible)
1325+
else if (isAllVisibles)
13251326
return Tab.getVisibleTabs(windowId, { iterator: true });
1327+
else if (isNormalVisibles)
1328+
return Tab.getNormalTabs(windowId, { iterator: true });
13261329
else if (!tabQuery)
13271330
return Tab.getRootTabs(windowId, { iterator: true });
13281331
}
1329-
if (tabQuery == '*' || isAllVisible) {
1332+
if (tabQuery == '*' ||
1333+
isAllVisibles ||
1334+
isNormalVisibles) {
13301335
const win = await browser.windows.getLastFocused({
13311336
windowTypes: ['normal']
13321337
}).catch(ApiTabs.createErrorHandler());
1333-
return isAllVisible ?
1338+
return isAllVisibles ?
13341339
Tab.getVisibleTabs(win.id, { iterator: true }) :
1335-
Tab.getAllTabs(win.id, { iterator: true });
1340+
isNormalVisibles ?
1341+
Tab.getNormalTabs(win.id, { iterator: true }) :
1342+
Tab.getAllTabs(win.id, { iterator: true });
13361343
}
13371344
if (tabQuery)
13381345
return getTabsFromWrongIds([tabQuery], windowId, sender);
@@ -1491,11 +1498,13 @@ export function formatResult(results, originalMessage) {
14911498
return results;
14921499
}
14931500

1501+
const TABS_ARRAY_QUERY_MATCHER = /^(\*|allvisibles|normalvisibles)$/i;
1502+
14941503
export async function formatTabResult(exportedTabs, originalMessage) {
14951504
exportedTabs = await Promise.all(exportedTabs);
14961505
if (Array.isArray(originalMessage.tabs) ||
1497-
originalMessage.tab == '*' ||
1498-
originalMessage.tabs == '*')
1506+
TABS_ARRAY_QUERY_MATCHER.test(originalMessage.tab) ||
1507+
TABS_ARRAY_QUERY_MATCHER.test(originalMessage.tabs))
14991508
return exportedTabs.filter(tab => !!tab);
15001509
return exportedTabs.length == 0 ?
15011510
null :

0 commit comments

Comments
 (0)