diff options
author | Ruben Rodriguez <ruben@gnu.org> | 2018-09-13 20:39:48 -0400 |
---|---|---|
committer | Ruben Rodriguez <ruben@gnu.org> | 2018-09-13 21:02:13 -0400 |
commit | d26b319fd6f98517cc3421f10bf18698b953e4d2 (patch) | |
tree | bc70c4e472a2eaf514d411dba5067d530e5bbea9 /data/extensions/spyblock@gnu.org/chrome/content/ui/common.js | |
parent | c3b304c51a3386ea09527a479a883253ea35243a (diff) |
Updated extensions list for v60
Diffstat (limited to 'data/extensions/spyblock@gnu.org/chrome/content/ui/common.js')
-rw-r--r-- | data/extensions/spyblock@gnu.org/chrome/content/ui/common.js | 154 |
1 files changed, 0 insertions, 154 deletions
diff --git a/data/extensions/spyblock@gnu.org/chrome/content/ui/common.js b/data/extensions/spyblock@gnu.org/chrome/content/ui/common.js deleted file mode 100644 index ec20ede..0000000 --- a/data/extensions/spyblock@gnu.org/chrome/content/ui/common.js +++ /dev/null @@ -1,154 +0,0 @@ -/* - * This file is part of Adblock Plus <https://adblockplus.org/>, - * Copyright (C) 2006-2017 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/>. - */ - -/* globals Components */ - -"use strict"; - -function E(id) -{ - return document.getElementById(id); -} - -function getDocLink(link, callback) -{ - ext.backgroundPage.sendMessage({ - type: "app.get", - what: "doclink", - link - }, callback); -} - -function checkShareResource(url, callback) -{ - ext.backgroundPage.sendMessage({ - type: "filters.blocked", - url, - requestType: "SCRIPT", - docDomain: "adblockplus.org", - thirdParty: true - }, callback); -} - -function openSharePopup(url) -{ - let glassPane = E("glass-pane"); - if (!glassPane) - { - glassPane = document.createElement("div"); - glassPane.setAttribute("id", "glass-pane"); - document.body.appendChild(glassPane); - } - - let iframe = E("share-popup"); - if (!iframe) - { - iframe = document.createElement("iframe"); - iframe.setAttribute("id", "share-popup"); - iframe.setAttribute("scrolling", "no"); - glassPane.appendChild(iframe); - } - - // Firefox 38+ no longer allows messaging using postMessage so we need - // to have a fake top level frame to avoid problems with scripts that try to - // communicate with the first-run page - let isGecko = ("Components" in window); - if (isGecko) - { - try - { - let Ci = Components.interfaces; - let docShell = iframe.contentWindow - .QueryInterface(Ci.nsIInterfaceRequestor) - .getInterface(Ci.nsIDocShell); - - if (typeof docShell.frameType != "undefined") - { - // Gecko 47+ - docShell.frameType = docShell.FRAME_TYPE_BROWSER; - } - else - { - // Legacy branch - docShell.setIsBrowserInsideApp( - Ci.nsIScriptSecurityManager.UNKNOWN_APP_ID - ); - } - } - catch (ex) - { - console.error(ex); - } - } - - let popupMessageReceived = false; - function resizePopup(width, height) - { - iframe.width = width; - iframe.height = height; - iframe.style.marginTop = -height / 2 + "px"; - iframe.style.marginLeft = -width / 2 + "px"; - popupMessageReceived = true; - window.removeEventListener("message", popupMessageListener); - } - - let popupMessageListener = function(event) - { - if (!/[./]adblockplus\.org$/.test(event.origin) || - !("width" in event.data) || !("height" in event.data)) - return; - - resizePopup(event.data.width, event.data.height); - }; - // Firefox requires last parameter to be true to be triggered by - // unprivileged pages - window.addEventListener("message", popupMessageListener, false, true); - - let popupLoadListener = function() - { - if (!popupMessageReceived && isGecko) - { - let rootElement = iframe.contentDocument.documentElement; - let {width, height} = rootElement.dataset; - if (width && height) - resizePopup(width, height); - } - - if (popupMessageReceived) - { - iframe.className = "visible"; - - let popupCloseListener = function() - { - iframe.className = glassPane.className = ""; - document.removeEventListener("click", popupCloseListener); - }; - document.addEventListener("click", popupCloseListener, false); - } - else - { - glassPane.className = ""; - window.removeEventListener("message", popupMessageListener); - } - - iframe.removeEventListener("load", popupLoadListener); - }; - iframe.addEventListener("load", popupLoadListener, false); - - iframe.src = url; - glassPane.className = "visible"; -} |