Index: test/filterStorage.js
===================================================================
--- a/test/filterStorage.js
+++ b/test/filterStorage.js
@@ -16,28 +16,28 @@
  */
 
 "use strict";
 
 const {createSandbox} = require("./_common");
 
 let Filter = null;
 let filterNotifier = null;
-let FilterStorage = null;
+let filterStorage = null;
 let Subscription = null;
 
 exports.setUp = function(callback)
 {
   let sandboxedRequire = createSandbox();
 
   sandboxedRequire("../lib/filterListener");
   (
     {Filter} = sandboxedRequire("../lib/filterClasses"),
     {filterNotifier} = sandboxedRequire("../lib/filterNotifier"),
-    {FilterStorage} = sandboxedRequire("../lib/filterStorage"),
+    {filterStorage} = sandboxedRequire("../lib/filterStorage"),
     {Subscription} = sandboxedRequire("../lib/subscriptionClasses")
   );
 
   callback();
 };
 
 function addListener(listener)
 {
@@ -53,30 +53,30 @@
 
   filterNotifier.on("filter.hitCount", makeWrapper("filter.hitCount"));
   filterNotifier.on("filter.lastHit", makeWrapper("filter.lastHit"));
 }
 
 function compareSubscriptionList(test, testMessage, list,
                                  knownSubscriptions = null)
 {
-  let result = [...FilterStorage.knownSubscriptions.keys()];
+  let result = [...filterStorage.knownSubscriptions.keys()];
   let expected = list.map(subscription => subscription.url);
   test.deepEqual(result, expected, testMessage);
 
   if (knownSubscriptions)
   {
     test.deepEqual([...Subscription.knownSubscriptions.values()],
                    knownSubscriptions, testMessage);
   }
 }
 
 function compareFiltersList(test, testMessage, list)
 {
-  let result = [...FilterStorage.subscriptions()].map(
+  let result = [...filterStorage.subscriptions()].map(
     subscription => subscription.filters.map(
       filter => filter.text));
   test.deepEqual(result, list, testMessage);
 }
 
 function compareFilterSubscriptions(test, testMessage, filter, list)
 {
   let result = [...filter.subscriptions()].map(subscription => subscription.url);
@@ -96,51 +96,51 @@
       changes.push(action + " " + subscription.url);
   }
   addListener(listener);
 
   compareSubscriptionList(test, "Initial state", []);
   test.deepEqual(changes, [], "Received changes");
 
   changes = [];
-  FilterStorage.addSubscription(subscription1);
+  filterStorage.addSubscription(subscription1);
   compareSubscriptionList(test, "Adding first subscription", [subscription1]);
   test.deepEqual(changes, ["subscription.added http://test1/"], "Received changes");
 
   changes = [];
-  FilterStorage.addSubscription(subscription1);
+  filterStorage.addSubscription(subscription1);
   compareSubscriptionList(test, "Adding already added subscription", [subscription1]);
   test.deepEqual(changes, [], "Received changes");
 
   changes = [];
-  FilterStorage.addSubscription(subscription2);
+  filterStorage.addSubscription(subscription2);
   compareSubscriptionList(test, "Adding second", [subscription1, subscription2]);
   test.deepEqual(changes, ["subscription.added http://test2/"], "Received changes");
 
-  FilterStorage.removeSubscription(subscription1);
+  filterStorage.removeSubscription(subscription1);
   compareSubscriptionList(test, "Remove", [subscription2]);
 
   changes = [];
-  FilterStorage.addSubscription(subscription1);
+  filterStorage.addSubscription(subscription1);
   compareSubscriptionList(test, "Re-adding previously removed subscription", [subscription2, subscription1]);
   test.deepEqual(changes, ["subscription.added http://test1/"], "Received changes");
 
   test.done();
 };
 
 exports.testRemovingSubscriptions = function(test)
 {
   let subscription1 = Subscription.fromURL("http://test1/");
   let subscription2 = Subscription.fromURL("http://test2/");
 
   test.equal(Subscription.fromURL(subscription1.url), subscription1,
              "Subscription known before addition");
 
-  FilterStorage.addSubscription(subscription1);
-  FilterStorage.addSubscription(subscription2);
+  filterStorage.addSubscription(subscription1);
+  filterStorage.addSubscription(subscription2);
 
   let changes = [];
   function listener(action, subscription)
   {
     if (action.indexOf("subscription.") == 0)
       changes.push(action + " " + subscription.url);
   }
   addListener(listener);
@@ -148,145 +148,145 @@
   compareSubscriptionList(test, "Initial state", [subscription1, subscription2],
                           [subscription1, subscription2]);
   test.deepEqual(changes, [], "Received changes");
 
   test.equal(Subscription.fromURL(subscription1.url), subscription1,
              "Subscription known after addition");
 
   changes = [];
-  FilterStorage.removeSubscription(subscription1);
+  filterStorage.removeSubscription(subscription1);
   compareSubscriptionList(test, "Removing first subscription", [subscription2],
                           [subscription2]);
   test.deepEqual(changes, ["subscription.removed http://test1/"], "Received changes");
 
   // Once a subscription has been removed, it is forgotten; a new object is
   // created for the previously known subscription URL.
   test.notEqual(Subscription.fromURL(subscription1.url), subscription1,
                 "Subscription forgotten upon removal");
   Subscription.knownSubscriptions.delete(subscription1.url);
 
   changes = [];
-  FilterStorage.removeSubscription(subscription1);
+  filterStorage.removeSubscription(subscription1);
   compareSubscriptionList(test, "Removing already removed subscription", [subscription2],
                           [subscription2]);
   test.deepEqual(changes, [], "Received changes");
 
   changes = [];
-  FilterStorage.removeSubscription(subscription2);
+  filterStorage.removeSubscription(subscription2);
   compareSubscriptionList(test, "Removing remaining subscription", [], []);
   test.deepEqual(changes, ["subscription.removed http://test2/"], "Received changes");
 
-  FilterStorage.addSubscription(subscription1);
+  filterStorage.addSubscription(subscription1);
   compareSubscriptionList(test, "Add", [subscription1], []);
 
   changes = [];
-  FilterStorage.removeSubscription(subscription1);
+  filterStorage.removeSubscription(subscription1);
   compareSubscriptionList(test, "Re-removing previously added subscription", [], []);
   test.deepEqual(changes, ["subscription.removed http://test1/"], "Received changes");
 
   test.done();
 };
 
 exports.testMovingSubscriptions = function(test)
 {
   let subscription1 = Subscription.fromURL("http://test1/");
   let subscription2 = Subscription.fromURL("http://test2/");
   let subscription3 = Subscription.fromURL("http://test3/");
 
-  FilterStorage.addSubscription(subscription1);
-  FilterStorage.addSubscription(subscription2);
-  FilterStorage.addSubscription(subscription3);
+  filterStorage.addSubscription(subscription1);
+  filterStorage.addSubscription(subscription2);
+  filterStorage.addSubscription(subscription3);
 
   let changes = [];
   function listener(action, subscription)
   {
     if (action.indexOf("subscription.") == 0)
       changes.push(action + " " + subscription.url);
   }
   addListener(listener);
 
   compareSubscriptionList(test, "Initial state", [subscription1, subscription2, subscription3]);
   test.deepEqual(changes, [], "Received changes");
 
-  FilterStorage.removeSubscription(subscription2);
+  filterStorage.removeSubscription(subscription2);
   compareSubscriptionList(test, "Remove", [subscription1, subscription3]);
 
   test.done();
 };
 
 exports.testAddingFilters = function(test)
 {
   let subscription1 = Subscription.fromURL("~blocking");
   subscription1.defaults = ["blocking"];
 
   let subscription2 = Subscription.fromURL("~exceptions");
   subscription2.defaults = ["whitelist", "elemhide"];
 
   let subscription3 = Subscription.fromURL("~other");
 
-  FilterStorage.addSubscription(subscription1);
-  FilterStorage.addSubscription(subscription2);
-  FilterStorage.addSubscription(subscription3);
+  filterStorage.addSubscription(subscription1);
+  filterStorage.addSubscription(subscription2);
+  filterStorage.addSubscription(subscription3);
 
   let changes = [];
   function listener(action, filter)
   {
     if (action.indexOf("filter.") == 0)
       changes.push(action + " " + filter.text);
   }
   addListener(listener);
 
   compareFiltersList(test, "Initial state", [[], [], []]);
   test.deepEqual(changes, [], "Received changes");
 
   changes = [];
-  FilterStorage.addFilter(Filter.fromText("foo"));
+  filterStorage.addFilter(Filter.fromText("foo"));
   compareFiltersList(test, "Adding blocking filter", [["foo"], [], []]);
   test.deepEqual(changes, ["filter.added foo"], "Received changes");
 
   changes = [];
-  FilterStorage.addFilter(Filter.fromText("@@bar"));
+  filterStorage.addFilter(Filter.fromText("@@bar"));
   compareFiltersList(test, "Adding exception rule", [["foo"], ["@@bar"], []]);
   test.deepEqual(changes, ["filter.added @@bar"], "Received changes");
 
   changes = [];
-  FilterStorage.addFilter(Filter.fromText("foo##bar"));
+  filterStorage.addFilter(Filter.fromText("foo##bar"));
   compareFiltersList(test, "Adding hiding rule", [["foo"], ["@@bar", "foo##bar"], []]);
   test.deepEqual(changes, ["filter.added foo##bar"], "Received changes");
 
   changes = [];
-  FilterStorage.addFilter(Filter.fromText("foo#@#bar"));
+  filterStorage.addFilter(Filter.fromText("foo#@#bar"));
   compareFiltersList(test, "Adding hiding exception", [["foo"], ["@@bar", "foo##bar", "foo#@#bar"], []]);
   test.deepEqual(changes, ["filter.added foo#@#bar"], "Received changes");
 
   changes = [];
-  FilterStorage.addFilter(Filter.fromText("!foobar"));
+  filterStorage.addFilter(Filter.fromText("!foobar"));
   compareFiltersList(test, "Adding comment", [["foo"], ["@@bar", "foo##bar", "foo#@#bar"], ["!foobar"]]);
   test.deepEqual(changes, ["filter.added !foobar"], "Received changes");
 
   changes = [];
-  FilterStorage.addFilter(Filter.fromText("foo"));
+  filterStorage.addFilter(Filter.fromText("foo"));
   compareFiltersList(test, "Adding already added filter", [["foo"], ["@@bar", "foo##bar", "foo#@#bar"], ["!foobar"]]);
   test.deepEqual(changes, [], "Received changes");
 
   subscription1.disabled = true;
 
   changes = [];
-  FilterStorage.addFilter(Filter.fromText("foo"));
+  filterStorage.addFilter(Filter.fromText("foo"));
   compareFiltersList(test, "Adding filter already in a disabled subscription", [["foo"], ["@@bar", "foo##bar", "foo#@#bar"], ["!foobar", "foo"]]);
   test.deepEqual(changes, ["filter.added foo"], "Received changes");
 
   changes = [];
-  FilterStorage.addFilter(Filter.fromText("foo"), subscription1);
+  filterStorage.addFilter(Filter.fromText("foo"), subscription1);
   compareFiltersList(test, "Adding filter to an explicit subscription", [["foo", "foo"], ["@@bar", "foo##bar", "foo#@#bar"], ["!foobar", "foo"]]);
   test.deepEqual(changes, ["filter.added foo"], "Received changes");
 
   changes = [];
-  FilterStorage.addFilter(Filter.fromText("!foobar"), subscription2, 0);
+  filterStorage.addFilter(Filter.fromText("!foobar"), subscription2, 0);
   compareFiltersList(test, "Adding filter to an explicit subscription with position", [["foo", "foo"], ["!foobar", "@@bar", "foo##bar", "foo#@#bar"], ["!foobar", "foo"]]);
   test.deepEqual(changes, ["filter.added !foobar"], "Received changes");
 
   test.done();
 };
 
 exports.testRemovingFilters = function(test)
 {
@@ -294,108 +294,108 @@
   subscription1.filters = [Filter.fromText("foo"), Filter.fromText("foo"), Filter.fromText("bar")];
 
   let subscription2 = Subscription.fromURL("~bar");
   subscription2.filters = [Filter.fromText("foo"), Filter.fromText("bar"), Filter.fromText("foo")];
 
   let subscription3 = Subscription.fromURL("http://test/");
   subscription3.filters = [Filter.fromText("foo"), Filter.fromText("bar")];
 
-  FilterStorage.addSubscription(subscription1);
-  FilterStorage.addSubscription(subscription2);
-  FilterStorage.addSubscription(subscription3);
+  filterStorage.addSubscription(subscription1);
+  filterStorage.addSubscription(subscription2);
+  filterStorage.addSubscription(subscription3);
 
   let changes = [];
   function listener(action, filter)
   {
     if (action.indexOf("filter.") == 0)
       changes.push(action + " " + filter.text);
   }
   addListener(listener);
 
   compareFiltersList(test, "Initial state", [["foo", "foo", "bar"], ["foo", "bar", "foo"], ["foo", "bar"]]);
   test.deepEqual(changes, [], "Received changes");
 
   changes = [];
-  FilterStorage.removeFilter(Filter.fromText("foo"), subscription2, 0);
+  filterStorage.removeFilter(Filter.fromText("foo"), subscription2, 0);
   compareFiltersList(test, "Remove with explicit subscription and position", [["foo", "foo", "bar"], ["bar", "foo"], ["foo", "bar"]]);
   test.deepEqual(changes, ["filter.removed foo"], "Received changes");
 
   changes = [];
-  FilterStorage.removeFilter(Filter.fromText("foo"), subscription2, 0);
+  filterStorage.removeFilter(Filter.fromText("foo"), subscription2, 0);
   compareFiltersList(test, "Remove with explicit subscription and wrong position", [["foo", "foo", "bar"], ["bar", "foo"], ["foo", "bar"]]);
   test.deepEqual(changes, [], "Received changes");
 
   changes = [];
-  FilterStorage.removeFilter(Filter.fromText("foo"), subscription1);
+  filterStorage.removeFilter(Filter.fromText("foo"), subscription1);
   compareFiltersList(test, "Remove with explicit subscription", [["bar"], ["bar", "foo"], ["foo", "bar"]]);
   test.deepEqual(changes, ["filter.removed foo", "filter.removed foo"], "Received changes");
 
   changes = [];
-  FilterStorage.removeFilter(Filter.fromText("foo"), subscription1);
+  filterStorage.removeFilter(Filter.fromText("foo"), subscription1);
   compareFiltersList(test, "Remove from subscription not having the filter", [["bar"], ["bar", "foo"], ["foo", "bar"]]);
   test.deepEqual(changes, [], "Received changes");
 
   changes = [];
-  FilterStorage.removeFilter(Filter.fromText("bar"));
+  filterStorage.removeFilter(Filter.fromText("bar"));
   compareFiltersList(test, "Remove everywhere", [[], ["foo"], ["foo", "bar"]]);
   test.deepEqual(changes, ["filter.removed bar", "filter.removed bar"], "Received changes");
 
   changes = [];
-  FilterStorage.removeFilter(Filter.fromText("bar"));
+  filterStorage.removeFilter(Filter.fromText("bar"));
   compareFiltersList(test, "Remove of unknown filter", [[], ["foo"], ["foo", "bar"]]);
   test.deepEqual(changes, [], "Received changes");
 
   test.done();
 };
 
 exports.testMovingFilters = function(test)
 {
   let subscription1 = Subscription.fromURL("~foo");
   subscription1.filters = [Filter.fromText("foo"), Filter.fromText("bar"), Filter.fromText("bas"), Filter.fromText("foo")];
 
   let subscription2 = Subscription.fromURL("http://test/");
   subscription2.filters = [Filter.fromText("foo"), Filter.fromText("bar")];
 
-  FilterStorage.addSubscription(subscription1);
-  FilterStorage.addSubscription(subscription2);
+  filterStorage.addSubscription(subscription1);
+  filterStorage.addSubscription(subscription2);
 
   let changes = [];
   function listener(action, filter)
   {
     if (action.indexOf("filter.") == 0)
       changes.push(action + " " + filter.text);
   }
   addListener(listener);
 
   compareFiltersList(test, "Initial state", [["foo", "bar", "bas", "foo"], ["foo", "bar"]]);
   test.deepEqual(changes, [], "Received changes");
 
   changes = [];
-  FilterStorage.moveFilter(Filter.fromText("foo"), subscription1, 0, 1);
+  filterStorage.moveFilter(Filter.fromText("foo"), subscription1, 0, 1);
   compareFiltersList(test, "Regular move", [["bar", "foo", "bas", "foo"], ["foo", "bar"]]);
   test.deepEqual(changes, ["filter.moved foo"], "Received changes");
 
   changes = [];
-  FilterStorage.moveFilter(Filter.fromText("foo"), subscription1, 0, 3);
+  filterStorage.moveFilter(Filter.fromText("foo"), subscription1, 0, 3);
   compareFiltersList(test, "Invalid move", [["bar", "foo", "bas", "foo"], ["foo", "bar"]]);
   test.deepEqual(changes, [], "Received changes");
 
   changes = [];
-  FilterStorage.moveFilter(Filter.fromText("foo"), subscription2, 0, 1);
+  filterStorage.moveFilter(Filter.fromText("foo"), subscription2, 0, 1);
   compareFiltersList(test, "Invalid subscription", [["bar", "foo", "bas", "foo"], ["foo", "bar"]]);
   test.deepEqual(changes, [], "Received changes");
 
   changes = [];
-  FilterStorage.moveFilter(Filter.fromText("foo"), subscription1, 1, 1);
+  filterStorage.moveFilter(Filter.fromText("foo"), subscription1, 1, 1);
   compareFiltersList(test, "Move to current position", [["bar", "foo", "bas", "foo"], ["foo", "bar"]]);
   test.deepEqual(changes, [], "Received changes");
 
   changes = [];
-  FilterStorage.moveFilter(Filter.fromText("bar"), subscription1, 0, 1);
+  filterStorage.moveFilter(Filter.fromText("bar"), subscription1, 0, 1);
   compareFiltersList(test, "Regular move", [["foo", "bar", "bas", "foo"], ["foo", "bar"]]);
   test.deepEqual(changes, ["filter.moved bar"], "Received changes");
 
   test.done();
 };
 
 exports.testHitCounts = function(test)
 {
@@ -405,43 +405,43 @@
     if (action.indexOf("filter.") == 0)
       changes.push(action + " " + filter.text);
   }
   addListener(listener);
 
   let filter1 = Filter.fromText("filter1");
   let filter2 = Filter.fromText("filter2");
 
