[Pkg-mozext-commits] [adblock-plus] 01/87: Issue 2396 - Add CSS property filter message responder

David Prévot taffit at moszumanska.debian.org
Sat Apr 30 17:59:01 UTC 2016


This is an automated email from the git hooks/post-receive script.

taffit pushed a commit to branch master
in repository adblock-plus.

commit 261b5d3fdc222de946e985b9ebea4cc846239577
Author: Dave Barker <kzar at kzar.co.uk>
Date:   Fri Nov 6 15:46:26 2015 +0100

    Issue 2396 - Add CSS property filter message responder
---
 background.js       | 15 ++++++++++-----
 messageResponder.js | 29 +++++++++++++++++++++++++++--
 2 files changed, 37 insertions(+), 7 deletions(-)

diff --git a/background.js b/background.js
index ff1f2d4..f71b877 100644
--- a/background.js
+++ b/background.js
@@ -63,7 +63,7 @@
     Prefs: {
       "subscriptions_exceptionsurl": "https://easylist-downloads.adblockplus.org/exceptionrules.txt"
     }
-  }
+  };
 
   modules.subscriptionClasses = {
     Subscription: function(url)
@@ -164,9 +164,8 @@
 
   modules.filterValidation = 
   {
-    parseFilter: function(text) 
+    parseFilter: function(text)
     {
-      
       if (params.filterError)
         return {error: "Invalid filter"};
       return {filter: modules.filterClasses.Filter.fromText(text)};
@@ -199,6 +198,12 @@
     }
   };
 
+  modules.cssRules = {
+    CSSRules: {
+      getRulesForDomain: function(domain) { }
+    }
+  };
+
   var notifierListeners = [];
   modules.filterNotifier = {
     FilterNotifier: {
@@ -246,7 +251,7 @@
 
   var filters = [
     "@@||alternate.de^$document",
-    "@@||der.postillion.com^$document", 
+    "@@||der.postillion.com^$document",
     "@@||taz.de^$document",
     "@@||amazon.de^$document",
     "||biglemon.am/bg_poster/banner.jpg",
@@ -281,7 +286,7 @@
 
   global.seenDataCorruption = params.seenDataCorruption;
   global.filterlistsReinitialized = params.filterlistsReinitialized;
-  
+
   if (params.addSubscription)
   {
     // We don't know how long it will take for the page to fully load
diff --git a/messageResponder.js b/messageResponder.js
index a6886cb..965e014 100644
--- a/messageResponder.js
+++ b/messageResponder.js
@@ -25,10 +25,12 @@
   var FilterStorage = require("filterStorage").FilterStorage;
   var FilterNotifier = require("filterNotifier").FilterNotifier;
   var defaultMatcher = require("matcher").defaultMatcher;
-  
+  var CSSRules = require("cssRules").CSSRules;
+
   var filterClasses = require("filterClasses");
   var Filter = filterClasses.Filter;
   var BlockingFilter = filterClasses.BlockingFilter;
+  var RegExpFilter = filterClasses.RegExpFilter;
   var Synchronizer = require("synchronizer").Synchronizer;
 
   var subscriptionClasses = require("subscriptionClasses");
@@ -194,13 +196,36 @@
         callback(filter instanceof BlockingFilter);
         break;
       case "filters.get":
+        if (message.what == "cssproperties")
+        {
+          var filters = [];
+          var isFrameWhitelisted = require("whitelisting").isFrameWhitelisted;
+
+          if (!isFrameWhitelisted(sender.page, sender.frame,
+                                  RegExpFilter.typeMap.DOCUMENT |
+                                  RegExpFilter.typeMap.ELEMHIDE))
+          {
+            filters = CSSRules.getRulesForDomain(sender.frame.url.hostname);
+            filters = filters.map(function(filter)
+            {
+              return {
+                prefix: filter.selectorPrefix,
+                suffix: filter.selectorSuffix,
+                regexp: filter.regexpString
+              };
+            });
+          }
+          callback(filters);
+          break;
+        }
+
         var subscription = Subscription.fromURL(message.subscriptionUrl);
         if (!subscription)
         {
           callback([]);
           break;
         }
-        
+
         callback(subscription.filters.map(convertFilter));
         break;
       case "filters.importRaw":

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-mozext/adblock-plus.git



More information about the Pkg-mozext-commits mailing list