@@ -64,23 +64,31 @@ async function doBroadcast() {
64
64
}
65
65
}
66
66
if ( client ) {
67
- jobs . push ( broadcastExtension ( data , true ) ) ;
67
+ jobs . push ( broadcastExtension (
68
+ data . length > 1 ? data : data [ 0 ] ,
69
+ data . length > 1
70
+ ) ) ;
68
71
} else if ( ! tabsLen ) {
69
72
return ;
70
73
}
71
74
for ( const tabId of tabs ) {
72
75
const msg = ! nStyled || tabMan . getStyleIds ( tabId )
73
76
? msgStyled ??= data
74
77
: msgUnstyled ??= data . filter ( ( v , i ) => ! styled [ i ] ) ;
75
- if ( jobs . push ( sendTab ( tabId , msg , undefined , true ) ) > 20 ) {
78
+ const num = msg . length ;
79
+ if ( num && jobs . push ( sendTab (
80
+ tabId ,
81
+ num > 1 ? msg : msg [ 0 ] ,
82
+ undefined ,
83
+ num > 1
84
+ ) ) > 20 ) {
76
85
await Promise . all ( jobs . splice ( 0 ) ) ;
77
86
}
78
87
}
79
88
await Promise . all ( jobs ) ;
80
89
}
81
90
82
91
export function broadcastExtension ( data , multi ) {
83
- if ( multi && ! ( multi = data . length > 1 ) ) data = data [ 0 ] ;
84
92
return unwrap ( browser . runtime . sendMessage ( { data, multi} ) ) ;
85
93
}
86
94
@@ -89,7 +97,6 @@ export function pingTab(tabId, frameId = 0) {
89
97
}
90
98
91
99
export function sendTab ( tabId , data , options , multi ) {
92
- if ( multi && ! ( multi = data . length > 1 ) ) data = data [ 0 ] ;
93
100
return unwrap ( browser . tabs . sendMessage ( tabId , { data, multi} , options ) , multi ) ;
94
101
}
95
102
0 commit comments