/* * * This function creates the cookie and ads context in the popup * returns a string containg a html. * */ async function handleCookies(){ result = ""; $("#cookie-cards").empty(); var allcookies = []; await browser.cookies.getAll({}).then(response => { allcookies = response; }); let tabs = browser.tabs.query({currentWindow: true, active: true}).then(tabs => { var activeTab = tabs.pop(); console.log(activeTab.url); browser.cookies.getAll({url: activeTab.url}).then(cookies => { let regex = new RegExp("https?:\/\/(www\.)?[^\/]+\/"); console.log(thirdpartylinks); let result_thirdpartyscripts = []; let result_thirdlinks = ""; for(let i = 0; i < thirdpartylinks.length; i++){ let tmp = thirdpartylinks[i]; let tmp_arr = tmp.split("/"); //console.log(tmp.split("/")); console.log(tmp_arr); let tmp_perfect = tmp_arr[2].split("."); if(tmp_perfect.length < 3){ if(!result_thirdlinks.includes(tmp_arr[2]) && tmp_arr[2].includes(".")){ result_thirdlinks += ""+ tmp_arr[2] +""; result_thirdpartyscripts.push(tmp_arr[2]); } } else { let result_domain = tmp_perfect[tmp_perfect.length-2]+"."+tmp_perfect[tmp_perfect.length-1]; if(!result_thirdlinks.includes(result_domain) && tmp_arr[2].includes(".")){ result_thirdpartyscripts.push(result_domain); result_thirdlinks += ""+ result_domain +""; } } } //let url = activeTab.url.match(regex); let url = activeTab.url.split("/"); cookies_third_list = []; console.log(result_thirdpartyscripts); console.log(allcookies.length); for(let i = 0; i < allcookies.length; i++){ let tmp = allcookies[i]; for(let j = 0; j < result_thirdpartyscripts.length; j++){ if(allcookies.domain === result_thirdpartyscripts){ cookies_third_list.push(tmp); } if(allcookies.domain === "."+result_thirdpartyscripts){ cookies_third_list.push(tmp); } } } console.log(cookies_third_list); console.log(url[2]); if(url[2].length == 0){ url[2] = ""; } let active_cookies = ""; if (cookies.length === 0){ active_cookies= "0 Cookies active."; } else if(cookies.length === 1){ active_cookies= "1 Cookie active."; } else { active_cookies = cookies.length+" Cookies active."; } var domain = url[2]; $("#cookie-cards").append("
" ); if (cookies.length > 1){ for(let cookie of cookies){ let cookiename = cookie.name; if (cookie.name.length > 10){ cookiename = cookie.value.substring(0,10) + "..."; } let tmp = " "); } } if (cookies_third_list.length > 1){ for(let cookie of cookies_third_list){ let cookiename = cookie.name; if (cookie.name.length > 10){ cookiename = cookie.value.substring(0,10) + "..."; } let tmp = " "); } } }); }); return result; }