| Index: include.preload.js |
| =================================================================== |
| --- a/include.preload.js |
| +++ b/include.preload.js |
| @@ -19,6 +19,14 @@ |
| var elemhideElt = null; |
| +// onRequest and sendRequest are deprecated as of Chrome 20 |
| +var ChromeCompat = { |
| + runtime: { |
| + onMessage: ("runtime" in chrome) ? chrome.runtime.onMessage : chrome.extension.onRequest, |
| + sendMessage: ("runtime" in chrome) ? chrome.runtime.sendMessage : chrome.extension.sendRequest |
| + } |
| +}; |
| + |
| // Sets the currently used CSS rules for elemhide filters |
| function setElemhideCSSRules(selectors) |
| { |
| @@ -101,11 +109,32 @@ |
| document.addEventListener("error", checkCollapse, true); |
| document.addEventListener("load", checkCollapse, true); |
| - |
| + |
| chrome.extension.sendRequest({reqtype: "get-settings", selectors: true, frameUrl: window.location.href}, function(response) |
| { |
| setElemhideCSSRules(response.selectors); |
| }); |
| + |
| + // Make sure to only count stats in top level frame |
| + if (window.top !== window) |
| + return; |
| + |
| + var stats = { |
| + blocked: 0 |
| + }; |
|
Wladimir Palant
2013/09/18 09:44:41
Seeing that the content script is merely used to s
|
| + ChromeCompat.runtime.onMessage.addListener(function(request, sender, sendResponse) |
| + { |
| + switch (request.reqtype) |
| + { |
| + case "get-stats": |
| + sendResponse(stats); |
| + break; |
| + case "update-stats": |
| + if (request.blocked) |
| + stats.blocked++; |
| + break; |
| + } |
| + }); |
| } |
| // In Chrome 18 the document might not be initialized yet |