-
Notifications
You must be signed in to change notification settings - Fork 4
/
properties.js
executable file
·81 lines (80 loc) · 1.54 KB
/
properties.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
77
78
79
80
81
/**
* NOTICE: If you add a property in this file, make sure
* you have the corresponding permission set in manifest.json
*/
const PROPERTIES = {
inactive_window: {
type: "boolean",
async get(tab) {
let win = await browser.windows.get(tab.windowId);
return win.focused;
}
},
privatebrowsing: {
type: "boolean",
async get(tab) {
return tab.incognito;
}
},
container: {
type: "string",
async get(tab) {
let store = await browser.contextualIdentities.get(tab.cookieStoreId);
return store.name;
}
},
domain: {
type: "string",
async get(tab) {
return new URL(tab.url).host;
}
},
protocol: {
type: "string",
async get(tab) {
return new URL(tab.url).protocol;
}
},
year: {
type: "integer",
async get(tab) {
return (new Date(Date.now())).getFullYear();
}
},
month: {
type: "integer",
async get(tab) {
return (new Date(Date.now())).getMonth() + 1;
}
},
date: {
type: "integer",
async get(tab) {
return (new Date(Date.now())).getDate();
}
},
day: {
type: "integer",
async get(tab) {
return (new Date(Date.now())).getDay();
}
},
hour: {
type: "integer",
async get(tab) {
return (new Date(Date.now())).getHours();
}
},
minutes: {
type: "integer",
async get(tab) {
return (new Date(Date.now())).getMinutes();
}
},
seconds: {
type: "integer",
async get(tab) {
return (new Date(Date.now())).getSeconds();
}
},
}