From bbe7c413d46b3b5b9a3272933810a82324ae834d Mon Sep 17 00:00:00 2001 From: Raymond Hill Date: Tue, 15 Jul 2014 18:18:13 -0700 Subject: [PATCH] Updated Tricks and tips (markdown) --- Tricks-and-tips.md | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/Tricks-and-tips.md b/Tricks-and-tips.md index 2c881b8..c51adec 100644 --- a/Tricks-and-tips.md +++ b/Tricks-and-tips.md @@ -2,7 +2,9 @@ Since version 0.2.0.0, when the popup blocker code was added, µBlock decides whether a request should be cancelled during `chrome.webRequest.onBeforeSendHeaders`. Before 0.2.0.0, the cancellation of net requests was done earlier in the pipeline, during `chrome.webRequest.onBeforeRequest`. The change was required because the popup blocker code needs the HTTP referrer header to do its job. -Net requests can be cancelled as effectively using `chrome.webRequest.onBeforeSendHeaders`, so it's not an issue. There is a side effect though, which can actually be quite useful: you can find out what another blocker does not block. Other blockers typically cancel requests during `chrome.webRequest.onBeforeRequest`, which means by the time µBlock's handler at `chrome.webRequest.onBeforeSendHeaders` time kicks in, many, if not all, net requests have been blocked by the other blocker(s). +Net requests can be cancelled as effectively using `chrome.webRequest.onBeforeSendHeaders`, so it's not an issue. There is a side effect though, which can actually be quite useful: you can find out what other blockers do not block. -So in such case, if you notice µBlock actually blocks something, it's actually everything the other blocker(s) did **not** block. Thus, µBlock can also be used to find out what other blockers are missing. +Other blockers typically cancel requests during `chrome.webRequest.onBeforeRequest`, which means by the time µBlock's handler kicks in, many, if not all, net requests have been blocked by the other blocker(s). + +So in such case, if you notice µBlock actually still ends up blocks something, it's actually everything the other blocker(s) did **not** block. Thus, µBlock can also be used to find out what other blockers are missing.