Rietveld Code Review Tool
Help | Bug tracker | Discussion group | Source code

Side by Side Diff: firstRun.js

Issue 29349840: Issue 4294 - Removed feature section from first-run page (Closed)
Patch Set: Created Aug. 16, 2016, 9:59 a.m.
Left:
Right:
Use n/p to move between diff chunks; N/P to move between comments.
Jump to:
View unified diff | Download patch
OLDNEW
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 "use strict"; 18 "use strict";
19 19
20 (function() 20 (function()
21 { 21 {
22 // Load subscriptions for features
23 var featureSubscriptions = [
24 {
25 feature: "malware",
26 homepage: "http://malwaredomains.com/",
27 title: "Malware Domains",
28 url: "https://easylist-downloads.adblockplus.org/malwaredomains_full.txt"
29 },
30 {
31 feature: "social",
32 homepage: "https://www.fanboy.co.nz/",
33 title: "Fanboy's Social Blocking List",
34 url: "https://easylist-downloads.adblockplus.org/fanboy-social.txt"
35 },
36 {
37 feature: "tracking",
38 homepage: "https://easylist.adblockplus.org/",
39 title: "EasyPrivacy",
40 url: "https://easylist-downloads.adblockplus.org/easyprivacy.txt"
41 }
42 ];
43
44 function onDOMLoaded() 22 function onDOMLoaded()
45 { 23 {
46 // Set up logo image 24 // Set up logo image
47 var logo = E("logo"); 25 var logo = E("logo");
48 logo.src = "skin/abp-128.png"; 26 logo.src = "skin/abp-128.png";
49 var errorCallback = function() 27 var errorCallback = function()
50 { 28 {
51 logo.removeEventListener("error", errorCallback, false); 29 logo.removeEventListener("error", errorCallback, false);
52 // We are probably in Chrome/Opera/Safari, the image has a different path. 30 // We are probably in Chrome/Opera/Safari, the image has a different path.
53 logo.src = "icons/detailed/abp-128.png"; 31 logo.src = "icons/detailed/abp-128.png";
(...skipping 30 matching lines...) Expand all
84 if (issues.filterlistsReinitialized) 62 if (issues.filterlistsReinitialized)
85 { 63 {
86 E("filterlistsReinitializedWarning").removeAttribute("hidden"); 64 E("filterlistsReinitializedWarning").removeAttribute("hidden");
87 setLinks("filterlistsReinitializedWarning", openFilters); 65 setLinks("filterlistsReinitializedWarning", openFilters);
88 } 66 }
89 67
90 if (issues.legacySafariVersion) 68 if (issues.legacySafariVersion)
91 E("legacySafariWarning").removeAttribute("hidden"); 69 E("legacySafariWarning").removeAttribute("hidden");
92 }); 70 });
93 71
94 // Set up feature buttons linked to subscriptions
95 featureSubscriptions.forEach(initToggleSubscriptionButton);
96 updateToggleButtons();
97 updateSocialLinks(); 72 updateSocialLinks();
98 73
99 ext.onMessage.addListener(function(message) 74 ext.onMessage.addListener(function(message)
100 { 75 {
101 if (message.type == "subscriptions.respond") 76 if (message.type == "subscriptions.respond")
102 { 77 {
103 updateToggleButtons();
104 updateSocialLinks(); 78 updateSocialLinks();
105 } 79 }
106 }); 80 });
107 ext.backgroundPage.sendMessage({ 81 ext.backgroundPage.sendMessage({
108 type: "subscriptions.listen", 82 type: "subscriptions.listen",
109 filter: ["added", "removed", "updated", "disabled"] 83 filter: ["added", "removed", "updated", "disabled"]
110 }); 84 });
111 } 85 }
112 86
113 function initToggleSubscriptionButton(featureSubscription)
114 {
115 var feature = featureSubscription.feature;
116
117 var element = E("toggle-" + feature);
118 element.addEventListener("click", function(event)
119 {
120 ext.backgroundPage.sendMessage({
121 type: "subscriptions.toggle",
122 url: featureSubscription.url,
123 title: featureSubscription.title,
124 homepage: featureSubscription.homepage
125 });
126 }, false);
127 }
128
129 function updateSocialLinks() 87 function updateSocialLinks()
130 { 88 {
131 var networks = ["twitter", "facebook", "gplus"]; 89 var networks = ["twitter", "facebook", "gplus"];
132 networks.forEach(function(network) 90 networks.forEach(function(network)
133 { 91 {
134 var link = E("share-" + network); 92 var link = E("share-" + network);
135 checkShareResource(link.getAttribute("data-script"), function(isBlocked) 93 checkShareResource(link.getAttribute("data-script"), function(isBlocked)
136 { 94 {
137 // Don't open the share page if the sharing script would be blocked 95 // Don't open the share page if the sharing script would be blocked
138 if (isBlocked) 96 if (isBlocked)
(...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after
179 links[i].addEventListener("click", arguments[i + 1], false); 137 links[i].addEventListener("click", arguments[i + 1], false);
180 } 138 }
181 } 139 }
182 } 140 }
183 141
184 function openFilters() 142 function openFilters()
185 { 143 {
186 ext.backgroundPage.sendMessage({type: "app.open", what: "options"}); 144 ext.backgroundPage.sendMessage({type: "app.open", what: "options"});
187 } 145 }
188 146
189 function updateToggleButtons()
190 {
191 ext.backgroundPage.sendMessage({
192 type: "subscriptions.get",
193 downloadable: true,
194 ignoreDisabled: true
195 }, function(subscriptions)
196 {
197 var known = Object.create(null);
198 for (var i = 0; i < subscriptions.length; i++)
199 known[subscriptions[i].url] = true;
200 for (var i = 0; i < featureSubscriptions.length; i++)
201 {
202 var featureSubscription = featureSubscriptions[i];
203 updateToggleButton(featureSubscription.feature, featureSubscription.url in known);
204 }
205 });
206 }
207
208 function updateToggleButton(feature, isEnabled)
209 {
210 var button = E("toggle-" + feature);
211 if (isEnabled)
212 button.classList.remove("off");
213 else
214 button.classList.add("off");
215 }
216
217 document.addEventListener("DOMContentLoaded", onDOMLoaded, false); 147 document.addEventListener("DOMContentLoaded", onDOMLoaded, false);
218 })(); 148 })();
OLDNEW

Powered by Google App Engine
This is Rietveld