-  FilterStorage.addFilter(filter1);
+  filterStorage.addFilter(filter1);
 
   test.equal(filter1.hitCount, 0, "filter1 initial hit count");
   test.equal(filter2.hitCount, 0, "filter2 initial hit count");
   test.equal(filter1.lastHit, 0, "filter1 initial last hit");
   test.equal(filter2.lastHit, 0, "filter2 initial last hit");
 
   changes = [];
-  FilterStorage.increaseHitCount(filter1);
+  filterStorage.increaseHitCount(filter1);
   test.equal(filter1.hitCount, 1, "Hit count after increase (filter in list)");
   test.ok(filter1.lastHit > 0, "Last hit changed after increase");
   test.deepEqual(changes, ["filter.hitCount filter1", "filter.lastHit filter1"], "Received changes");
 
   changes = [];
-  FilterStorage.increaseHitCount(filter2);
+  filterStorage.increaseHitCount(filter2);
   test.equal(filter2.hitCount, 1, "Hit count after increase (filter not in list)");
   test.ok(filter2.lastHit > 0, "Last hit changed after increase");
   test.deepEqual(changes, ["filter.hitCount filter2", "filter.lastHit filter2"], "Received changes");
 
   changes = [];
-  FilterStorage.resetHitCounts([filter1]);
+  filterStorage.resetHitCounts([filter1]);
   test.equal(filter1.hitCount, 0, "Hit count after reset");
   test.equal(filter1.lastHit, 0, "Last hit after reset");
   test.deepEqual(changes, ["filter.hitCount filter1", "filter.lastHit filter1"], "Received changes");
 
   changes = [];
