| Left: | ||
| Right: |
| LEFT | RIGHT |
|---|---|
| 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 1335 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 1346 | 1346 |
| 1347 function getSubscriptionFilters(subscription) | 1347 function getSubscriptionFilters(subscription) |
| 1348 { | 1348 { |
| 1349 return browser.runtime.sendMessage({ | 1349 return browser.runtime.sendMessage({ |
| 1350 type: "filters.get", | 1350 type: "filters.get", |
| 1351 subscriptionUrl: subscription.url}); | 1351 subscriptionUrl: subscription.url}); |
| 1352 } | 1352 } |
| 1353 | 1353 |
| 1354 function hidePref(key, value) | 1354 function hidePref(key, value) |
| 1355 { | 1355 { |
| 1356 let element = getPrefElement(key); | 1356 const element = getPrefElement(key); |
|
a.giammarchi
2018/03/22 18:43:28
let is OK, but why not `const` here ?
saroyanm
2018/03/22 20:43:21
Done.
| |
| 1357 if (element) | 1357 if (element) |
| 1358 element.setAttribute("aria-hidden", value); | 1358 element.setAttribute("aria-hidden", value); |
| 1359 } | 1359 } |
| 1360 | 1360 |
| 1361 function getPrefElement(key) | 1361 function getPrefElement(key) |
| 1362 { | 1362 { |
| 1363 return document.querySelector("[data-pref='" + key + "']"); | 1363 return document.querySelector("[data-pref='" + key + "']"); |
|
a.giammarchi
2018/03/22 18:43:28
out of curiosity: are keys always sanitized or som
saroyanm
2018/03/22 20:43:21
They can contain, I don't think we are sanitizing
| |
| 1364 } | 1364 } |
| 1365 | 1365 |
| 1366 function getPref(key, callback) | 1366 function getPref(key, callback) |
| 1367 { | 1367 { |
| 1368 let checkPref = getPref.checks[key] || getPref.checkNone; | 1368 let checkPref = getPref.checks[key] || getPref.checkNone; |
| 1369 checkPref((isActive) => | 1369 checkPref((isActive) => |
| 1370 { | 1370 { |
| 1371 if (!isActive) | 1371 if (!isActive) |
| 1372 { | 1372 { |
| 1373 hidePref(key, !isActive); | 1373 hidePref(key, !isActive); |
| (...skipping 75 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 1449 case "app.respond": | 1449 case "app.respond": |
| 1450 switch (message.action) | 1450 switch (message.action) |
| 1451 { | 1451 { |
| 1452 case "addSubscription": | 1452 case "addSubscription": |
| 1453 let subscription = message.args[0]; | 1453 let subscription = message.args[0]; |
| 1454 let dialog = E("dialog-content-predefined"); | 1454 let dialog = E("dialog-content-predefined"); |
| 1455 dialog.querySelector("h3").textContent = subscription.title || ""; | 1455 dialog.querySelector("h3").textContent = subscription.title || ""; |
| 1456 dialog.querySelector(".url").textContent = subscription.url; | 1456 dialog.querySelector(".url").textContent = subscription.url; |
| 1457 openDialog("predefined"); | 1457 openDialog("predefined"); |
| 1458 break; | 1458 break; |
| 1459 case "focusSection": | 1459 case "focusSection": |
|
saroyanm
2018/03/22 16:15:53
We used to set the tab view to the notifications -
| |
| 1460 let section = message.args[0]; | 1460 let section = message.args[0]; |
| 1461 if (section == "notifications") | 1461 if (section == "notifications") |
| 1462 { | 1462 { |
| 1463 section = "advanced"; | 1463 section = "advanced"; |
| 1464 let elem = getPrefElement("notifications_ignoredcategories"); | 1464 const elem = getPrefElement("notifications_ignoredcategories"); |
| 1465 elem.classList.add("highlight-animate"); | 1465 elem.classList.add("highlight-animate"); |
|
a.giammarchi
2018/03/22 18:43:28
so, in hidePref you check if elem is there before
saroyanm
2018/03/22 20:43:21
Not necessarily, because "notifications_ignoredcat
| |
| 1466 elem.querySelector("button").focus(); | 1466 elem.querySelector("button").focus(); |
| 1467 } | 1467 } |
| 1468 | 1468 |
| 1469 selectTabItem(section, document.body, false); | 1469 selectTabItem(section, document.body, false); |
| 1470 break; | 1470 break; |
| 1471 } | 1471 } |
| 1472 break; | 1472 break; |
| 1473 case "filters.respond": | 1473 case "filters.respond": |
| 1474 onFilterMessage(message.action, message.args[0]); | 1474 onFilterMessage(message.action, message.args[0]); |
| 1475 break; | 1475 break; |
| (...skipping 21 matching lines...) Expand all Loading... | |
| 1497 "ui_warn_tracking"] | 1497 "ui_warn_tracking"] |
| 1498 }); | 1498 }); |
| 1499 port.postMessage({ | 1499 port.postMessage({ |
| 1500 type: "subscriptions.listen", | 1500 type: "subscriptions.listen", |
| 1501 filter: ["added", "disabled", "homepage", "lastDownload", "removed", | 1501 filter: ["added", "disabled", "homepage", "lastDownload", "removed", |
| 1502 "title", "downloadStatus", "downloading"] | 1502 "title", "downloadStatus", "downloading"] |
| 1503 }); | 1503 }); |
| 1504 | 1504 |
| 1505 window.addEventListener("DOMContentLoaded", onDOMLoaded, false); | 1505 window.addEventListener("DOMContentLoaded", onDOMLoaded, false); |
| 1506 window.addEventListener("hashchange", onHashChange, false); | 1506 window.addEventListener("hashchange", onHashChange, false); |
| LEFT | RIGHT |