diff options
| -rw-r--r-- | lib/settings.coffee | 4 | ||||
| -rw-r--r-- | pages/options.coffee | 11 | 
2 files changed, 2 insertions, 13 deletions
| diff --git a/lib/settings.coffee b/lib/settings.coffee index 4fafa7d3..ca4e77b0 100644 --- a/lib/settings.coffee +++ b/lib/settings.coffee @@ -55,9 +55,7 @@ Settings =    set: (key, value) ->      # Don't store the value if it is equal to the default, so we can change the defaults in the future. -    # FIXME(smblott).  This test is broken for exclusionRules (for which it is never true).  In this case, we -    # need some kind of structural equality (or perhaps comparison of JSONified strings). -    if value == @defaults[key] +    if JSON.stringify(value) == JSON.stringify @defaults[key]        @clear key      else        jsonValue = JSON.stringify value 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") | 
