mirror of
https://invent.kde.org/network/falkon.git
synced 2024-11-11 09:32:12 +01:00
GreaseMonkey: Fix GM_listValues() listing nothing
The function GM_listValues() got broken when the source file "values.js" was minimized into "values.min.js" because the optimizing tool was not aware that the string containing the placeholder (%1) is not final and will be changed later. It optimized away the expression which gets the length of the string and replaced it with its static value (2). This was a problem because not the length of the placeholder (%1) but the length of the current script id is needed to extract prefixes from the keys in the local storage. Failing to correctly extract the prefixes prevented finding the entries for the current script. This was fixed by comparing prefixes without extracting new strings. It works around the need to get the length of the id string and therefore the breaking optimization. An unrelated and redundant variable declaration was also removed.
This commit is contained in:
parent
88dba5e5ab
commit
0e47899791
|
@ -13,13 +13,11 @@ function GM_getValue(aKey, aDefault) {
|
|||
}
|
||||
|
||||
function GM_listValues() {
|
||||
var prefixLen = "%1".length;
|
||||
var values = [];
|
||||
var i = 0;
|
||||
for (var i = 0; i < localStorage.length; i++) {
|
||||
var k = localStorage.key(i);
|
||||
if (k.substr(0, prefixLen) === "%1") {
|
||||
values.push(k.substr(prefixLen));
|
||||
if (k.indexOf("%1") === 0) {
|
||||
values.push(k.replace("%1", ""));
|
||||
}
|
||||
}
|
||||
return values;
|
||||
|
|
2
src/plugins/GreaseMonkey/data/values.min.js
vendored
2
src/plugins/GreaseMonkey/data/values.min.js
vendored
|
@ -1 +1 @@
|
|||
function GM_deleteValue(b){localStorage.removeItem("%1"+b)}function GM_getValue(b,a){var c=localStorage.getItem("%1"+b);return null===c&&"undefined"!=typeof a?a:c}function GM_listValues(){for(var b=[],a=0,a=0;a<localStorage.length;a++){var c=localStorage.key(a);"%1"===c.substr(0,2)&&b.push(c.substr(2))}return b}function GM_setValue(b,a){localStorage.setItem("%1"+b,a)};
|
||||
function GM_deleteValue(a){localStorage.removeItem("%1"+a)}function GM_getValue(a,b){var c=localStorage.getItem("%1"+a);return null===c&&"undefined"!=typeof b?b:c}function GM_listValues(){for(var a=[],b=0;b<localStorage.length;b++){var c=localStorage.key(b);0===c.indexOf("%1")&&a.push(c.replace("%1",""))}return a}function GM_setValue(a,b){localStorage.setItem("%1"+a,b)};
|
||||
|
|
Loading…
Reference in New Issue
Block a user