| OLD | NEW | 
|---|
| 1 /* | 1 /* | 
| 2  * This file is part of Adblock Plus <https://adblockplus.org/>, | 2  * This file is part of Adblock Plus <https://adblockplus.org/>, | 
| 3  * Copyright (C) 2006-2016 Eyeo GmbH | 3  * Copyright (C) 2006-2016 Eyeo GmbH | 
| 4  * | 4  * | 
| 5  * Adblock Plus is free software: you can redistribute it and/or modify | 5  * Adblock Plus is free software: you can redistribute it and/or modify | 
| 6  * it under the terms of the GNU General Public License version 3 as | 6  * it under the terms of the GNU General Public License version 3 as | 
| 7  * published by the Free Software Foundation. | 7  * published by the Free Software Foundation. | 
| 8  * | 8  * | 
| 9  * Adblock Plus is distributed in the hope that it will be useful, | 9  * Adblock Plus is distributed in the hope that it will be useful, | 
| 10  * but WITHOUT ANY WARRANTY; without even the implied warranty of | 10  * but WITHOUT ANY WARRANTY; without even the implied warranty of | 
| 11  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the | 11  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the | 
| 12  * GNU General Public License for more details. | 12  * GNU General Public License for more details. | 
| 13  * | 13  * | 
| 14  * You should have received a copy of the GNU General Public License | 14  * You should have received a copy of the GNU General Public License | 
| 15  * along with Adblock Plus.  If not, see <http://www.gnu.org/licenses/>. | 15  * along with Adblock Plus.  If not, see <http://www.gnu.org/licenses/>. | 
| 16  */ | 16  */ | 
| 17 | 17 | 
|  | 18 /* globals checkShareResource, getDocLink, openSharePopup, E */ | 
|  | 19 | 
| 18 "use strict"; | 20 "use strict"; | 
| 19 | 21 | 
| 20 (function() |  | 
| 21 { | 22 { | 
| 22   function onDOMLoaded() | 23   function onDOMLoaded() | 
| 23   { | 24   { | 
| 24     // Set up logo image | 25     // Set up logo image | 
| 25     var logo = E("logo"); | 26     let logo = E("logo"); | 
| 26     logo.src = "skin/abp-128.png"; | 27     logo.src = "skin/abp-128.png"; | 
| 27     var errorCallback = function() | 28     let errorCallback = function() | 
| 28     { | 29     { | 
| 29       logo.removeEventListener("error", errorCallback, false); | 30       logo.removeEventListener("error", errorCallback, false); | 
| 30       // We are probably in Chrome/Opera/Safari, the image has a different path. | 31       // We are probably in Chrome/Opera/Safari, the image has a different path. | 
| 31       logo.src = "icons/detailed/abp-128.png"; | 32       logo.src = "icons/detailed/abp-128.png"; | 
| 32     }; | 33     }; | 
| 33     logo.addEventListener("error", errorCallback, false); | 34     logo.addEventListener("error", errorCallback, false); | 
| 34 | 35 | 
| 35     // Set up URLs | 36     // Set up URLs | 
| 36     getDocLink("donate", function(link) | 37     getDocLink("donate", (link) => | 
| 37     { | 38     { | 
| 38       E("donate").href = link; | 39       E("donate").href = link; | 
| 39     }); | 40     }); | 
| 40 | 41 | 
| 41     getDocLink("contributors", function(link) | 42     getDocLink("contributors", (link) => | 
| 42     { | 43     { | 
| 43       E("contributors").href = link; | 44       E("contributors").href = link; | 
| 44     }); | 45     }); | 
| 45 | 46 | 
| 46     getDocLink("acceptable_ads_criteria", function(link) | 47     getDocLink("acceptable_ads_criteria", (link) => | 
| 47     { | 48     { | 
| 48       setLinks("acceptable-ads-explanation", link, openFilters); | 49       setLinks("acceptable-ads-explanation", link, openFilters); | 
| 49     }); | 50     }); | 
| 50 | 51 | 
| 51     getDocLink("contribute", function(link) | 52     getDocLink("contribute", (link) => | 
| 52     { | 53     { | 
| 53       setLinks("share-headline", link); | 54       setLinks("share-headline", link); | 
| 54     }); | 55     }); | 
| 55 | 56 | 
| 56     ext.backgroundPage.sendMessage({ | 57     ext.backgroundPage.sendMessage({ | 
| 57       type: "app.get", | 58       type: "app.get", | 
| 58       what: "issues" | 59       what: "issues" | 
| 59     }, function(issues) | 60     }, (issues) => | 
| 60     { | 61     { | 
| 61       // Show warning if filterlists settings were reinitialized | 62       // Show warning if filterlists settings were reinitialized | 
| 62       if (issues.filterlistsReinitialized) | 63       if (issues.filterlistsReinitialized) | 
| 63       { | 64       { | 
| 64         E("filterlistsReinitializedWarning").removeAttribute("hidden"); | 65         E("filterlistsReinitializedWarning").removeAttribute("hidden"); | 
| 65         setLinks("filterlistsReinitializedWarning", openFilters); | 66         setLinks("filterlistsReinitializedWarning", openFilters); | 
| 66       } | 67       } | 
| 67     }); | 68     }); | 
| 68 | 69 | 
| 69     updateSocialLinks(); | 70     updateSocialLinks(); | 
| 70 | 71 | 
| 71     ext.onMessage.addListener(function(message) | 72     ext.onMessage.addListener((message) => | 
| 72     { | 73     { | 
| 73       if (message.type == "subscriptions.respond") | 74       if (message.type == "subscriptions.respond") | 
| 74       { | 75       { | 
| 75         updateSocialLinks(); | 76         updateSocialLinks(); | 
| 76       } | 77       } | 
| 77     }); | 78     }); | 
| 78     ext.backgroundPage.sendMessage({ | 79     ext.backgroundPage.sendMessage({ | 
| 79       type: "subscriptions.listen", | 80       type: "subscriptions.listen", | 
| 80       filter: ["added", "removed", "updated", "disabled"] | 81       filter: ["added", "removed", "updated", "disabled"] | 
| 81     }); | 82     }); | 
| 82   } | 83   } | 
| 83 | 84 | 
| 84   function updateSocialLinks() | 85   function updateSocialLinks() | 
| 85   { | 86   { | 
| 86     var networks = ["twitter", "facebook", "gplus"]; | 87     for (let network of ["twitter", "facebook", "gplus"]) | 
| 87     networks.forEach(function(network) |  | 
| 88     { | 88     { | 
| 89       var link = E("share-" + network); | 89       let link = E("share-" + network); | 
| 90       checkShareResource(link.getAttribute("data-script"), function(isBlocked) | 90       checkShareResource(link.getAttribute("data-script"), (isBlocked) => | 
| 91       { | 91       { | 
| 92         // Don't open the share page if the sharing script would be blocked | 92         // Don't open the share page if the sharing script would be blocked | 
| 93         if (isBlocked) | 93         if (isBlocked) | 
| 94           link.removeEventListener("click", onSocialLinkClick, false); | 94           link.removeEventListener("click", onSocialLinkClick, false); | 
| 95         else | 95         else | 
| 96           link.addEventListener("click", onSocialLinkClick, false); | 96           link.addEventListener("click", onSocialLinkClick, false); | 
| 97       }); | 97       }); | 
| 98     }); | 98     } | 
| 99   } | 99   } | 
| 100 | 100 | 
| 101   function onSocialLinkClick(event) | 101   function onSocialLinkClick(event) | 
| 102   { | 102   { | 
| 103     if (window.matchMedia("(max-width: 970px)").matches) | 103     if (window.matchMedia("(max-width: 970px)").matches) | 
| 104       return; | 104       return; | 
| 105 | 105 | 
| 106     event.preventDefault(); | 106     event.preventDefault(); | 
| 107 | 107 | 
| 108     getDocLink(event.target.id, function(link) | 108     getDocLink(event.target.id, (link) => | 
| 109     { | 109     { | 
| 110       openSharePopup(link); | 110       openSharePopup(link); | 
| 111     }); | 111     }); | 
| 112   } | 112   } | 
| 113 | 113 | 
| 114   function setLinks(id) | 114   function setLinks(id, ...args) | 
| 115   { | 115   { | 
| 116     var element = E(id); | 116     let element = E(id); | 
| 117     if (!element) | 117     if (!element) | 
| 118     { | 118     { | 
| 119       return; | 119       return; | 
| 120     } | 120     } | 
| 121 | 121 | 
| 122     var links = element.getElementsByTagName("a"); | 122     let links = element.getElementsByTagName("a"); | 
| 123 | 123 | 
| 124     for (var i = 0; i < links.length; i++) | 124     for (let i = 0; i < links.length; i++) | 
| 125     { | 125     { | 
| 126       if (typeof arguments[i + 1] == "string") | 126       if (typeof args[i] == "string") | 
| 127       { | 127       { | 
| 128         links[i].href = arguments[i + 1]; | 128         links[i].href = args[i]; | 
| 129         links[i].setAttribute("target", "_blank"); | 129         links[i].setAttribute("target", "_blank"); | 
| 130       } | 130       } | 
| 131       else if (typeof arguments[i + 1] == "function") | 131       else if (typeof args[i] == "function") | 
| 132       { | 132       { | 
| 133         links[i].href = "javascript:void(0);"; | 133         links[i].href = "javascript:void(0);"; | 
| 134         links[i].addEventListener("click", arguments[i + 1], false); | 134         links[i].addEventListener("click", args[i], false); | 
| 135       } | 135       } | 
| 136     } | 136     } | 
| 137   } | 137   } | 
| 138 | 138 | 
| 139   function openFilters() | 139   function openFilters() | 
| 140   { | 140   { | 
| 141     ext.backgroundPage.sendMessage({type: "app.open", what: "options"}); | 141     ext.backgroundPage.sendMessage({type: "app.open", what: "options"}); | 
| 142   } | 142   } | 
| 143 | 143 | 
| 144   document.addEventListener("DOMContentLoaded", onDOMLoaded, false); | 144   document.addEventListener("DOMContentLoaded", onDOMLoaded, false); | 
| 145 })(); | 145 } | 
| OLD | NEW | 
|---|