From 871ba63f6741141ba34f6da96a515a9b549755b8 Mon Sep 17 00:00:00 2001 From: Official Noob <31563761+OfficialNoob@users.noreply.github.com> Date: Sat, 24 Aug 2019 12:55:42 +0100 Subject: [PATCH 1/4] Content.js messageListener switch --- content.js | 119 ++++++++++++++++++++++++----------------------------- 1 file changed, 53 insertions(+), 66 deletions(-) diff --git a/content.js b/content.js index 2be7ce4d..f883f35f 100644 --- a/content.js +++ b/content.js @@ -90,99 +90,86 @@ chrome.runtime.onMessage.addListener(messageListener); function messageListener(request, sender, sendResponse) { //messages from popup script - - if (request.message == "update") { - videoIDChange(getYouTubeVideoID(document.URL)); - } - - if (request.message == "sponsorStart") { - sponsorMessageStarted(sendResponse); - } - - if (request.message == "sponsorDataChanged") { - updateSponsorTimesSubmitting(); - } - - if (request.message == "isInfoFound") { - //send the sponsor times along with if it's found + switch(request.message){ + case "update": + videoIDChange(getYouTubeVideoID(document.URL)); + return + case "sponsorStart": + sponsorMessageStarted(sendResponse); + return + case "sponsorDataChanged": + updateSponsorTimesSubmitting(); + return + //send the sponsor times along with if it's found + case "isInfoFound": sendResponse({ - found: sponsorDataFound, - sponsorTimes: sponsorTimes, - hiddenSponsorTimes: hiddenSponsorTimes, - UUIDs: UUIDs + found: sponsorDataFound, + sponsorTimes: sponsorTimes, + hiddenSponsorTimes: hiddenSponsorTimes, + UUIDs: UUIDs }); - if (popupInitialised && document.getElementById("sponsorBlockPopupContainer") != null) { - //the popup should be closed now that another is opening - closeInfoMenu(); + //the popup should be closed now that another is opening + closeInfoMenu(); } - popupInitialised = true; - } - - if (request.message == "getVideoID") { + return + case "getVideoID": sendResponse({ videoID: sponsorVideoID }) - } - - if (request.message == "getVideoDuration") { + return + case "getVideoDuration": sendResponse({ - duration: v.duration + duration: v.duration }); - } - - if (request.message == "skipToTime") { - v.currentTime = request.time; - } - - if (request.message == "getCurrentTime") { + return + case "skipToTime": + v.currentTime = request.time; + return + case "getCurrentTime": sendResponse({ currentTime: v.currentTime }); - } - - if (request.message == "getChannelURL") { + return + case "getChannelURL": sendResponse({ - channelURL: channelURL + channelURL: channelURL }) - } - - if (request.message == "isChannelWhitelisted") { + return + case "isChannelWhitelisted": sendResponse({ value: channelWhitelisted }) - } - - if (request.message == "whitelistChange") { + return + case "whitelistChange": channelWhitelisted = request.value; sponsorsLookup(sponsorVideoID); - } - - if (request.message == "showNoticeAgain") { - dontShowNotice = false; - } - - if (request.message == "changeStartSponsorButton") { - changeStartSponsorButton(request.showStartSponsor, request.uploadButtonVisible); - } - - if (request.message == "changeVideoPlayerControlsVisibility") { + return + case "dontShowNotice": + dontShowNotice = false; + return + case "changeStartSponsorButton": + changeStartSponsorButton(request.showStartSponsor, request.uploadButtonVisible); + return + case "showNoticeAgain": + dontShowNotice = false; + return + case "changeVideoPlayerControlsVisibility": hideVideoPlayerControls = request.value; - updateVisibilityOfPlayerControlsButton(); - } else if (request.message == "changeInfoButtonPlayerControlsVisibility") { + return + case "changeInfoButtonPlayerControlsVisibility": hideInfoButtonPlayerControls = request.value; - updateVisibilityOfPlayerControlsButton(); - } else if (request.message == "changeDeleteButtonPlayerControlsVisibility") { + return + case "changeDeleteButtonPlayerControlsVisibility": hideDeleteButtonPlayerControls = request.value; - updateVisibilityOfPlayerControlsButton(); - } - - if (request.message == "trackViewCount") { + return + case "trackViewCount": trackViewCount = request.value; + return } } From f91c6d5f9d3b7b87e1adbe1a1370ab5627e9f52e Mon Sep 17 00:00:00 2001 From: Ajay Ramachandran Date: Tue, 27 Aug 2019 21:17:21 -0400 Subject: [PATCH 2/4] Change return to break. --- content.js | 176 +++++++++++++++++++++++++++++------------------------ 1 file changed, 97 insertions(+), 79 deletions(-) diff --git a/content.js b/content.js index f883f35f..ab9027f3 100644 --- a/content.js +++ b/content.js @@ -91,85 +91,103 @@ chrome.runtime.onMessage.addListener(messageListener); function messageListener(request, sender, sendResponse) { //messages from popup script switch(request.message){ - case "update": - videoIDChange(getYouTubeVideoID(document.URL)); - return - case "sponsorStart": - sponsorMessageStarted(sendResponse); - return - case "sponsorDataChanged": - updateSponsorTimesSubmitting(); - return - //send the sponsor times along with if it's found - case "isInfoFound": - sendResponse({ - found: sponsorDataFound, - sponsorTimes: sponsorTimes, - hiddenSponsorTimes: hiddenSponsorTimes, - UUIDs: UUIDs - }); - if (popupInitialised && document.getElementById("sponsorBlockPopupContainer") != null) { - //the popup should be closed now that another is opening - closeInfoMenu(); - } - popupInitialised = true; - return - case "getVideoID": - sendResponse({ - videoID: sponsorVideoID - }) - return - case "getVideoDuration": - sendResponse({ - duration: v.duration - }); - return - case "skipToTime": - v.currentTime = request.time; - return - case "getCurrentTime": - sendResponse({ - currentTime: v.currentTime - }); - return - case "getChannelURL": - sendResponse({ - channelURL: channelURL - }) - return - case "isChannelWhitelisted": - sendResponse({ - value: channelWhitelisted - }) - return - case "whitelistChange": - channelWhitelisted = request.value; - sponsorsLookup(sponsorVideoID); - return - case "dontShowNotice": - dontShowNotice = false; - return - case "changeStartSponsorButton": - changeStartSponsorButton(request.showStartSponsor, request.uploadButtonVisible); - return - case "showNoticeAgain": - dontShowNotice = false; - return - case "changeVideoPlayerControlsVisibility": - hideVideoPlayerControls = request.value; - updateVisibilityOfPlayerControlsButton(); - return - case "changeInfoButtonPlayerControlsVisibility": - hideInfoButtonPlayerControls = request.value; - updateVisibilityOfPlayerControlsButton(); - return - case "changeDeleteButtonPlayerControlsVisibility": - hideDeleteButtonPlayerControls = request.value; - updateVisibilityOfPlayerControlsButton(); - return - case "trackViewCount": - trackViewCount = request.value; - return + case "update": + videoIDChange(getYouTubeVideoID(document.URL)); + + break; + case "sponsorStart": + sponsorMessageStarted(sendResponse); + + break; + case "sponsorDataChanged": + updateSponsorTimesSubmitting(); + + break; + case "isInfoFound": + //send the sponsor times along with if it's found + sendResponse({ + found: sponsorDataFound, + sponsorTimes: sponsorTimes, + hiddenSponsorTimes: hiddenSponsorTimes, + UUIDs: UUIDs + }); + + if (popupInitialised && document.getElementById("sponsorBlockPopupContainer") != null) { + //the popup should be closed now that another is opening + closeInfoMenu(); + } + + popupInitialised = true; + break; + case "getVideoID": + sendResponse({ + videoID: sponsorVideoID + }); + + break; + case "getVideoDuration": + sendResponse({ + duration: v.duration + }); + + break; + case "skipToTime": + v.currentTime = request.time; + return + case "getCurrentTime": + sendResponse({ + currentTime: v.currentTime + }); + + break; + case "getChannelURL": + sendResponse({ + channelURL: channelURL + }); + + break; + case "isChannelWhitelisted": + sendResponse({ + value: channelWhitelisted + }); + + break; + case "whitelistChange": + channelWhitelisted = request.value; + sponsorsLookup(sponsorVideoID); + + break; + case "dontShowNotice": + dontShowNotice = false; + + break; + case "changeStartSponsorButton": + changeStartSponsorButton(request.showStartSponsor, request.uploadButtonVisible); + + break; + case "showNoticeAgain": + dontShowNotice = false; + + break; + case "changeVideoPlayerControlsVisibility": + hideVideoPlayerControls = request.value; + updateVisibilityOfPlayerControlsButton(); + + break; + case "changeInfoButtonPlayerControlsVisibility": + hideInfoButtonPlayerControls = request.value; + updateVisibilityOfPlayerControlsButton(); + + break; + case "changeDeleteButtonPlayerControlsVisibility": + hideDeleteButtonPlayerControls = request.value; + updateVisibilityOfPlayerControlsButton(); + + break; + case "trackViewCount": + trackViewCount = request.value; + + break; } } From 0c2ceb134b188bfdb6cb6317cd7713f9b3f36e56 Mon Sep 17 00:00:00 2001 From: FisheyLP Date: Sat, 31 Aug 2019 18:37:29 +0200 Subject: [PATCH 3/4] Fancy tooltip for player controls --- content.js | 1 + 1 file changed, 1 insertion(+) diff --git a/content.js b/content.js index d6a8bf2c..48b84510 100644 --- a/content.js +++ b/content.js @@ -577,6 +577,7 @@ function createButton(baseID, title, callback, imageName, isDraggable=false) { newButton.className = "ytp-button playerButton"; newButton.setAttribute("title", chrome.i18n.getMessage(title)); newButton.addEventListener("click", callback); + newButton.addEventListener("mouseover", getEventListeners(document.getElementsByClassName("ytp-play-button")[0]).mouseover[0].listener); // Image HTML let newButtonImage = document.createElement("img"); From cfbf1f899553060674eec4e4f8b02184552ef3ab Mon Sep 17 00:00:00 2001 From: Omar Roth Date: Sat, 31 Aug 2019 16:44:46 -0400 Subject: [PATCH 4/4] Only request published field from Invidious API --- content.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content.js b/content.js index f8809322..d947390b 100644 --- a/content.js +++ b/content.js @@ -376,7 +376,7 @@ function sponsorsLookup(id) { //check if this video was uploaded recently //use the invidious api to get the time published - sendRequestToCustomServer('GET', "https://invidio.us/api/v1/videos/" + id, function(xmlhttp, error) { + sendRequestToCustomServer('GET', "https://invidio.us/api/v1/videos/" + id + '?fields=published', function(xmlhttp, error) { if (xmlhttp.readyState == 4 && xmlhttp.status == 200) { let unixTimePublished = JSON.parse(xmlhttp.responseText).published;