// ==UserScript==
// @name Google History Deleter
// @namespace https://history.google.com/history
// @version 1.0.0
// @description Automatically selects and deletes history from history.google.com
// @author RexOmni
// @match https://history.google.com/history/*
// @grant none
// @require https://ajax.googleapis.com/ajax/libs/jquery/2.2.2/jquery.min.js
// @downloadURL https://update.greasyfork.icu/scripts/20619/Google%20History%20Deleter.user.js
// @updateURL https://update.greasyfork.icu/scripts/20619/Google%20History%20Deleter.meta.js
// ==/UserScript==
(function() {
// ************** //
// User Variables //
// ************** //
var _GHDTimePerCheck = 1000; // The default time between each pass in miliseconds.
var _GHDMaxSelected = 400; // Maximum checkboxes selected before it deletes them.
// ************************************** //
// Do not edit below unless experienced! //
// ************************************** //
var _GHDAutodelete = true; // Turns GHDGHDAutodelete on or off
var _isWorking = false;
function constrain(num, low, high) {
if (num < low) {
return low;
} else if (num > high) {
return high;
} else {
return num;
}
}
var run = 0;
// Add the Ui
$('div.main-column-width').prepend('
');
var GHD = document.getElementById('GHD');
var input_isWorking = document.getElementById("GHD-isWorking");
input_isWorking.addEventListener("click", function(){
if (_isWorking) {
_isWorking = false;
GHD.style.background="rgba(255,0,0,0.15)";
input_isWorking.style.background="rgb(255,50,50)";
input_isWorking.value="Off";
clearInterval(_GHD_interval);
} else {
_isWorking = true;
GHD.style.background="rgba(0,255,0,0.15)";
input_isWorking.style.background="rgb(50,255,50)";
input_isWorking.value="On";
_GHD_interval = setInterval(work, _GHDTimePerCheck);
}
});
var input_timeper = document.getElementById('GHD-timePerCheck');
input_timeper.addEventListener("change", function(){
input_timeper.value = constrain(input_timeper.value, 200, 10000);
_GHDTimePerCheck = input_timeper.value;
if(_isWorking){
input_isWorking.click();
}
});
var autodel_input = document.getElementById('GHD-autodelete');
autodel_input.addEventListener("change", function(){
_GHDAutodelete = !_GHDAutodelete;
});
var maxsel_input = document.getElementById('GHD-MaxSelected');
maxsel_input.addEventListener("change", function(){
maxsel_input.value = constrain(maxsel_input.value, 1, 10000);
_GHDMaxSelected = maxsel_input.value;
});
//md-checked
function work(){
run++; console.log("run: " + run);
// click all empty checkmarks
$("md-checkbox.ng-empty").click();
var GDH_unchecked = $("md-checkbox.ng-not-empty");
// if there is a load more button
var loadmore_button = $("button[ng-click='lookupController.loadMore()']");
if(loadmore_button.length == 1 && ($("md-checkbox.ng-not-empty").length >= _GHDMaxSelected)===false){
loadmore_button.click(); // load more
}
// if more than selected and GHDGHDAutodelete on
if(($("md-checkbox.ng-not-empty").length >= _GHDMaxSelected) && _GHDAutodelete){
console.log("GHD: Deleting (passed limit)");
$("button.history-delete-btn").click();
setTimeout(function(){ $("button[ng-click='dialog.hide()']" ).click(); }, 10);
}
else if(_GHDAutodelete && loadmore_button.length===0){
console.log("GHD: Deleting (no more to load)");
$("button.history-delete-btn").click();
setTimeout(function(){ $("button[ng-click='dialog.hide()']" ).click(); }, 10);
console.log("GHD: Finished!");
}
} // work
var _GHD_interval = null;
console.log("GoogleHistoryCLicker Loaded!");
})();