Index: lib/contentPolicy.js |
=================================================================== |
--- a/lib/contentPolicy.js |
+++ b/lib/contentPolicy.js |
@@ -25,17 +25,16 @@ let {XPCOMUtils} = Cu.import("resource:/ |
let {Services} = Cu.import("resource://gre/modules/Services.jsm", {}); |
let {Utils} = require("utils"); |
let {port} = require("messaging"); |
let {Prefs} = require("prefs"); |
let {FilterStorage} = require("filterStorage"); |
let {BlockingFilter, WhitelistFilter, RegExpFilter} = require("filterClasses"); |
let {defaultMatcher} = require("matcher"); |
-let {ElemHide} = require("elemHide"); |
/** |
* Public policy checking functions and auxiliary objects |
* @class |
*/ |
var Policy = exports.Policy = |
{ |
/** |
@@ -108,17 +107,17 @@ var Policy = exports.Policy = |
Utils.styleService.unregisterSheet(collapseStyle, Ci.nsIStyleSheetService.USER_SHEET); |
}); |
}, |
/** |
* Checks whether a node should be blocked, hides it if necessary |
* @param {Object} data request data |
* @param {String} data.contentType |
- * @param {String} data.location location of the request, filter key if contentType is ELEMHIDE |
+ * @param {String} data.location location of the request |
* @param {Object[]} data.frames |
* @param {Boolean} data.isPrivate true if the request belongs to a private browsing window |
* @return {Object} An object containing properties allow, collapse and hits |
* indicating how this request should be handled. |
*/ |
shouldAllow: function({contentType, location, frames, isPrivate}) |
{ |
let hits = []; |
@@ -145,52 +144,34 @@ var Policy = exports.Policy = |
// Interpret unknown types as "other" |
contentType = this.contentTypes.get(contentType) || "OTHER"; |
let nogeneric = false; |
if (Prefs.enabled) |
{ |
let whitelistHit = |
- this.isFrameWhitelisted(frames, contentType == "ELEMHIDE"); |
+ this.isFrameWhitelisted(frames, false); |
if (whitelistHit) |
{ |
let [frameIndex, matchType, docDomain, thirdParty, location, filter] = whitelistHit; |
addHit(frameIndex, matchType, docDomain, thirdParty, location, filter); |
- if (matchType == "DOCUMENT" || matchType == "ELEMHIDE") |
+ if (matchType == "DOCUMENT") |
return response(true, false); |
else |
nogeneric = true; |
} |
} |
let match = null; |
let wndLocation = frames[0].location; |
let docDomain = getHostname(wndLocation); |
let [sitekey, sitekeyFrame] = getSitekey(frames); |
- if (contentType == "ELEMHIDE") |
- { |
- match = ElemHide.getFilterByKey(location); |
- location = match.text.replace(/^.*?#/, '#'); |
- |
- if (!match.isActiveOnDomain(docDomain)) |
- return response(true, false); |
- let exception = ElemHide.getException(match, docDomain); |
- if (exception) |
- { |
- addHit(null, contentType, docDomain, false, location, exception); |
- return response(true, false); |
- } |
- |
- if (nogeneric && match.isGeneric()) |
- return response(true, false); |
- } |
- |
- let thirdParty = (contentType == "ELEMHIDE" ? false : isThirdParty(location, docDomain)); |
+ let thirdParty = isThirdParty(location, docDomain); |
let collapse = false; |
if (!match && Prefs.enabled && RegExpFilter.typeMap.hasOwnProperty(contentType)) |
{ |
match = defaultMatcher.matchesAny(location, RegExpFilter.typeMap[contentType], |
docDomain, thirdParty, sitekey, nogeneric); |
if (match instanceof BlockingFilter && !this.nonVisualTypes.has(contentType)) |
collapse = (match.collapse != null ? match.collapse : !Prefs.fastcollapse); |
} |