-
Notifications
You must be signed in to change notification settings - Fork 3
Expand file tree
/
Copy pathcontent_script.js
More file actions
104 lines (88 loc) · 2.57 KB
/
Copy pathcontent_script.js
File metadata and controls
104 lines (88 loc) · 2.57 KB
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
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
var w = 200;
var h = 200;
var imageUrls = [
'assets/h1.png',
'assets/h2.png',
'assets/h3.png',
'assets/h4.png',
'assets/h5.png',
'assets/h6.png',
'assets/h7.png',
'assets/h8.png',
'assets/h9.png',
'assets/h10.png',
'assets/h11.png',
'assets/h12.png',
'assets/h13.png',
'assets/h14.png',
'assets/h15.png'
];
render();
function render() {
// get the number of images in the global store
chrome.storage.sync.get("numHairImages", function(items) {
var numHairImages = 1;
if (items.hasOwnProperty("numHairImages")) {
numHairImages = items.numHairImages;
}
// if no image number in the store, store the default number
else {
chrome.storage.sync.set( {"numHairImages": numHairImages } );
}
insertImages(numHairImages);
});
}
function insertImages(numHairImages) {
chrome.storage.sync.get("hairImages", function(items) {
var hairImages = [];
var needUpdate = false;
if (items.hasOwnProperty("hairImages")) {
hairImages = items.hairImages;
}
for (var i=0; i<numHairImages; i++) {
var imageObject = hairImages[i];
if (imageObject === undefined) {
needUpdate = true;
imageObject = constructImageObject();
hairImages[i] = imageObject;
}
var image = document.createElement("div");
image.className = "screenHairImage";
image.style.width = w + "px";
image.style.height = h + "px";
image.style.left = imageObject.leftOffset + "px";
image.style.top = imageObject.topOffset + "px";
var absoluteUrl = chrome.runtime.getURL(imageObject.url);
image.style.backgroundImage = "url('" + absoluteUrl + "')";
document.body.appendChild(image);
}
if (needUpdate) chrome.storage.sync.set( { "hairImages": hairImages } );
});
}
function randomOffset() {
var leftOffset = Math.round(Math.random() * (window.screen.width - w));
var topOffset = Math.round(Math.random() * (window.screen.height - h));
return [leftOffset, topOffset];
}
function randomImage() {
return imageUrls[Math.floor(Math.random() * imageUrls.length)];
}
function constructImageObject() {
var offset = randomOffset();
return {
leftOffset: offset[0],
topOffset: offset[1],
url: randomImage()
};
}
// debugging function
function resetStoreVariables() {
chrome.storage.sync.remove(["numHairImages", "hairImages"], function() {
chrome.storage.sync.get("numHairImages", function(items) {
console.log(items);
});
chrome.storage.sync.get("hairImages", function(items) {
console.log(items);
});
});
}