From acd94cb7ab9d41a9bcb9724aba25c1242643db2f Mon Sep 17 00:00:00 2001 From: Jonathan Wyss Date: Sun, 17 Mar 2024 18:11:28 +0100 Subject: [PATCH] iterration works --- background.js | 62 +++++++++++++++++++++++++++++++++++---------------- spawn.js | 21 ++++++++++------- 2 files changed, 56 insertions(+), 27 deletions(-) diff --git a/background.js b/background.js index b253a4c..bde2481 100644 --- a/background.js +++ b/background.js @@ -7,13 +7,12 @@ readUrl(); // function Setup(data) { - let promise; + let i=0; browser.browserAction.onClicked.addListener(() => { - promise = browser.tabs.create({"url": "home.html"},function(tab){ - + browser.tabs.create({"url": "home.html"},function(tab){ browser.runtime.onMessage.addListener(()=>{ - run(data,tab); + nextUrl(data,tab,i); console.log("pass tab data to run, in promise"); console.log(tab); }); @@ -32,24 +31,49 @@ function failure(value) function run(data,tab) { let i2=0; + sendMessageToContent(data,tab,i2); // injectScript(tab); - let promise = browser.tabs.executeScript(tab.id,{ - file:"spawn.js" - }); - promise.then(function() { - console.log("bbackground.js: received start signal..."); - if(i2 == 0) - { - browser.tabs.sendMessage(tab.id,{state: "Init",url: data.subscriptions[0].url}); - } - else - { - browser.tabs.sendMessage(tab.id,{state: i2,url: data.subscriptions[i2].url}); - } - i2++; + //nextUrl() +} +async function nextUrl(data,tab,i) +{ + let count_urls = data.subscriptions.length; + for(i=0;i { + + browser.tabs.executeScript(tab.id,{ + file:"spawn.js" + }) + .then(function() { + console.log("background.js: received start signal..."); + if(i == 0) + { + browser.tabs.sendMessage(tab.id,{state: "Init",url: data.subscriptions[0].url}) + .then((response) => { + console.log("got response!! content should reload"); + console.log(response); + resolve(); + }); + } + else + { + browser.tabs.sendMessage(tab.id,{state: i,url: data.subscriptions[i].url}) + .then((response) => { + console.log(response); + resolve(); + }); + } + }); }); } - function readUrl() { let data; diff --git a/spawn.js b/spawn.js index efac3c0..3057d7e 100644 --- a/spawn.js +++ b/spawn.js @@ -2,17 +2,22 @@ //1.grant host permission // // -browser.runtime.onMessage.addListener((message) => +browser.runtime.onMessage.addListener(worker); + + // return Promise.resolve(true); +/*.then(function(){ + window.location.replace(url); +});*/ +function worker(message,sender,sendResponse) { -console.log("inside handler"); + console.log("inside handler"); if(message.state != "Init")//on init only load page { document.getElementsByClassName("yt-spec-button-shape-next yt-spec-button-shape-next--filled yt-spec-button-shape-next--mono yt-spec-button-shape-next--size-m")[0].click(); console.log(message); } - let url = message.url; - console.log(url); - window.location.replace(url); - -}); - + let url = message.url; + console.log(url); + sendResponse(true); + window.location.replace(url); +}