 Issue 5138680696012800:
  Issue 616 - Enforce $generichide and $genericblock in Chrome  (Closed)
    
  
    Issue 5138680696012800:
  Issue 616 - Enforce $generichide and $genericblock in Chrome  (Closed) 
  | Index: popupBlocker.js | 
| diff --git a/popupBlocker.js b/popupBlocker.js | 
| index 2735f0a987d5d6dbdd093efe9c5d51cfaaeb3be6..62b242a58abc03b364c0d5f294b41ce078068b25 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, "GENERICBLOCK"); | 
| + | 
| + tabsLoading[details.tabId] = { | 
| + documentHost: documentHost, | 
| + specificOnly: specificOnly | 
| + }; | 
| + checkPotentialPopup(details.tabId, details.url, specificOnly, documentHost); | 
| }); | 
| 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.specificOnly, source.documentHost); | 
| + } | 
| if ("status" in changeInfo && changeInfo.status == "complete" && tab.url != "about:blank") | 
| delete tabsLoading[tabId]; | 
| }); | 
| } | 
| -function checkPotentialPopup(tabId, url, documentHost) | 
| +function checkPotentialPopup(tabId, url, specificOnly, documentHost) | 
| 
Sebastian Noack
2015/03/12 19:59:36
Nit: I'd put the documentHost first to match the s
 
kzar
2015/03/12 20:42:12
Done.
 | 
| { | 
| url = new URL(url || "about:blank"); | 
| var filter = defaultMatcher.matchesAny( | 
| stringifyURL(url), "POPUP", | 
| - documentHost, isThirdParty(url, documentHost) | 
| + documentHost, isThirdParty(url, documentHost), | 
| + undefined, specificOnly | 
| 
Sebastian Noack
2015/03/12 19:59:36
Nit: Please null instead undefined.
 
kzar
2015/03/12 20:42:12
Done.
 | 
| ); | 
| if (filter instanceof BlockingFilter) |