1
1
import registerContentScriptPonyfill from 'content-scripts-register-polyfill/ponyfill.js' ;
2
2
import { getAdditionalPermissions } from 'webext-additional-permissions' ;
3
+ import { injectContentScript } from 'webext-content-scripts' ;
3
4
4
5
const registeredScripts = new Map <
5
6
string ,
@@ -18,24 +19,6 @@ function convertPath(file: string): browser.extensionTypes.ExtensionFileOrCode {
18
19
return { file : url . pathname } ;
19
20
}
20
21
21
- function injectIntoTab ( tabId : number , scripts : ContentScripts ) {
22
- for ( const script of scripts ) {
23
- for ( const file of script . css || [ ] ) {
24
- void chrome . tabs . insertCSS ( tabId , {
25
- file,
26
- allFrames : script . all_frames ,
27
- } ) ;
28
- }
29
-
30
- for ( const file of script . js || [ ] ) {
31
- void chrome . tabs . executeScript ( tabId , {
32
- file,
33
- allFrames : script . all_frames ,
34
- } ) ;
35
- }
36
- }
37
- }
38
-
39
22
function injectOnExistingTabs ( origins : string [ ] , scripts : ContentScripts ) {
40
23
if ( origins . length === 0 ) {
41
24
return ;
@@ -46,7 +29,7 @@ function injectOnExistingTabs(origins: string[], scripts: ContentScripts) {
46
29
} , tabs => {
47
30
for ( const tab of tabs ) {
48
31
if ( tab . id ) {
49
- injectIntoTab ( tab . id , scripts ) ;
32
+ void injectContentScript ( tab . id , scripts ) ;
50
33
}
51
34
}
52
35
} ) ;
0 commit comments