diff options
author | Ruben Rodriguez <ruben@gnu.org> | 2015-07-13 22:52:06 -0500 |
---|---|---|
committer | Ruben Rodriguez <ruben@gnu.org> | 2015-07-13 22:52:06 -0500 |
commit | 9cb91f8a48f9467e448f88984c20b3429e8a2510 (patch) | |
tree | 05104ee593dade85e0873615eff0ee0369361210 /data/extensions/spyblock@gnu.org/lib/elemHide.js | |
parent | 58f127c1d5f8c89b9e55803701f734756d1cfa2a (diff) |
Spyblock updated to 2.6.9.0 from upstream changes
Diffstat (limited to 'data/extensions/spyblock@gnu.org/lib/elemHide.js')
-rw-r--r-- | data/extensions/spyblock@gnu.org/lib/elemHide.js | 55 |
1 files changed, 14 insertions, 41 deletions
diff --git a/data/extensions/spyblock@gnu.org/lib/elemHide.js b/data/extensions/spyblock@gnu.org/lib/elemHide.js index df17a0f..b762040 100644 --- a/data/extensions/spyblock@gnu.org/lib/elemHide.js +++ b/data/extensions/spyblock@gnu.org/lib/elemHide.js @@ -1,6 +1,6 @@ /* - * This file is part of Adblock Plus <http://adblockplus.org/>, - * Copyright (C) 2006-2014 Eyeo GmbH + * This file is part of Adblock Plus <https://adblockplus.org/>, + * Copyright (C) 2006-2015 Eyeo GmbH * * Adblock Plus is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License version 3 as @@ -27,31 +27,30 @@ let {Prefs} = require("prefs"); let {ElemHideException} = require("filterClasses"); let {FilterNotifier} = require("filterNotifier"); let {AboutHandler} = require("elemHideHitRegistration"); -let {TimeLine} = require("timeline"); /** * Lookup table, filters by their associated key * @type Object */ -let filterByKey = {__proto__: null}; +let filterByKey = Object.create(null); /** * Lookup table, keys of the filters by filter text * @type Object */ -let keyByFilter = {__proto__: null}; +let keyByFilter = Object.create(null); /** * Lookup table, keys are known element hiding exceptions * @type Object */ -let knownExceptions = {__proto__: null}; +let knownExceptions = Object.create(null); /** * Lookup table, lists of element hiding exceptions by selector * @type Object */ -let exceptions = {__proto__: null}; +let exceptions = Object.create(null); /** * Currently applied stylesheet URL @@ -82,7 +81,6 @@ let ElemHide = exports.ElemHide = */ init: function() { - TimeLine.enter("Entered ElemHide.init()"); Prefs.addListener(function(name) { if (name == "enabled") @@ -93,14 +91,9 @@ let ElemHide = exports.ElemHide = ElemHide.unapply(); }); - TimeLine.log("done adding prefs listener"); - let styleFile = IO.resolveFilePath(Prefs.data_directory); styleFile.append("elemhide.css"); styleURL = Services.io.newFileURI(styleFile).QueryInterface(Ci.nsIFileURL); - TimeLine.log("done determining stylesheet URL"); - - TimeLine.leave("ElemHide.init() done"); }, /** @@ -108,10 +101,10 @@ let ElemHide = exports.ElemHide = */ clear: function() { - filterByKey = {__proto__: null}; - keyByFilter = {__proto__: null}; - knownExceptions = {__proto__: null}; - exceptions = {__proto__: null}; + filterByKey = Object.create(null); + keyByFilter = Object.create(null); + knownExceptions = Object.create(null); + exceptions = Object.create(null); ElemHide.isDirty = false; ElemHide.unapply(); }, @@ -184,7 +177,6 @@ let ElemHide = exports.ElemHide = */ getException: function(/**Filter*/ filter, /**String*/ docDomain) /**ElemHideException*/ { - let selector = filter.selector; if (!(filter.selector in exceptions)) return null; @@ -220,8 +212,6 @@ let ElemHide = exports.ElemHide = return; } - TimeLine.enter("Entered ElemHide.apply()"); - if (!ElemHide.isDirty || !Prefs.enabled) { // Nothing changed, looks like we merely got enabled/disabled @@ -236,21 +226,17 @@ let ElemHide = exports.ElemHide = { Cu.reportError(e); } - TimeLine.log("Applying existing stylesheet finished"); } else if (!Prefs.enabled && ElemHide.applied) { ElemHide.unapply(); - TimeLine.log("ElemHide.unapply() finished"); } - TimeLine.leave("ElemHide.apply() done (no file changes)"); return; } IO.writeToFile(styleURL.file, this._generateCSSContent(), function(e) { - TimeLine.enter("ElemHide.apply() write callback"); this._applying = false; // _generateCSSContent is throwing NS_ERROR_NOT_AVAILABLE to indicate that @@ -275,7 +261,6 @@ let ElemHide = exports.ElemHide = ElemHide.isDirty = false; ElemHide.unapply(); - TimeLine.log("ElemHide.unapply() finished"); if (!noFilters) { @@ -288,24 +273,19 @@ let ElemHide = exports.ElemHide = { Cu.reportError(e); } - TimeLine.log("Applying stylesheet finished"); } FilterNotifier.triggerListeners("elemhideupdate"); } - TimeLine.leave("ElemHide.apply() write callback done"); - }.bind(this), "ElemHideWrite"); + }.bind(this)); this._applying = true; - - TimeLine.leave("ElemHide.apply() done", "ElemHideWrite"); }, _generateCSSContent: function() { // Grouping selectors by domains - TimeLine.log("start grouping selectors"); - let domains = {__proto__: null}; + let domains = Object.create(null); let hasFilters = false; for (let key in filterByKey) { @@ -317,13 +297,12 @@ let ElemHide = exports.ElemHide = list = domains[domain]; else { - list = {__proto__: null}; + list = Object.create(null); domains[domain] = list; } list[filter.selector] = key; hasFilters = true; } - TimeLine.log("done grouping selectors"); if (!hasFilters) throw Cr.NS_ERROR_NOT_AVAILABLE; @@ -402,13 +381,7 @@ let ElemHide = exports.ElemHide = for (let key in filterByKey) { let filter = filterByKey[key]; - - // it is important to always access filter.domains - // here, even if it isn't used, in order to - // workaround WebKit bug 132872, also see #419 - let domains = filter.domains; - - if (specificOnly && (!domains || domains[""])) + if (specificOnly && (!filter.domains || filter.domains[""])) continue; if (filter.isActiveOnDomain(domain) && !this.getException(filter, domain)) |