| 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() | 22 (function() | 
| 21 { | 23 { | 
| 22   function onDOMLoaded() | 24   function onDOMLoaded() | 
| 23   { | 25   { | 
| 24     // Set up logo image | 26     // Set up logo image | 
| 25     var logo = E("logo"); | 27     let logo = E("logo"); | 
| 26     logo.src = "skin/abp-128.png"; | 28     logo.src = "skin/abp-128.png"; | 
| 27     var errorCallback = function() | 29     let errorCallback = function() | 
| 28     { | 30     { | 
| 29       logo.removeEventListener("error", errorCallback, false); | 31       logo.removeEventListener("error", errorCallback, false); | 
| 30       // We are probably in Chrome/Opera/Safari, the image has a different path. | 32       // We are probably in Chrome/Opera/Safari, the image has a different path. | 
| 31       logo.src = "icons/detailed/abp-128.png"; | 33       logo.src = "icons/detailed/abp-128.png"; | 
| 32     }; | 34     }; | 
| 33     logo.addEventListener("error", errorCallback, false); | 35     logo.addEventListener("error", errorCallback, false); | 
| 34 | 36 | 
| 35     // Set up URLs | 37     // Set up URLs | 
| 36     getDocLink("donate", function(link) | 38     getDocLink("donate", (link) => | 
| 37     { | 39     { | 
| 38       E("donate").href = link; | 40       E("donate").href = link; | 
| 39     }); | 41     }); | 
| 40 | 42 | 
| 41     getDocLink("contributors", function(link) | 43     getDocLink("contributors", (link) => | 
| 42     { | 44     { | 
| 43       E("contributors").href = link; | 45       E("contributors").href = link; | 
| 44     }); | 46     }); | 
| 45 | 47 | 
| 46     getDocLink("acceptable_ads_criteria", function(link) | 48     getDocLink("acceptable_ads_criteria", (link) => | 
| 47     { | 49     { | 
| 48       setLinks("acceptable-ads-explanation", link, openFilters); | 50       setLinks("acceptable-ads-explanation", link, openFilters); | 
| 49     }); | 51     }); | 
| 50 | 52 | 
| 51     getDocLink("contribute", function(link) | 53     getDocLink("contribute", (link) => | 
| 52     { | 54     { | 
| 53       setLinks("share-headline", link); | 55       setLinks("share-headline", link); | 
| 54     }); | 56     }); | 
| 55 | 57 | 
| 56     ext.backgroundPage.sendMessage({ | 58     ext.backgroundPage.sendMessage({ | 
| 57       type: "app.get", | 59       type: "app.get", | 
| 58       what: "issues" | 60       what: "issues" | 
| 59     }, function(issues) | 61     }, (issues) => | 
| 60     { | 62     { | 
| 61       // Show warning if filterlists settings were reinitialized | 63       // Show warning if filterlists settings were reinitialized | 
| 62       if (issues.filterlistsReinitialized) | 64       if (issues.filterlistsReinitialized) | 
| 63       { | 65       { | 
| 64         E("filterlistsReinitializedWarning").removeAttribute("hidden"); | 66         E("filterlistsReinitializedWarning").removeAttribute("hidden"); | 
| 65         setLinks("filterlistsReinitializedWarning", openFilters); | 67         setLinks("filterlistsReinitializedWarning", openFilters); | 
| 66       } | 68       } | 
| 67     }); | 69     }); | 
| 68 | 70 | 
| 69     updateSocialLinks(); | 71     updateSocialLinks(); | 
| 70 | 72 | 
| 71     ext.onMessage.addListener(function(message) | 73     ext.onMessage.addListener((message) => | 
| 72     { | 74     { | 
| 73       if (message.type == "subscriptions.respond") | 75       if (message.type == "subscriptions.respond") | 
| 74       { | 76       { | 
| 75         updateSocialLinks(); | 77         updateSocialLinks(); | 
| 76       } | 78       } | 
| 77     }); | 79     }); | 
| 78     ext.backgroundPage.sendMessage({ | 80     ext.backgroundPage.sendMessage({ | 
| 79       type: "subscriptions.listen", | 81       type: "subscriptions.listen", | 
| 80       filter: ["added", "removed", "updated", "disabled"] | 82       filter: ["added", "removed", "updated", "disabled"] | 
| 81     }); | 83     }); | 
| 82   } | 84   } | 
| 83 | 85 | 
| 84   function updateSocialLinks() | 86   function updateSocialLinks() | 
| 85   { | 87   { | 
| 86     var networks = ["twitter", "facebook", "gplus"]; | 88     for (let network of ["twitter", "facebook", "gplus"]) | 
| 87     networks.forEach(function(network) |  | 
| 88     { | 89     { | 
| 89       var link = E("share-" + network); | 90       let link = E("share-" + network); | 
| 90       checkShareResource(link.getAttribute("data-script"), function(isBlocked) | 91       checkShareResource(link.getAttribute("data-script"), (isBlocked) => | 
| 91       { | 92       { | 
| 92         // Don't open the share page if the sharing script would be blocked | 93         // Don't open the share page if the sharing script would be blocked | 
| 93         if (isBlocked) | 94         if (isBlocked) | 
| 94           link.removeEventListener("click", onSocialLinkClick, false); | 95           link.removeEventListener("click", onSocialLinkClick, false); | 
| 95         else | 96         else | 
| 96           link.addEventListener("click", onSocialLinkClick, false); | 97           link.addEventListener("click", onSocialLinkClick, false); | 
| 97       }); | 98       }); | 
| 98     }); | 99     } | 
| 99   } | 100   } | 
| 100 | 101 | 
| 101   function onSocialLinkClick(event) | 102   function onSocialLinkClick(event) | 
| 102   { | 103   { | 
| 103     if (window.matchMedia("(max-width: 970px)").matches) | 104     if (window.matchMedia("(max-width: 970px)").matches) | 
| 104       return; | 105       return; | 
| 105 | 106 | 
| 106     event.preventDefault(); | 107     event.preventDefault(); | 
| 107 | 108 | 
| 108     getDocLink(event.target.id, function(link) | 109     getDocLink(event.target.id, (link) => | 
| 109     { | 110     { | 
| 110       openSharePopup(link); | 111       openSharePopup(link); | 
| 111     }); | 112     }); | 
| 112   } | 113   } | 
| 113 | 114 | 
| 114   function setLinks(id) | 115   function setLinks(id, ...args) | 
| 115   { | 116   { | 
| 116     var element = E(id); | 117     let element = E(id); | 
| 117     if (!element) | 118     if (!element) | 
| 118     { | 119     { | 
| 119       return; | 120       return; | 
| 120     } | 121     } | 
| 121 | 122 | 
| 122     var links = element.getElementsByTagName("a"); | 123     let links = element.getElementsByTagName("a"); | 
| 123 | 124 | 
| 124     for (var i = 0; i < links.length; i++) | 125     for (let i = 0; i < links.length; i++) | 
| 125     { | 126     { | 
| 126       if (typeof arguments[i + 1] == "string") | 127       if (typeof args[i] == "string") | 
| 127       { | 128       { | 
| 128         links[i].href = arguments[i + 1]; | 129         links[i].href = args[i]; | 
| 129         links[i].setAttribute("target", "_blank"); | 130         links[i].setAttribute("target", "_blank"); | 
| 130       } | 131       } | 
| 131       else if (typeof arguments[i + 1] == "function") | 132       else if (typeof args[i] == "function") | 
| 132       { | 133       { | 
| 133         links[i].href = "javascript:void(0);"; | 134         links[i].href = "javascript:void(0);"; | 
| 134         links[i].addEventListener("click", arguments[i + 1], false); | 135         links[i].addEventListener("click", args[i], false); | 
| 135       } | 136       } | 
| 136     } | 137     } | 
| 137   } | 138   } | 
| 138 | 139 | 
| 139   function openFilters() | 140   function openFilters() | 
| 140   { | 141   { | 
| 141     ext.backgroundPage.sendMessage({type: "app.open", what: "options"}); | 142     ext.backgroundPage.sendMessage({type: "app.open", what: "options"}); | 
| 142   } | 143   } | 
| 143 | 144 | 
| 144   document.addEventListener("DOMContentLoaded", onDOMLoaded, false); | 145   document.addEventListener("DOMContentLoaded", onDOMLoaded, false); | 
| 145 })(); | 146 }()); | 
| OLD | NEW | 
|---|