mirror of
https://github.com/ajayyy/SponsorBlock.git
synced 2025-12-11 05:57:07 +03:00
Made the onvideo control start with the stop icon if needed.
This commit is contained in:
@@ -32,19 +32,35 @@ chrome.runtime.onMessage.addListener(function (request, sender, callback) {
|
|||||||
}
|
}
|
||||||
} else if (request.message == "addSponsorTime") {
|
} else if (request.message == "addSponsorTime") {
|
||||||
addSponsorTime(request.time);
|
addSponsorTime(request.time);
|
||||||
|
} else if (request.message == "getSponsorTimes") {
|
||||||
|
getSponsorTimes(request.videoID, function(sponsorTimes) {
|
||||||
|
callback({
|
||||||
|
sponsorTimes: sponsorTimes
|
||||||
|
})
|
||||||
|
});
|
||||||
|
|
||||||
|
//this allows the callback to be called later
|
||||||
|
return true;
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
function addSponsorTime(time) {
|
|
||||||
//get sponsor times
|
//gets the sponsor times from memory
|
||||||
|
function getSponsorTimes(videoID, callback) {
|
||||||
let sponsorTimes = [];
|
let sponsorTimes = [];
|
||||||
let sponsorTimeKey = "sponsorTimes" + previousVideoID;
|
let sponsorTimeKey = "sponsorTimes" + videoID;
|
||||||
chrome.storage.local.get([sponsorTimeKey], function(result) {
|
chrome.storage.local.get([sponsorTimeKey], function(result) {
|
||||||
let sponsorTimesStorage = result[sponsorTimeKey];
|
let sponsorTimesStorage = result[sponsorTimeKey];
|
||||||
if (sponsorTimesStorage != undefined && sponsorTimesStorage.length > 0) {
|
if (sponsorTimesStorage != undefined && sponsorTimesStorage.length > 0) {
|
||||||
sponsorTimes = sponsorTimesStorage;
|
sponsorTimes = sponsorTimesStorage;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
callback(sponsorTimes)
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
function addSponsorTime(time) {
|
||||||
|
getSponsorTimes(previousVideoID, function(sponsorTimes) {
|
||||||
//add to sponsorTimes
|
//add to sponsorTimes
|
||||||
if (sponsorTimes.length > 0 && sponsorTimes[sponsorTimes.length - 1].length < 2) {
|
if (sponsorTimes.length > 0 && sponsorTimes[sponsorTimes.length - 1].length < 2) {
|
||||||
//it is an end time
|
//it is an end time
|
||||||
@@ -58,6 +74,7 @@ function addSponsorTime(time) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
//save this info
|
//save this info
|
||||||
|
let sponsorTimeKey = "sponsorTimes" + previousVideoID;
|
||||||
chrome.storage.local.set({[sponsorTimeKey]: sponsorTimes});
|
chrome.storage.local.set({[sponsorTimeKey]: sponsorTimes});
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|||||||
27
content.js
27
content.js
@@ -1,7 +1,5 @@
|
|||||||
if(id = getYouTubeVideoID(document.URL)){ // Direct Links
|
if(id = getYouTubeVideoID(document.URL)){ // Direct Links
|
||||||
//reset sponsor data found check
|
videoIDChange(id);
|
||||||
sponsorDataFound = false;
|
|
||||||
sponsorsLookup(id);
|
|
||||||
|
|
||||||
//tell background.js about this
|
//tell background.js about this
|
||||||
chrome.runtime.sendMessage({
|
chrome.runtime.sendMessage({
|
||||||
@@ -43,9 +41,7 @@ chrome.runtime.onMessage.addListener( // Detect URL Changes
|
|||||||
function(request, sender, sendResponse) {
|
function(request, sender, sendResponse) {
|
||||||
//message from background script
|
//message from background script
|
||||||
if (request.message == "ytvideoid") {
|
if (request.message == "ytvideoid") {
|
||||||
//reset sponsor data found check
|
videoIDChange(request.id);
|
||||||
sponsorDataFound = false;
|
|
||||||
sponsorsLookup(request.id);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
//messages from popup script
|
//messages from popup script
|
||||||
@@ -76,6 +72,25 @@ chrome.runtime.onMessage.addListener( // Detect URL Changes
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
function videoIDChange(id) {
|
||||||
|
//reset sponsor data found check
|
||||||
|
sponsorDataFound = false;
|
||||||
|
sponsorsLookup(id);
|
||||||
|
|
||||||
|
//see if the onvideo control image needs to be changed
|
||||||
|
chrome.runtime.sendMessage({
|
||||||
|
message: "getSponsorTimes",
|
||||||
|
videoID: id
|
||||||
|
}, function(response) {
|
||||||
|
if (response != undefined) {
|
||||||
|
let sponsorTimes = response.sponsorTimes;
|
||||||
|
if (sponsorTimes != undefined && sponsorTimes.length > 0 && sponsorTimes[sponsorTimes.length - 1].length < 2) {
|
||||||
|
toggleStartSponsorButton();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
function sponsorsLookup(id) {
|
function sponsorsLookup(id) {
|
||||||
v = document.querySelector('video') // Youtube video player
|
v = document.querySelector('video') // Youtube video player
|
||||||
let xmlhttp = new XMLHttpRequest();
|
let xmlhttp = new XMLHttpRequest();
|
||||||
|
|||||||
Reference in New Issue
Block a user