Version 1.2.2.0

Project memory management. I will test this version first and upload it to mozilla after the tests.
This commit is contained in:
Kevin Röbert 2018-05-18 01:31:04 +02:00
parent 5746828d35
commit ff88d9c0ae
4 changed files with 690 additions and 759 deletions

File diff suppressed because it is too large Load Diff

View File

@ -1,14 +1,21 @@
/** /**
* Get the log and display the data as table. * Get the log and display the data as table.
*/ */
var log = []; var log = {};
var core = function (func) {
return browser.runtime.getBackgroundPage().then(func);
};
/** /**
* Reset the global log * Reset the global log
*/ */
function resetGlobalLog(){ function resetGlobalLog(){
browser.storage.local.remove("log"); core(function (ref){
browser.storage.local.set({"resetLog": true}); obj = {"log": []};
ref.setData('log', JSON.stringify(obj));
});
getLog();
location.reload(); location.reload();
} }
@ -17,15 +24,8 @@ function resetGlobalLog(){
*/ */
function getLog() function getLog()
{ {
browser.storage.local.get('log', function(data) { core(function (ref){
if(data.log) log = ref.getData('log');
{
log = JSON.parse(data.log);
}
else{
//Create foundation for log variable
log = {"log": []};
}
var length = Object.keys(log.log).length; var length = Object.keys(log.log).length;
var row; var row;
@ -42,7 +42,7 @@ function getLog()
} }
} }
$('#logTable').DataTable({ $('#logTable').DataTable({
"pageLength": 5 "pageLength": 10
} ).order([3, 'desc']).draw(); } ).order([3, 'desc']).draw();
}); });
} }

View File

