Skip to content

Commit 15e9f24

Browse files
committed
new design + test chrome browser
1 parent d15feca commit 15e9f24

24 files changed

+429
-708
lines changed

package-lock.json

Lines changed: 9 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@
2121
"@babel/polyfill": "^7.8.7",
2222
"@lottiefiles/lottie-player": "^0.5.1",
2323
"axios": "^0.19.0",
24+
"lottie-vuejs": "^0.3.7",
2425
"vue": "^2.6.10",
2526
"vue-telemetry-analyzer": "^0.1.6",
2627
"vuejs-logger": "1.5.4",

src/background.html

Whitespace-only changes.

src/background.js

Lines changed: 47 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,19 @@
1-
import { tabs } from "webextension-polyfill"
21
import axios from 'axios'
32
import store from './store'
4-
import { currentDomain, data } from "./store/getters"
3+
import { currentDomain } from './store/getters'
54

65
// map to save id + url for checking if allready post
76
let domainsVisited = []
8-
let dataMap = new Map()
7+
let browser = require("webextension-polyfill");
8+
99

1010
// send url to analyzer
1111
async function sendUrl(url, domain, tabId) {
1212

1313
//loading
1414
store.commit('SET_ISLOADING', true);
15-
console.log("SEND URL")
15+
16+
let map = store.getters.dataInfo;
1617

1718
await axios({
1819
method: 'GET',
@@ -29,20 +30,21 @@ async function sendUrl(url, domain, tabId) {
2930
delete data.screenshot
3031
delete data.meta
3132

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)
3537
}).catch((err) => {
38+
3639
browser.browserAction.setIcon({
3740
tabId: tabId,
3841
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`
4244
}
4345
})
44-
dataMap.set(domain, "error")
45-
store.commit('SET_DATA', dataMap)
46+
map[domain] = "error";
47+
store.commit('SET_DATAINFO', map)
4648
})
4749

4850
store.commit('SET_ISLOADING', false);
@@ -55,23 +57,32 @@ async function handleUpdated(tabId, changeInfo, tabInfo) {
5557
}
5658
}
5759

58-
tabs.onUpdated.addListener(handleUpdated)
60+
browser.tabs.onUpdated.addListener(handleUpdated)
5961

6062
// when tab clicked
6163
async function handleActivated() {
6264
// 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 (/^chrome/.test(tabsArray[0].url) || /^about/.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+
}
6574
})
6675
}
6776

68-
tabs.onActivated.addListener(handleActivated)
77+
browser.tabs.onActivated.addListener(handleActivated)
6978

7079
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")
7283
}
7384

74-
tabs.onCreated.addListener(handleCreated);
85+
browser.tabs.onCreated.addListener(handleCreated);
7586

7687
//function to detect vue and send url
7788
async function detectVue(tabId, url) {
@@ -81,27 +92,34 @@ async function detectVue(tabId, url) {
8192

8293
store.commit('SET_CURRENTDOMAIN', response.vueInfo.domain)
8394

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+
84104
if (!domainsVisited.includes(response.vueInfo.domain)) {
85105

86106
domainsVisited.push(response.vueInfo.domain)
87107

88108
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-
99109
sendUrl(url, response.vueInfo.domain, tabId)
100110
} else {
111+
console.log("DOMAIN", response.vueInfo.domain)
112+
let map = store.getters.dataInfo;
113+
map[response.vueInfo.domain, "noVue"]
101114
store.commit('SET_CURRENTDOMAIN', "noVue")
102115
}
103116
}
117+
118+
}).catch((err) => {
119+
let map = store.getters.dataInfo;
120+
map[response.vueInfo.domain, "noVue"]
104121
})
122+
105123
}
106124

107125
//check vue in detector.js and get response
@@ -112,7 +130,7 @@ function hasVue(tabId) {
112130
// console.log(response.farewell);
113131
// });
114132

115-
chrome.tabs.sendMessage(
133+
browser.tabs.sendMessage(
116134
tabId,
117135
{ greeting: '' }
118136
).then(response => {

src/detector.js

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1+
let browser = require("webextension-polyfill");
12
const isBrowser = typeof navigator !== 'undefined'
2-
import { tabs } from "webextension-polyfill"
33
const isFirefox = isBrowser && navigator.userAgent.indexOf('Firefox') > -1
44
import "@babel/polyfill";
55

@@ -26,7 +26,8 @@ function handleMessage() {
2626
})
2727
}
2828

29-
tabs.runtime.onMessage.addListener(handleMessage)
29+
"use strict";
30+
browser.runtime.onMessage.addListener(handleMessage)
3031

3132
function detectVue(win) {
3233

src/icons/extension-icon-robot.png

16.5 KB
Loading

src/icons/icon-robot-128.png

5.73 KB
Loading

src/icons/icon-robot-16.png

558 Bytes
Loading

src/icons/icon-robot-48.png

1.81 KB
Loading

src/images/button-close.svg

Lines changed: 6 additions & 0 deletions
Loading

0 commit comments

Comments
 (0)