-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathbackground.js
76 lines (72 loc) · 3.06 KB
/
background.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
let segundos_BACKGROUND
let minutos_BACKGROUND
let switch_Começar_BACKGROUND
let intervalo_BACKGROUND;
let prevent_BACKGROUND;
function Começar_Background(i, j, switch_Começar) {
clearInterval(intervalo_BACKGROUND);
if (switch_Começar == true) {
clearInterval(intervalo_BACKGROUND);
chrome.offscreen.closeDocument();
chrome.storage.local.set({ segundos_BACKGROUND: i, minutos_BACKGROUND: j, switch_Começar_BACKGROUND: switch_Começar })
return switch_Começar;
} else {
intervalo_BACKGROUND = setInterval(function () {
i++;
if (i > 59) {
return ++j, i = 0;
}
console.log(j, i)
return segundos_BACKGROUND = i, minutos_BACKGROUND = j;
}, 1000);
return switch_Começar, intervalo_BACKGROUND;
}
}
// background.js
chrome.runtime.onConnect.addListener(function (port) {
if (port.name === "index") {
port.onDisconnect.addListener(function () {
chrome.storage.local.get(["segundos_BACKGROUND", "minutos_BACKGROUND", "switch_Começar_BACKGROUND"]).then((result) => {
segundos_BACKGROUND = result.segundos_BACKGROUND;
minutos_BACKGROUND = result.minutos_BACKGROUND;
switch_Começar_BACKGROUND = new Boolean(result.switch_Começar_BACKGROUND);
if (switch_Começar_BACKGROUND == Boolean(true)) {
chrome.offscreen.closeDocument();
return false
}
else if (switch_Começar_BACKGROUND == Boolean(false)) {
async function createOffscreen() {
await chrome.offscreen.createDocument({
url: 'offscreen.html',
reasons: ['BLOBS'],
justification: 'Keep service-worker running',
}).catch(() => { });
}
chrome.runtime.onStartup.addListener(createOffscreen);
self.onMessage = e => { }; // keepAlive
createOffscreen();
() => {
i++;
if (i > 59) {
return ++j, i = 0;
}
return segundos_BACKGROUND = i, minutos_BACKGROUND = j, switch_Começar_BACKGROUND = switch_Começar;
};
Começar_Background(++segundos_BACKGROUND, minutos_BACKGROUND, switch_Começar_BACKGROUND);
}
})
});
}
});
chrome.runtime.onConnect.addListener(function () {
if (switch_Começar_BACKGROUND == Boolean(true)) {
chrome.offscreen.closeDocument();
return false;
}
else if (switch_Começar_BACKGROUND == Boolean(false)) {
clearInterval(intervalo_BACKGROUND);
(async () => {
const response = await chrome.runtime.sendMessage({ greeting: "StopwatchContinue", minutos_BACKGROUND: minutos_BACKGROUND, segundos_BACKGROUND: segundos_BACKGROUND });
})();
}
})