| Index: webrequest.js |
| =================================================================== |
| --- a/webrequest.js |
| +++ b/webrequest.js |
| @@ -18,6 +18,7 @@ |
| var FilterNotifier = require("filterNotifier").FilterNotifier; |
| var RegExpFilter = require("filterClasses").RegExpFilter; |
| var platform = require("info").platform; |
| +var devtools = require("devtools"); |
| ext.webRequest.getIndistinguishableTypes().forEach(function(types) |
| { |
| @@ -46,30 +47,44 @@ |
| } |
| }); |
| -function onBeforeRequestAsync(url, type, page, filter) |
| +function onBeforeRequestAsync(page, url, type, docDomain, |
| + thirdParty, key, specificOnly, |
| + filter) |
| { |
| if (filter) |
| FilterNotifier.triggerListeners("filter.hitCount", filter, 0, 0, page); |
| + |
| + if (devtools) |
| + devtools.logRequest( |
| + page, url, type, docDomain, |
| + thirdParty, key, specificOnly, |
| + filter |
| + ); |
| } |
| function onBeforeRequest(url, type, page, frame) |
| { |
| - if (isFrameWhitelisted(page, frame)) |
| + if (checkWhitelisted(page, frame)) |
| return true; |
| + var urlString = stringifyURL(url); |
| var docDomain = extractHostFromFrame(frame); |
| + var thirdParty = isThirdParty(url, docDomain); |
| var key = getKey(page, frame); |
| - var specificOnly = isFrameWhitelisted(page, frame, |
| - RegExpFilter.typeMap.GENERICBLOCK); |
| - var filter = defaultMatcher.matchesAny( |
| - stringifyURL(url), |
| - RegExpFilter.typeMap[type], docDomain, |
| - isThirdParty(url, docDomain), |
| - key, |
| - specificOnly |
| + |
| + var specificOnly = checkWhitelisted( |
| + page, frame, RegExpFilter.typeMap.GENERICBLOCK |
| ); |
| - setTimeout(onBeforeRequestAsync, 0, url, type, page, filter); |
| + var filter = defaultMatcher.matchesAny( |
| + urlString, RegExpFilter.typeMap[type], |
| + docDomain, thirdParty, key, specificOnly |
| + ); |
| + |
| + setTimeout(onBeforeRequestAsync, 0, page, urlString, |
| + type, docDomain, |
| + thirdParty, key, |
| + specificOnly, filter); |
| return !(filter instanceof BlockingFilter); |
| } |