-  FilterStorage.resetHitCounts(null);
+  filterStorage.resetHitCounts(null);
   test.equal(filter2.hitCount, 0, "Hit count after complete reset");
   test.equal(filter2.lastHit, 0, "Last hit after complete reset");
   test.deepEqual(changes, ["filter.hitCount filter2", "filter.lastHit filter2"], "Received changes");
 
   test.done();
 };
 
 exports.testFilterSubscriptionRelationship = function(test)
@@ -458,52 +458,52 @@
 
   let subscription3 = Subscription.fromURL("http://test3/");
   subscription3.filters = [filter1, filter2, filter3];
 
   compareFilterSubscriptions(test, "Initial filter1 subscriptions", filter1, []);
   compareFilterSubscriptions(test, "Initial filter2 subscriptions", filter2, []);
   compareFilterSubscriptions(test, "Initial filter3 subscriptions", filter3, []);
 
-  FilterStorage.addSubscription(subscription1);
+  filterStorage.addSubscription(subscription1);
 
   compareFilterSubscriptions(test, "filter1 subscriptions after adding http://test1/", filter1, [subscription1]);
   compareFilterSubscriptions(test, "filter2 subscriptions after adding http://test1/", filter2, [subscription1]);
   compareFilterSubscriptions(test, "filter3 subscriptions after adding http://test1/", filter3, []);
 
