aboutsummaryrefslogtreecommitdiffstats
path: root/pages
diff options
context:
space:
mode:
authormrmr19932015-06-01 14:18:54 +0100
committerStephen Blott2015-06-01 15:04:36 +0100
commita456de97daaf1361bc3ad7df775f1b6cbe1f720e (patch)
tree10c66a5aaa018798b01b62c7c69a709adfcdaf18 /pages
parent35c52143d82c8b2bc3e07832e8f6cdb089453baf (diff)
downloadvimium-a456de97daaf1361bc3ad7df775f1b6cbe1f720e.tar.bz2
Use JSON.stringify to compare setting values everywhere
Diffstat (limited to 'pages')
-rw-r--r--pages/options.coffee11
1 files changed, 1 insertions, 10 deletions
diff --git a/pages/options.coffee b/pages/options.coffee
index 93b0be11..323215d0 100644
--- a/pages/options.coffee
+++ b/pages/options.coffee
@@ -32,12 +32,9 @@ class Option
# Write this option's new value back to localStorage, if necessary.
save: ->
value = @readValueFromElement()
- if not @areEqual value, @previous
+ if JSON.stringify value != JSON.stringify @previous
bgSettings.set @field, @previous = value
- # Compare values; this is overridden by sub-classes.
- areEqual: (a,b) -> a == b
-
restoreToDefault: ->
bgSettings.clear @field
@fetch()
@@ -125,12 +122,6 @@ class ExclusionRulesOption extends Option
passKeys: @getPassKeys(element).value.trim()
rules.filter (rule) -> rule.pattern
- areEqual: (a,b) ->
- # Flatten each list of rules to a newline-separated string representation, and then use string equality.
- # This is correct because patterns and passKeys cannot themselves contain newlines.
- flatten = (rule) -> if rule and rule.pattern then rule.pattern + "\n" + rule.passKeys else ""
- a.map(flatten).join("\n") == b.map(flatten).join("\n")
-
# Accessors for the three main sub-elements of an "exclusionRuleTemplateInstance".
getPattern: (element) -> element.querySelector(".pattern")
getPassKeys: (element) -> element.querySelector(".passKeys")