| Index: include.textads.js |
| =================================================================== |
| deleted file mode 100644 |
| --- a/include.textads.js |
| +++ /dev/null |
| @@ -1,108 +0,0 @@ |
| -/* |
| - * This file is part of the Adblock Plus extension, |
| - * Copyright (C) 2006-2012 Eyeo GmbH |
| - * |
| - * Adblock Plus is free software: you can redistribute it and/or modify |
| - * it under the terms of the GNU General Public License version 3 as |
| - * published by the Free Software Foundation. |
| - * |
| - * Adblock Plus is distributed in the hope that it will be useful, |
| - * but WITHOUT ANY WARRANTY; without even the implied warranty of |
| - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
| - * GNU General Public License for more details. |
| - * |
| - * You should have received a copy of the GNU General Public License |
| - * along with Adblock Plus. If not, see <http://www.gnu.org/licenses/>. |
| - */ |
| - |
| -// Explicitly removes inline text ads, in case we were unable to block the ad script itself |
| -// in the beforeload handler. |
| -function removeTextAdFromElement(elt) { |
| - // The DOMNodeInserted hooks means we get called for #text nodes, which means localName is null. |
| - // We don't touch those |
| - if(!elt.localName) return; |
| - var keepNode; |
| - switch(elt.localName.toUpperCase()) { |
| - // AdBrite |
| - case 'ISPAN': |
| - if(elt.id.indexOf('AdBriteInlineAd_') >= 0) { |
| - keepNode = document.createTextNode(elt.id.substr('AdBriteInlineAd_'.length)); |
| - } |
| - break; |
| - |
| - // Chitika and InfoLinks |
| - case 'SPAN': |
| - var fc = elt.firstChild; |
| - if(!fc) break; |
| - if(elt.className == 'IL_AD') { |
| - keepNode = fc; |
| - } else if(fc.localName && fc.localName.toUpperCase() == 'A' && fc.className.indexOf('lx-link') >= 0) { |
| - keepNode = fc.firstChild; |
| - } |
| - break; |
| - |
| - // EchoTopic and ResultLinks |
| - case 'NOBR': |
| - var fc = elt.firstChild; |
| - if(fc && fc.nodeName != '#text' && (fc.className == 'tfTextLink' || fc.id.indexOf('RLLINK') >= 0)) { |
| - keepNode = fc.firstChild; |
| - } |
| - break; |
| - |
| - case 'A': |
| - // Some other ones, including LinkWorth, Kontera, Affinity |
| - switch(elt.className) { |
| - case 'IL_LINK_STYLE': |
| - case 'contextual': |
| - case 'lw_cad_link': |
| - case 'cm_word': |
| - keepNode = elt.firstChild; |
| - break; |
| - |
| - // Kontera really mangles the original text |
| - case 'kLink': |
| - var textNodes = elt.querySelectorAll('font > span'), text = ""; |
| - for(var i = 0; i < textNodes.length; i++) text += textNodes[i].innerHTML; |
| - keepNode = document.createTextNode(text); |
| - break; |
| - |
| - default: |
| - // IntelliTxt |
| - if(elt.hasAttribute('itxtdid')) { |
| - keepNode = elt.firstChild; |
| - break; |
| - } |
| - |
| - // Not sure if this AdBrite check is still necessary |
| - if(elt.id.indexOf('AdBriteInlineAd_') >= 0) { |
| - keepNode = document.createTextNode(elt.id.substr('AdBriteInlineAd_'.length)); |
| - break; |
| - } |
| - } |
| - break; // case 'A' |
| - } |
| - |
| - // Replace the offending node with the original content that was inside it |
| - if(keepNode) elt.parentNode.replaceChild(keepNode, elt); |
| -} |
| - |
| -chrome.extension.sendRequest({reqtype: "get-domain-enabled-state"}, function(response) { |
| - if(response.enabled && response.disableInlineTextAds) { |
| - // Listen for inserted nodes and process them as they come in |
| - var observer = new WebKitMutationObserver(function(mutations) |
| - { |
| - for (var i = 0; i < mutations.length; i++) |
| - for (var j = 0; j < mutations[i].addedNodes.length; j++) |
| - removeTextAdFromElement(mutations[i].addedNodes[j]); |
| - }); |
| - observer.observe(document.documentElement, {subtree: true, childList: true}); |
| - |
| - // However, our event handler above may not have been inserted in time, so we also scan the document. |
| - // We use setTimeout here because there is no way to ensure that we are running after the ad scripts have run. |
| - // So we hope that the delay is long enough. |
| - setTimeout(function() { |
| - var elts = document.querySelectorAll("a.IL_LINK_STYLE, a.lw_cad_link, a.cm_word, a.contextual, a.kLink, a[itxtdid], nobr, ispan, span.IL_AD"); |
| - for (var i=0; i<elts.length; i++) removeTextAdFromElement(elts[i]); |
| - }, 50); |
| - } |
| -}); |