Rietveld Code Review Tool
Help | Bug tracker | Discussion group | Source code

Unified Diff: popupBlocker.js

Issue 5138680696012800: Issue 616 - Enforce $generichide and $genericblock in Chrome (Closed)
Patch Set: Rebased onto typeMask changes Created July 14, 2015, 4:54 p.m.
Use n/p to move between diff chunks; N/P to move between comments.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « background.js ('k') | webrequest.js » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: popupBlocker.js
diff --git a/popupBlocker.js b/popupBlocker.js
index f33e381acee581b43989bbba632c10db7b73e005..1053f69b4eb186a038cfc9c5dad2dd68e050a118 100644
--- a/popupBlocker.js
+++ b/popupBlocker.js
@@ -31,8 +31,13 @@ if (require("info").platform == "chromium")
if (!documentHost)
return;
- tabsLoading[details.tabId] = documentHost;
- checkPotentialPopup(details.tabId, details.url, documentHost);
+ var specificOnly = isFrameWhitelisted(sourcePage, sourceFrame, RegExpFilter.typeMap.GENERICBLOCK);
+
+ tabsLoading[details.tabId] = {
+ documentHost: documentHost,
+ specificOnly: specificOnly
+ };
+ checkPotentialPopup(details.tabId, details.url, documentHost, specificOnly);
});
chrome.tabs.onUpdated.addListener(function(tabId, changeInfo, tab)
@@ -44,20 +49,24 @@ if (require("info").platform == "chromium")
}
if ("url" in changeInfo)
- checkPotentialPopup(tabId, tab.url, tabsLoading[tabId]);
+ {
+ var source = tabsLoading[tabId];
+ checkPotentialPopup(tabId, tab.url, source.documentHost, source.specificOnly);
+ }
if ("status" in changeInfo && changeInfo.status == "complete" && tab.url != "about:blank")
delete tabsLoading[tabId];
});
}
-function checkPotentialPopup(tabId, url, documentHost)
+function checkPotentialPopup(tabId, url, documentHost, specificOnly)
{
url = new URL(url || "about:blank");
var filter = defaultMatcher.matchesAny(
stringifyURL(url), RegExpFilter.typeMap.POPUP,
- documentHost, isThirdParty(url, documentHost)
+ documentHost, isThirdParty(url, documentHost),
+ null, specificOnly
);
if (filter instanceof BlockingFilter)
« no previous file with comments | « background.js ('k') | webrequest.js » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld