From 932b8cf4bb022db8c64e1b50c51cc39df33aaa00 Mon Sep 17 00:00:00 2001 From: Ajay Ramachandran Date: Fri, 12 Jul 2019 16:44:50 -0400 Subject: [PATCH] Made player controls work --- background.js | 30 ++++++++++++++++++++++++++++++ content.js | 14 ++++++++++---- popup.js | 2 -- 3 files changed, 40 insertions(+), 6 deletions(-) diff --git a/background.js b/background.js index 19e3c83a..9d681d6e 100644 --- a/background.js +++ b/background.js @@ -30,9 +30,39 @@ chrome.runtime.onMessage.addListener(function (request, sender, callback) { if (previousVideoID != request.videoID) { videoIDChange(request.videoID); } + } else if(request.message == "addSponsorTime") { + addSponsorTime(request.time); } }); +function addSponsorTime(time) { + //get sponsor times + let sponsorTimes = []; + let sponsorTimeKey = "sponsorTimes" + previousVideoID; + chrome.storage.local.get([sponsorTimeKey], function(result) { + let sponsorTimesStorage = result[sponsorTimeKey]; + console.log(sponsorTimesStorage) + if (sponsorTimesStorage != undefined && sponsorTimesStorage.length > 0) { + sponsorTimes = sponsorTimesStorage; + } + + //add to sponsorTimes + if (sponsorTimes.length > 0 && sponsorTimes[sponsorTimes.length - 1].length < 2) { + //it is an end time + sponsorTimes[sponsorTimes.length - 1][1] = parseInt(time); + } else { + //it is a start time + let sponsorTimesIndex = sponsorTimes.length; + sponsorTimes[sponsorTimesIndex] = []; + + sponsorTimes[sponsorTimesIndex][0] = parseInt(time); + } + + //save this info + chrome.storage.local.set({[sponsorTimeKey]: sponsorTimes}); + }); +} + function submitTimes(videoID) { //get the video times from storage let sponsorTimeKey = 'sponsorTimes' + videoID; diff --git a/content.js b/content.js index 585255c8..8d93af9b 100644 --- a/content.js +++ b/content.js @@ -125,11 +125,11 @@ function goBackToPreviousTime() { } //Adds a sponsorship starts button to the player controls -function addPlayerControlsButton(){ +function addPlayerControlsButton() { let startSponsorButton = document.createElement("button"); startSponsorButton.className = "ytp-button"; startSponsorButton.setAttribute("title", "Sponsor Starts Now"); - startSponsorButton.addEventListener("click", console.log); + startSponsorButton.addEventListener("click", startSponsorClicked); let startSponsorImage = document.createElement("img"); startSponsorImage.style.height = "60%"; @@ -149,6 +149,14 @@ function addPlayerControlsButton(){ addPlayerControlsButton(); +function startSponsorClicked() { + //send back current time witj message + chrome.runtime.sendMessage({ + message: "addSponsorTime", + time: v.currentTime + }); +} + //Opens the notice that tells the user that a sponsor was just skipped function openSkipNotice(){ if (dontShowNotice) { @@ -233,8 +241,6 @@ function dontShowNoticeAgain() { function sponsorMessageStarted() { let v = document.querySelector('video'); - console.log(v.currentTime) - //send back current time chrome.runtime.sendMessage({ message: "time", diff --git a/popup.js b/popup.js index 099ffd80..67c6face 100644 --- a/popup.js +++ b/popup.js @@ -61,8 +61,6 @@ function loadTabData(tabs) { } }); - - //check if this video's sponsors are known chrome.tabs.sendMessage( tabs[0].id,