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

Delta Between Two Patch Sets: js/desktop-options.js

Issue 29712664: Issue 6432 - Hide remove button for additional filter lists (Closed)
Left Patch Set: Version with no callback hell Created March 8, 2018, 2:20 p.m.
Right Patch Set: Reverted the colors back Created March 9, 2018, 11:25 a.m.
Left:
Right:
Use n/p to move between diff chunks; N/P to move between comments.
Jump to:
Left: Side by side diff | Download
Right: Side by side diff | Download
« no previous file with change/comment | « desktop-options.html ('k') | skin/icons/checkbox.svg » ('j') | no next file with change/comment »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
LEFTRIGHT
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-present eyeo GmbH 3 * Copyright (C) 2006-present 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
(...skipping 932 matching lines...) Expand 10 before | Expand all | Expand 10 after
943 }); 943 });
944 944
945 // Advanced tab 945 // Advanced tab
946 let customize = document.querySelectorAll("#customize li[data-pref]"); 946 let customize = document.querySelectorAll("#customize li[data-pref]");
947 customize = Array.prototype.map.call(customize, (checkbox) => 947 customize = Array.prototype.map.call(customize, (checkbox) =>
948 { 948 {
949 return checkbox.getAttribute("data-pref"); 949 return checkbox.getAttribute("data-pref");
950 }); 950 });
951 for (let key of customize) 951 for (let key of customize)
952 { 952 {
953 getHidePref(key, (value) => 953 getPref(key, (value) =>
954 { 954 {
955 onPrefMessage(key, value, true); 955 onPrefMessage(key, value, true);
956 }); 956 });
957 } 957 }
958 browser.runtime.sendMessage({ 958 browser.runtime.sendMessage({
959 type: "app.get", 959 type: "app.get",
960 what: "features" 960 what: "features"
961 }, 961 },
962 (features) => 962 (features) =>
963 { 963 {
(...skipping 159 matching lines...) Expand 10 before | Expand all | Expand 10 after
1123 } 1123 }
1124 return acceptableAdsList && acceptableAdsList.disabled == false && 1124 return acceptableAdsList && acceptableAdsList.disabled == false &&
1125 privacyList && privacyList.disabled == false; 1125 privacyList && privacyList.disabled == false;
1126 } 1126 }
1127 1127
1128 function setPrivacyConflict() 1128 function setPrivacyConflict()
1129 { 1129 {
1130 let acceptableAdsForm = E("acceptable-ads"); 1130 let acceptableAdsForm = E("acceptable-ads");
1131 if (hasPrivacyConflict()) 1131 if (hasPrivacyConflict())
1132 { 1132 {
1133 getHidePref("ui_warn_tracking", (showTrackingWarning) => 1133 getPref("ui_warn_tracking", (showTrackingWarning) =>
1134 { 1134 {
1135 acceptableAdsForm.classList.toggle("show-warning", showTrackingWarning); 1135 acceptableAdsForm.classList.toggle("show-warning", showTrackingWarning);
1136 }); 1136 });
1137 } 1137 }
1138 else 1138 else
1139 { 1139 {
1140 acceptableAdsForm.classList.remove("show-warning"); 1140 acceptableAdsForm.classList.remove("show-warning");
1141 } 1141 }
1142 } 1142 }
1143 1143
(...skipping 14 matching lines...) Expand all
1158 (subscriptions) => 1158 (subscriptions) =>
1159 { 1159 {
1160 let customFilterPromises = subscriptions.map(getSubscriptionFilters); 1160 let customFilterPromises = subscriptions.map(getSubscriptionFilters);
1161 Promise.all(customFilterPromises).then((filters) => 1161 Promise.all(customFilterPromises).then((filters) =>
1162 { 1162 {
1163 loadCustomFilters([].concat(...filters)); 1163 loadCustomFilters([].concat(...filters));
1164 isCustomFiltersLoaded = true; 1164 isCustomFiltersLoaded = true;
1165 }); 1165 });
1166 }); 1166 });
1167 loadRecommendations(); 1167 loadRecommendations();
1168 let preloadPrefs = ["subscriptions_exceptionsurl", 1168 browser.runtime.sendMessage({
1169 "subscriptions_exceptionsurl_privacy", 1169 type: "prefs.get",
1170 "additional_subscriptions"]; 1170 key: "subscriptions_exceptionsurl"
1171 getPrefs(preloadPrefs).then(prefs => 1171 },
1172 { 1172 (url) =>
1173 [acceptableAdsUrl, acceptableAdsPrivacyUrl, 1173 {
1174 additionalSubscriptions] = prefs; 1174 acceptableAdsUrl = url;
1175 1175
1176 return browser.runtime.sendMessage({ 1176 browser.runtime.sendMessage({
1177 type: "subscriptions.get", 1177 type: "prefs.get",
1178 downloadable: true 1178 key: "subscriptions_exceptionsurl_privacy"
1179 },
1180 (urlPrivacy) =>
1181 {
1182 acceptableAdsPrivacyUrl = urlPrivacy;
1183
1184 getPref("additional_subscriptions", (subscriptionUrls) =>
1185 {
1186 additionalSubscriptions = subscriptionUrls;
1187
1188 // Load user subscriptions
1189 browser.runtime.sendMessage({
1190 type: "subscriptions.get",
1191 downloadable: true
1192 },
1193 (subscriptions) =>
1194 {
1195 for (let subscription of subscriptions)
1196 onSubscriptionMessage("added", subscription);
1197
1198 setAcceptableAds();
1199 });
1200 });
1179 }); 1201 });
1180 }).then((subscriptions) =>
1181 {
1182 for (let subscription of subscriptions)
1183 onSubscriptionMessage("added", subscription);
1184
1185 setAcceptableAds();
1186 }); 1202 });
1187 } 1203 }
1188 1204
1189 function addWhitelistedDomain() 1205 function addWhitelistedDomain()
1190 { 1206 {
1191 let domain = E("whitelisting-textbox"); 1207 let domain = E("whitelisting-textbox");
1192 for (let whitelistItem of collections.whitelist.items) 1208 for (let whitelistItem of collections.whitelist.items)
1193 { 1209 {
1194 if (whitelistItem.title == domain.value) 1210 if (whitelistItem.title == domain.value)
1195 { 1211 {
(...skipping 139 matching lines...) Expand 10 before | Expand all | Expand 10 after
1335 subscriptionUrl: subscription.url}); 1351 subscriptionUrl: subscription.url});
1336 } 1352 }
1337 1353
1338 function hidePref(key, value) 1354 function hidePref(key, value)
1339 { 1355 {
1340 let element = document.querySelector("[data-pref='" + key + "']"); 1356 let element = document.querySelector("[data-pref='" + key + "']");
1341 if (element) 1357 if (element)
1342 element.setAttribute("aria-hidden", value); 1358 element.setAttribute("aria-hidden", value);
1343 } 1359 }
1344 1360
1345 function getPrefs(prefKeys) 1361 function getPref(key, callback)
1346 { 1362 {
1347 prefKeys = prefKeys.map(key => browser.runtime.sendMessage({ 1363 let checkPref = getPref.checks[key] || getPref.checkNone;
1348 type: "prefs.get", key
1349 }));
1350 return Promise.all(prefKeys);
1351 }
1352
1353 function getHidePref(key, callback)
1354 {
1355 let checkPref = getHidePref.checks[key] || getHidePref.checkNone;
1356 checkPref((isActive) => 1364 checkPref((isActive) =>
1357 { 1365 {
1358 if (!isActive) 1366 if (!isActive)
1359 { 1367 {
1360 hidePref(key, !isActive); 1368 hidePref(key, !isActive);
1361 return; 1369 return;
1362 } 1370 }
1363 1371
1364 browser.runtime.sendMessage({ 1372 browser.runtime.sendMessage({
1365 type: "prefs.get", 1373 type: "prefs.get",
1366 key 1374 key
1367 }, callback); 1375 }, callback);
1368 }); 1376 });
1369 } 1377 }
1370 1378
1371 getHidePref.checkNone = function(callback) 1379 getPref.checkNone = function(callback)
1372 { 1380 {
1373 callback(true); 1381 callback(true);
1374 }; 1382 };
1375 1383
1376 getHidePref.checks = 1384 getPref.checks =
1377 { 1385 {
1378 notifications_ignoredcategories(callback) 1386 notifications_ignoredcategories(callback)
1379 { 1387 {
1380 getHidePref("notifications_showui", callback); 1388 getPref("notifications_showui", callback);
1381 } 1389 }
1382 }; 1390 };
1383 1391
1384 function onPrefMessage(key, value, initial) 1392 function onPrefMessage(key, value, initial)
1385 { 1393 {
1386 switch (key) 1394 switch (key)
1387 { 1395 {
1388 case "notifications_ignoredcategories": 1396 case "notifications_ignoredcategories":
1389 value = value.indexOf("*") == -1; 1397 value = value.indexOf("*") == -1;
1390 break; 1398 break;
(...skipping 82 matching lines...) Expand 10 before | Expand all | Expand 10 after
1473 "ui_warn_tracking"] 1481 "ui_warn_tracking"]
1474 }); 1482 });
1475 browser.runtime.sendMessage({ 1483 browser.runtime.sendMessage({
1476 type: "subscriptions.listen", 1484 type: "subscriptions.listen",
1477 filter: ["added", "disabled", "homepage", "lastDownload", "removed", 1485 filter: ["added", "disabled", "homepage", "lastDownload", "removed",
1478 "title", "downloadStatus", "downloading"] 1486 "title", "downloadStatus", "downloading"]
1479 }); 1487 });
1480 1488
1481 window.addEventListener("DOMContentLoaded", onDOMLoaded, false); 1489 window.addEventListener("DOMContentLoaded", onDOMLoaded, false);
1482 window.addEventListener("hashchange", onHashChange, false); 1490 window.addEventListener("hashchange", onHashChange, false);
LEFTRIGHT

Powered by Google App Engine
This is Rietveld