1
- import { tabs } from "webextension-polyfill"
2
1
import axios from 'axios'
3
2
import store from './store'
4
- import { currentDomain , data } from " ./store/getters"
3
+ import { currentDomain } from ' ./store/getters'
5
4
6
5
// map to save id + url for checking if allready post
7
6
let domainsVisited = [ ]
8
- let dataMap = new Map ( )
7
+ let browser = require ( "webextension-polyfill" ) ;
8
+
9
9
10
10
// send url to analyzer
11
11
async function sendUrl ( url , domain , tabId ) {
12
12
13
13
//loading
14
14
store . commit ( 'SET_ISLOADING' , true ) ;
15
- console . log ( "SEND URL" )
15
+
16
+ let map = store . getters . dataInfo ;
16
17
17
18
await axios ( {
18
19
method : 'GET' ,
@@ -29,20 +30,21 @@ async function sendUrl(url, domain, tabId) {
29
30
delete data . screenshot
30
31
delete data . meta
31
32
32
- dataMap . set ( domain , data )
33
-
34
- store . commit ( 'SET_DATA' , dataMap )
33
+ //dataMap.set(domain, data)
34
+ map [ domain ] = data ;
35
+ console . log ( "INFO" , map )
36
+ store . commit ( 'SET_DATAINFO' , map )
35
37
} ) . catch ( ( err ) => {
38
+
36
39
browser . browserAction . setIcon ( {
37
40
tabId : tabId ,
38
41
path : {
39
- 16 : `icons/icon-vue-telemetry-404error-16.png` ,
40
- 48 : `icons/icon-vue-telemetry-404error-48.png` ,
41
- 128 : `icons/icon-vue-telemetry-404error-128.png`
42
+ 16 : `icons/icon-vue-telemetry-404error-128.png` ,
43
+ 32 : `icons/icon-vue-telemetry-404error-128.png`
42
44
}
43
45
} )
44
- dataMap . set ( domain , "error" )
45
- store . commit ( 'SET_DATA ' , dataMap )
46
+ map [ domain ] = "error" ;
47
+ store . commit ( 'SET_DATAINFO ' , map )
46
48
} )
47
49
48
50
store . commit ( 'SET_ISLOADING' , false ) ;
@@ -55,23 +57,32 @@ async function handleUpdated(tabId, changeInfo, tabInfo) {
55
57
}
56
58
}
57
59
58
- tabs . onUpdated . addListener ( handleUpdated )
60
+ browser . tabs . onUpdated . addListener ( handleUpdated )
59
61
60
62
// when tab clicked
61
63
async function handleActivated ( ) {
62
64
// get active tab
63
- tabs . query ( { currentWindow : true , active : true } ) . then ( function ( tabsArray ) {
64
- detectVue ( tabsArray [ 0 ] . id , tabsArray [ 0 ] . url )
65
+ browser . tabs . query ( { currentWindow : true , active : true } ) . then ( function ( tabsArray ) {
66
+
67
+ if ( / ^ c h r o m e / . test ( tabsArray [ 0 ] . url ) || / ^ a b o u t / . test ( tabsArray [ 0 ] . url ) ) {
68
+ store . commit ( 'SET_CURRENTDOMAIN' , "noVue" )
69
+ let map = store . getters . dataInfo ;
70
+ map [ tabsArray [ 0 ] . url ] = "noVue"
71
+ } else {
72
+ detectVue ( tabsArray [ 0 ] . id , tabsArray [ 0 ] . url )
73
+ }
65
74
} )
66
75
}
67
76
68
- tabs . onActivated . addListener ( handleActivated )
77
+ browser . tabs . onActivated . addListener ( handleActivated )
69
78
70
79
function handleCreated ( tab ) {
71
- store . commit ( 'SET_CURRENTDOMAIN' , "newTab" )
80
+ let map = store . getters . dataInfo ;
81
+ map [ tab . url ] = "noVue"
82
+ store . commit ( 'SET_CURRENTDOMAIN' , "noVue" )
72
83
}
73
84
74
- tabs . onCreated . addListener ( handleCreated ) ;
85
+ browser . tabs . onCreated . addListener ( handleCreated ) ;
75
86
76
87
//function to detect vue and send url
77
88
async function detectVue ( tabId , url ) {
@@ -81,27 +92,34 @@ async function detectVue(tabId, url) {
81
92
82
93
store . commit ( 'SET_CURRENTDOMAIN' , response . vueInfo . domain )
83
94
95
+ if ( response . vueInfo . hasVue )
96
+ browser . browserAction . setIcon ( {
97
+ tabId : tabId ,
98
+ path : {
99
+ 16 : "icons/icon-robot-128.png" ,
100
+ 32 : "icons/icon-robot-128.png" ,
101
+ }
102
+ } )
103
+
84
104
if ( ! domainsVisited . includes ( response . vueInfo . domain ) ) {
85
105
86
106
domainsVisited . push ( response . vueInfo . domain )
87
107
88
108
if ( response . vueInfo . hasVue ) {
89
-
90
- browser . browserAction . setIcon ( {
91
- tabId : tabId ,
92
- path : {
93
- 16 : `icons/icon-vue-telemetry-16.png` ,
94
- 48 : `icons/icon-vue-telemetry-48.png` ,
95
- 128 : `icons/icon-vue-telemetry-128.png`
96
- }
97
- } )
98
-
99
109
sendUrl ( url , response . vueInfo . domain , tabId )
100
110
} else {
111
+ console . log ( "DOMAIN" , response . vueInfo . domain )
112
+ let map = store . getters . dataInfo ;
113
+ map [ response . vueInfo . domain , "noVue" ]
101
114
store . commit ( 'SET_CURRENTDOMAIN' , "noVue" )
102
115
}
103
116
}
117
+
118
+ } ) . catch ( ( err ) => {
119
+ let map = store . getters . dataInfo ;
120
+ map [ response . vueInfo . domain , "noVue" ]
104
121
} )
122
+
105
123
}
106
124
107
125
//check vue in detector.js and get response
@@ -112,7 +130,7 @@ function hasVue(tabId) {
112
130
// console.log(response.farewell);
113
131
// });
114
132
115
- chrome . tabs . sendMessage (
133
+ browser . tabs . sendMessage (
116
134
tabId ,
117
135
{ greeting : '' }
118
136
) . then ( response => {
0 commit comments