-  FilterStorage.addSubscription(subscription2);
+  filterStorage.addSubscription(subscription2);
 
   compareFilterSubscriptions(test, "filter1 subscriptions after adding http://test2/", filter1, [subscription1]);
   compareFilterSubscriptions(test, "filter2 subscriptions after adding http://test2/", filter2, [subscription1, subscription2]);
   compareFilterSubscriptions(test, "filter3 subscriptions after adding http://test2/", filter3, [subscription2]);
 
-  FilterStorage.removeSubscription(subscription1);
+  filterStorage.removeSubscription(subscription1);
 
   compareFilterSubscriptions(test, "filter1 subscriptions after removing http://test1/", filter1, []);
   compareFilterSubscriptions(test, "filter2 subscriptions after removing http://test1/", filter2, [subscription2]);
   compareFilterSubscriptions(test, "filter3 subscriptions after removing http://test1/", filter3, [subscription2]);
 
-  FilterStorage.updateSubscriptionFilters(subscription3, [filter3]);
+  filterStorage.updateSubscriptionFilters(subscription3, [filter3]);
 
   compareFilterSubscriptions(test, "filter1 subscriptions after updating http://test3/ filters", filter1, []);
   compareFilterSubscriptions(test, "filter2 subscriptions after updating http://test3/ filters", filter2, [subscription2]);
   compareFilterSubscriptions(test, "filter3 subscriptions after updating http://test3/ filters", filter3, [subscription2]);
 
