Many bug fixes
This commit is contained in:
parent
f8163743bc
commit
e82376a7ef
@ -11,19 +11,20 @@ function killStickyIfMatch(result) {
|
|||||||
var shouldKillSticky = false;
|
var shouldKillSticky = false;
|
||||||
let matchingPatterns = result.mode == "whitelist" ?
|
let matchingPatterns = result.mode == "whitelist" ?
|
||||||
[ ".*" ] :
|
[ ".*" ] :
|
||||||
result.matchingPatterns.split("\n");
|
(typeof result.matchingPatterns != "undefined" ?
|
||||||
|
result.matchingPatterns.split("\n") :
|
||||||
|
[ ]);
|
||||||
for (let pattern of matchingPatterns) {
|
for (let pattern of matchingPatterns) {
|
||||||
if (location.href.match(new RegExp(pattern))) {
|
if (pattern && location.href.match(new RegExp(pattern))) {
|
||||||
shouldKillSticky = true;
|
shouldKillSticky = true;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
let exclusionPatterns = (typeof result.exclusionPatterns != "undefined" &&
|
let exclusionPatterns = typeof result.exclusionPatterns != "undefined" ?
|
||||||
result.exclusionPatterns != "") ?
|
|
||||||
result.exclusionPatterns.split("\n") :
|
result.exclusionPatterns.split("\n") :
|
||||||
[ ];
|
[ ];
|
||||||
for (let pattern of exclusionPatterns) {
|
for (let pattern of exclusionPatterns) {
|
||||||
if (location.href.match(new RegExp(pattern))) {
|
if (pattern && location.href.match(new RegExp(pattern))) {
|
||||||
shouldKillSticky = false;
|
shouldKillSticky = false;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|||||||
36
popup.js
36
popup.js
@ -1,8 +1,3 @@
|
|||||||
/*******************/
|
|
||||||
/* EVENT LISTENERS */
|
|
||||||
/*******************/
|
|
||||||
|
|
||||||
|
|
||||||
/***********/
|
/***********/
|
||||||
/* HELPERS */
|
/* HELPERS */
|
||||||
/***********/
|
/***********/
|
||||||
@ -74,13 +69,13 @@ function recalculatePatternEffects() {
|
|||||||
ASK.pageMatched = false;
|
ASK.pageMatched = false;
|
||||||
ASK.pageExcluded = false;
|
ASK.pageExcluded = false;
|
||||||
for (let pattern of ASK.matchingPatterns) {
|
for (let pattern of ASK.matchingPatterns) {
|
||||||
if (ASK.activeTabLocation.match(new RegExp(pattern))) {
|
if (pattern && ASK.activeTabLocation.match(new RegExp(pattern))) {
|
||||||
ASK.pageMatched = true;
|
ASK.pageMatched = true;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
for (let pattern of ASK.exclusionPatterns) {
|
for (let pattern of ASK.exclusionPatterns) {
|
||||||
if (ASK.activeTabLocation.match(new RegExp(pattern))) {
|
if (pattern && ASK.activeTabLocation.match(new RegExp(pattern))) {
|
||||||
ASK.pageExcluded = true;
|
ASK.pageExcluded = true;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
@ -91,9 +86,10 @@ function updateState(result) {
|
|||||||
ASK.mode = result.mode || "blacklist";
|
ASK.mode = result.mode || "blacklist";
|
||||||
ASK.matchingPatterns = (ASK.mode == "whitelist") ?
|
ASK.matchingPatterns = (ASK.mode == "whitelist") ?
|
||||||
[ ".*" ] :
|
[ ".*" ] :
|
||||||
result.matchingPatterns.split("\n");
|
(typeof result.matchingPatterns != "undefined" ?
|
||||||
ASK.exclusionPatterns = (typeof result.exclusionPatterns != "undefined" &&
|
result.matchingPatterns.split("\n") :
|
||||||
result.exclusionPatterns != "") ?
|
[ ]);
|
||||||
|
ASK.exclusionPatterns = typeof result.exclusionPatterns != "undefined" ?
|
||||||
result.exclusionPatterns.split("\n") :
|
result.exclusionPatterns.split("\n") :
|
||||||
[ ];
|
[ ];
|
||||||
recalculatePatternEffects();
|
recalculatePatternEffects();
|
||||||
@ -125,6 +121,7 @@ function updateUIState() {
|
|||||||
function initialize() {
|
function initialize() {
|
||||||
window.ASK = { };
|
window.ASK = { };
|
||||||
|
|
||||||
|
// Retrieve saved settings.
|
||||||
chrome.tabs.query({currentWindow: true, active: true}, (tabs) => {
|
chrome.tabs.query({currentWindow: true, active: true}, (tabs) => {
|
||||||
ASK.activeTabLocation = tabs[0].url;
|
ASK.activeTabLocation = tabs[0].url;
|
||||||
chrome.storage.sync.get([ "matchingPatterns", "exclusionPatterns", "mode" ], (result) => {
|
chrome.storage.sync.get([ "matchingPatterns", "exclusionPatterns", "mode" ], (result) => {
|
||||||
@ -133,17 +130,17 @@ function initialize() {
|
|||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
|
// Listener for main button.
|
||||||
document.querySelector("button.main-button").addActivateEvent((event) => {
|
document.querySelector("button.main-button").addActivateEvent((event) => {
|
||||||
toggleState();
|
toggleState();
|
||||||
|
|
||||||
let matchingPatterns = ASK.matchingPatterns.join("\n");
|
var changes = {
|
||||||
let exclusionPatterns = ASK.exclusionPatterns.join("\n");
|
"exclusionPatterns": ASK.exclusionPatterns.join("\n"),
|
||||||
let mode = ASK.mode;
|
"mode": ASK.mode
|
||||||
chrome.storage.sync.set({
|
};
|
||||||
"matchingPatterns": matchingPatterns,
|
if (ASK.mode == "blacklist")
|
||||||
"exclusionPatterns": exclusionPatterns,
|
changes.matchingPatterns = ASK.matchingPatterns.join("\n");
|
||||||
"mode": mode
|
chrome.storage.sync.set(changes, () => {
|
||||||
}, () => {
|
|
||||||
updateUIState();
|
updateUIState();
|
||||||
let reloadButton = document.querySelector("button.reload-button");
|
let reloadButton = document.querySelector("button.reload-button");
|
||||||
if (ASK.pageMatched && !ASK.pageExcluded) {
|
if (ASK.pageMatched && !ASK.pageExcluded) {
|
||||||
@ -155,11 +152,12 @@ function initialize() {
|
|||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
|
// Listener for Options button.
|
||||||
document.querySelector("button.options-button").addActivateEvent(() => {
|
document.querySelector("button.options-button").addActivateEvent(() => {
|
||||||
chrome.runtime.openOptionsPage(null);
|
chrome.runtime.openOptionsPage(null);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
// Listener for reload button (appears when sticky-killing is toggled OFF).
|
||||||
document.querySelector("button.reload-button").addActivateEvent(() => {
|
document.querySelector("button.reload-button").addActivateEvent(() => {
|
||||||
chrome.tabs.update(null, { url: ASK.activeTabLocation });
|
chrome.tabs.update(null, { url: ASK.activeTabLocation });
|
||||||
window.close();
|
window.close();
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user