@@ -1317,22 +1317,29 @@ export async function getTargetTabs(message, sender) {
1317
1317
1318
1318
if ( Array . isArray ( tabQuery ) )
1319
1319
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' ;
1321
1322
if ( windowId ) {
1322
1323
if ( tabQuery == '*' )
1323
1324
return Tab . getAllTabs ( windowId , { iterator : true } ) ;
1324
- else if ( isAllVisible )
1325
+ else if ( isAllVisibles )
1325
1326
return Tab . getVisibleTabs ( windowId , { iterator : true } ) ;
1327
+ else if ( isNormalVisibles )
1328
+ return Tab . getNormalTabs ( windowId , { iterator : true } ) ;
1326
1329
else if ( ! tabQuery )
1327
1330
return Tab . getRootTabs ( windowId , { iterator : true } ) ;
1328
1331
}
1329
- if ( tabQuery == '*' || isAllVisible ) {
1332
+ if ( tabQuery == '*' ||
1333
+ isAllVisibles ||
1334
+ isNormalVisibles ) {
1330
1335
const win = await browser . windows . getLastFocused ( {
1331
1336
windowTypes : [ 'normal' ]
1332
1337
} ) . catch ( ApiTabs . createErrorHandler ( ) ) ;
1333
- return isAllVisible ?
1338
+ return isAllVisibles ?
1334
1339
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 } ) ;
1336
1343
}
1337
1344
if ( tabQuery )
1338
1345
return getTabsFromWrongIds ( [ tabQuery ] , windowId , sender ) ;
@@ -1491,11 +1498,13 @@ export function formatResult(results, originalMessage) {
1491
1498
return results ;
1492
1499
}
1493
1500
1501
+ const TABS_ARRAY_QUERY_MATCHER = / ^ ( \* | a l l v i s i b l e s | n o r m a l v i s i b l e s ) $ / i;
1502
+
1494
1503
export async function formatTabResult ( exportedTabs , originalMessage ) {
1495
1504
exportedTabs = await Promise . all ( exportedTabs ) ;
1496
1505
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 ) )
1499
1508
return exportedTabs . filter ( tab => ! ! tab ) ;
1500
1509
return exportedTabs . length == 0 ?
1501
1510
null :
0 commit comments