-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathbackground.js
72 lines (53 loc) · 1.47 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
var isYouTubeUrl = function(url) {
var youtube = "www.youtube.com";
if (url.indexOf(youtube) == -1) {
return false;
}
return true;
};
var isRdioUrl = function(url) {
var rdio = "www.rdio.com";
if (url.indexOf(rdio) == -1) {
return false;
}
return true;
};
var playNextItem = function() {
chrome.windows.getAll(undefined, function(windows) {
for (var i = 0, win; win = windows[i]; i++) {
chrome.tabs.getAllInWindow(win.id, function(tabs) {
for (var j = 0, tab; tab = tabs[j]; j++) {
if (tab.url && isYouTubeUrl(tab.url)) {
chrome.tabs.executeScript(tabs[j].id, {file: "play_next.js"});
}
}
return;
});
}
return;
});
};
var togglePlayback = function() {
chrome.windows.getAll(undefined, function(windows) {
for (var i = 0, win; win = windows[i]; i++) {
chrome.tabs.getAllInWindow(win.id, function(tabs) {
for (var j = 0, tab; tab = tabs[j]; j++) {
if (tab.url && isYouTubeUrl(tab.url)) {
chrome.tabs.executeScript(tabs[j].id, {file: "toggle.js"});
} else if(tab.url && isRdioUrl(tab.url)) {
chrome.tabs.executeScript(tabs[j].id, {file: "toggle-rdio.js"});
}
}
return;
});
}
return;
});
};
chrome.commands.onCommand.addListener(function(command) {
if (command == "toggle-playback") {
togglePlayback();
} else if(command == "play-next") {
playNextItem();
}
});