-  FilterStorage.addSubscription(subscription3);
+  filterStorage.addSubscription(subscription3);
 
   compareFilterSubscriptions(test, "filter1 subscriptions after adding http://test3/", filter1, []);
   compareFilterSubscriptions(test, "filter2 subscriptions after adding http://test3/", filter2, [subscription2]);
   compareFilterSubscriptions(test, "filter3 subscriptions after adding http://test3/", filter3, [subscription2, subscription3]);
 
-  FilterStorage.updateSubscriptionFilters(subscription3, [filter1, filter2]);
+  filterStorage.updateSubscriptionFilters(subscription3, [filter1, filter2]);
 
   compareFilterSubscriptions(test, "filter1 subscriptions after updating http://test3/ filters", filter1, [subscription3]);
   compareFilterSubscriptions(test, "filter2 subscriptions after updating http://test3/ filters", filter2, [subscription2, subscription3]);
   compareFilterSubscriptions(test, "filter3 subscriptions after updating http://test3/ filters", filter3, [subscription2]);
 
-  FilterStorage.removeSubscription(subscription3);
+  filterStorage.removeSubscription(subscription3);
 
   compareFilterSubscriptions(test, "filter1 subscriptions after removing http://test3/", filter1, []);
   compareFilterSubscriptions(test, "filter2 subscriptions after removing http://test3/", filter2, [subscription2]);
   compareFilterSubscriptions(test, "filter3 subscriptions after removing http://test3/", filter3, [subscription2]);
 
   test.done();
 };
