diff --git a/content.js b/content.js index c5d0be6c..774d5b01 100644 --- a/content.js +++ b/content.js @@ -93,99 +93,104 @@ 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); - } + switch(request.message){ + case "update": + videoIDChange(getYouTubeVideoID(document.URL)); - if (request.message == "sponsorDataChanged") { - updateSponsorTimesSubmitting(); - } + break; + case "sponsorStart": + sponsorMessageStarted(sendResponse); - if (request.message == "isInfoFound") { - //send the sponsor times along with if it's found - sendResponse({ - found: sponsorDataFound, - sponsorTimes: sponsorTimes, - hiddenSponsorTimes: hiddenSponsorTimes, - UUIDs: UUIDs - }); + break; + case "sponsorDataChanged": + updateSponsorTimesSubmitting(); - if (popupInitialised && document.getElementById("sponsorBlockPopupContainer") != null) { - //the popup should be closed now that another is opening - closeInfoMenu(); - } + break; + case "isInfoFound": + //send the sponsor times along with if it's found + sendResponse({ + found: sponsorDataFound, + sponsorTimes: sponsorTimes, + hiddenSponsorTimes: hiddenSponsorTimes, + UUIDs: UUIDs + }); - popupInitialised = true; - } + if (popupInitialised && document.getElementById("sponsorBlockPopupContainer") != null) { + //the popup should be closed now that another is opening + closeInfoMenu(); + } - if (request.message == "getVideoID") { - sendResponse({ - videoID: sponsorVideoID - }) - } + popupInitialised = true; + break; + case "getVideoID": + sendResponse({ + videoID: sponsorVideoID + }); - if (request.message == "getVideoDuration") { - sendResponse({ + break; + case "getVideoDuration": + sendResponse({ duration: v.duration - }); - } + }); - if (request.message == "skipToTime") { - v.currentTime = request.time; - } + break; + case "skipToTime": + v.currentTime = request.time; + return + case "getCurrentTime": + sendResponse({ + currentTime: v.currentTime + }); - if (request.message == "getCurrentTime") { - sendResponse({ - currentTime: v.currentTime - }); - } - - if (request.message == "getChannelURL") { - sendResponse({ + break; + case "getChannelURL": + sendResponse({ channelURL: channelURL - }) - } + }); - if (request.message == "isChannelWhitelisted") { - sendResponse({ - value: channelWhitelisted - }) - } + break; + case "isChannelWhitelisted": + sendResponse({ + value: channelWhitelisted + }); - if (request.message == "whitelistChange") { - channelWhitelisted = request.value; - sponsorsLookup(sponsorVideoID); - } + break; + case "whitelistChange": + channelWhitelisted = request.value; + sponsorsLookup(sponsorVideoID); - if (request.message == "showNoticeAgain") { - dontShowNotice = false; - } + break; + case "dontShowNotice": + dontShowNotice = false; - if (request.message == "changeStartSponsorButton") { - changeStartSponsorButton(request.showStartSponsor, request.uploadButtonVisible); - } + break; + case "changeStartSponsorButton": + changeStartSponsorButton(request.showStartSponsor, request.uploadButtonVisible); - if (request.message == "changeVideoPlayerControlsVisibility") { - hideVideoPlayerControls = request.value; + break; + case "showNoticeAgain": + dontShowNotice = false; + + break; + case "changeVideoPlayerControlsVisibility": + hideVideoPlayerControls = request.value; + updateVisibilityOfPlayerControlsButton(); - updateVisibilityOfPlayerControlsButton(); - } else if (request.message == "changeInfoButtonPlayerControlsVisibility") { - hideInfoButtonPlayerControls = request.value; + break; + case "changeInfoButtonPlayerControlsVisibility": + hideInfoButtonPlayerControls = request.value; + updateVisibilityOfPlayerControlsButton(); - updateVisibilityOfPlayerControlsButton(); - } else if (request.message == "changeDeleteButtonPlayerControlsVisibility") { - hideDeleteButtonPlayerControls = request.value; + break; + case "changeDeleteButtonPlayerControlsVisibility": + hideDeleteButtonPlayerControls = request.value; + updateVisibilityOfPlayerControlsButton(); - updateVisibilityOfPlayerControlsButton(); - } + break; + case "trackViewCount": + trackViewCount = request.value; - if (request.message == "trackViewCount") { - trackViewCount = request.value; + break; } } @@ -386,7 +391,7 @@ function sponsorsLookup(id, channelIDPromise) { //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; @@ -615,6 +620,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");