@ -1,3 +1,32 @@
var element = $("#statistics_value");
var elGlobalPercentage = $("#statistics_value_global_percentage");
var elProgressbar_blocked = $('#progress_blocked');
var elProgressbar_non_blocked = $('#progress_non_blocked');
var elTotal = $('#statistics_total_elements');
var globalPercentage = 0;
var globalCounter;
var globalurlcounter;
var globalStatus;
var badgedStatus;
var hashStatus;
var loggingStatus;
var core = function (func) {
return browser.runtime.getBackgroundPage().then(func);
};
function getData()
{
core(function (ref){
globalCounter = ref.getData('globalCounter');
globalurlcounter = ref.getData('globalurlcounter');
globalStatus = ref.getData('globalStatus');
badgedStatus = ref.getData('badgedStatus');
hashStatus = ref.getData('hashStatus');
loggingStatus = ref.getData('loggingStatus');
});
}
/** /**
* Initialize the UI. * Initialize the UI.
* *
@ -16,43 +45,15 @@ function init()
* @param {(data){} Return value form browser.storage.local.get * @param {(data){} Return value form browser.storage.local.get
*/ */
function changeStatistics(){ function changeStatistics(){
var element = $("#statistics_value"); globalPercentage = ((globalCounter/globalurlcounter)*100).toFixed(3);
var elGlobalPercentage = $("#statistics_value_global_percentage");
var elProgressbar_blocked = $('#progress_blocked');
var elProgressbar_non_blocked = $('#progress_non_blocked');
var elTotal = $('#statistics_total_elements');
var globalPercentage = 0;
var globalCounter;
var globalurlcounter;
browser.storage.local.get('globalCounter', function(data){ if(isNaN(Number(globalPercentage))) globalPercentage = 0;
if(data.globalCounter){
globalCounter = data.globalCounter;
}
else {
globalCounter = 0;
}
element.text(globalCounter.toLocaleString()); element.text(globalCounter.toLocaleString());
}); elGlobalPercentage.text(globalPercentage+"%");
elProgressbar_blocked.css('width', globalPercentage+'%');
browser.storage.local.get('globalurlcounter', function(data){ elProgressbar_non_blocked.css('width', (100-globalPercentage)+'%');
if(data.globalurlcounter){ elTotal.text(globalurlcounter.toLocaleString());
globalurlcounter = data.globalurlcounter;
}
else {
globalurlcounter = 0;
}
globalPercentage = ((globalCounter/globalurlcounter)*100).toFixed(3);
if(isNaN(Number(globalPercentage))) globalPercentage = 0;
elGlobalPercentage.text(globalPercentage+"%");
elProgressbar_blocked.css('width', globalPercentage+'%');
elProgressbar_non_blocked.css('width', (100-globalPercentage)+'%');
elTotal.text(globalurlcounter.toLocaleString());
});
} }
/** /**
@ -63,7 +64,9 @@ function changeStatistics(){
function changeGlobalStatus() { function changeGlobalStatus() {
var element = $('#globalStatus').is(':checked'); var element = $('#globalStatus').is(':checked');
browser.storage.local.set({'globalStatus': element}); core(function (ref){
ref.setData('globalStatus', element);
});
} }
/** /**
@ -71,19 +74,7 @@ function changeGlobalStatus() {
*/ */
function setGlobalStatus() { function setGlobalStatus() {
var element = $('#globalStatus'); var element = $('#globalStatus');
element.prop('checked', globalStatus);
browser.storage.local.get('globalStatus', function(data) {
if(data.globalStatus) {
element.prop('checked', true);
}
else if(data.globalStatus === null || typeof(data.globalStatus) == "undefined"){
element.prop('checked', true);
browser.storage.local.set({'globalStatus': true});
}
else {
element.prop('checked', false);
}
});
} }
/** /**
@ -94,7 +85,9 @@ function setGlobalStatus() {
function changeTabcounter() { function changeTabcounter() {
var element = $('#tabcounter').is(':checked'); var element = $('#tabcounter').is(':checked');
browser.storage.local.set({'badgedStatus': element}); core(function (ref){
ref.setData('badgedStatus', element);
});
} }
/** /**
@ -102,20 +95,7 @@ function changeTabcounter() {
*/ */
function setTabcounter() { function setTabcounter() {
var element = $('#tabcounter'); var element = $('#tabcounter');
element.prop('checked', badgedStatus);
browser.storage.local.get('badgedStatus', function(data) {
if(data.badgedStatus)
{
element.prop('checked', true);
}
else if(data.badgedStatus === null || typeof(data.badgedStatus) == "undefined"){
element.prop('checked', true);
browser.storage.local.set({'badgedStatus': true});
}
else {
element.prop('checked', false);
}
});
} }
/** /**
@ -124,8 +104,9 @@ function setTabcounter() {
function changeLogging() function changeLogging()
{ {
var element = $('#logging').is(':checked'); var element = $('#logging').is(':checked');
core(function (ref){
browser.storage.local.set({'loggingStatus': element}); ref.setData('loggingStatus', element);
});
} }
/** /**
@ -135,15 +116,14 @@ function setHashStatus()
{ {
var element = $('#hashStatus'); var element = $('#hashStatus');
browser.storage.local.get('hashStatus', function(data) { if(hashStatus)
if(data.hashStatus) {
{ element.text(hashStatus);
element.text(data.hashStatus); }
} else {
else { element.text('Oops something went wrong!');
element.text('Oops something went wrong!'); }
}
});
} }
/** /**
@ -152,31 +132,22 @@ function setHashStatus()
function setLogging() function setLogging()
{ {
var element = $('#logging'); var element = $('#logging');
element.prop('checked', loggingStatus);
browser.storage.local.get('loggingStatus', function(data) {
if(data.loggingStatus)
{
element.prop('checked', true);
}
else if(data.loggingStatus === null || typeof(data.loggingStatus) == "undefined"){
element.prop('checked', false);
browser.storage.local.set({'loggingStatus': false});
}
else {
element.prop('checked', false);
}
});
} }
/** /**
* Reset the global statistic * Reset the global statistic
*
*/ */
function resetGlobalCounter(){ function resetGlobalCounter(){
browser.storage.local.set({"globalCounter": 0}); core(function (ref){
browser.storage.local.set({"globalurlcounter": 0}); globalurlcounter = 0;
globalCounter = 0;
ref.setData('globalCounter', 0);
ref.setData('globalurlcounter', 0);
});
} }
getData();
$(document).ready(function(){ $(document).ready(function(){
init(); init();
$("#globalStatus").on("change", changeGlobalStatus); $("#globalStatus").on("change", changeGlobalStatus);

View File

@ -1,7 +1,7 @@
{ {
"manifest_version": 2, "manifest_version": 2,
"name": "ClearURLs", "name": "ClearURLs",
"version": "1.2.1.4", "version": "1.2.2.0",
"author": "Kevin R.", "author": "Kevin R.",
"description": "Remove tracking elements form URLs.", "description": "Remove tracking elements form URLs.",
"homepage_url": "https://github.com/KevinRoebert/ClearUrls", "homepage_url": "https://github.com/KevinRoebert/ClearUrls",