google fixer

fix google annoying problems. currently it removes consent stuff from google and youtube, and you go directly to the web page instead of google feedback in google search.

// ==UserScript==
// @name google fixer
// @description fix google annoying problems. currently it removes consent stuff from google and youtube, and you go directly to the web page instead of google feedback in google search.
// @namespace Violentmonkey Scripts
// @match https://www.youtube.com/*
// @match https://www.google.com/*
// @grant none
// @version 0.0.1.20190608185432
// ==/UserScript==
function delete_cookie(name, domain) {
  document.cookie = name + '=; Path=/; Expires=Thu, 01 Jan 1970 00:00:01 GMT; Domain=' + domain + ';';
}
const waitForIds = (...ids) => new Promise(resolve => {
  const delay = 500
  const f = () => {
    const elements = ids.map(id => document.getElementById(id))
    if (elements.every(element => element != null)) {
      resolve(elements)
    } else {
      setTimeout(f, delay)
    }
  }
  f()
})
const waitForTags = (...tags) => new Promise(resolve => {
  const delay = 500
  const f = () => {
    const elements = tags.flatMap(tag => document.getElementsByTagName(tag))
    if (elements.every(element => element != null)) {
      resolve(elements)
    } else {
      setTimeout(f, delay)
    }
  }
  f()
})
waitForIds('ticker').then(([ticker])=>{
  ticker.parentNode.removeChild(ticker);
})
waitForIds('consent-bump').then(([consentBump])=>{
  consentBump.parentNode.removeChild(consentBump);
})
waitForIds('lb').then(([lb])=>{
  lb.parentNode.removeChild(lb);
})
waitForIds('taw').then(([taw])=>{
  taw.parentNode.removeChild(taw);
})
waitForTags('ytd-popup-container').then(([ytd])=>{
  ytd.parentNode.removeChild(ytd);
})
waitForTags('a').then(([a])=>{
  console.log(a.length);
  for (var i = 0; i < a.length; i++) {
    console.log(a[i]);
    a[i].removeAttribute('onmousedown');
  }
})
delete_cookie('CONSENT', '.youtube.com');
delete_cookie('CONSENT', '.google.com');