| 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-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 70 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 81 { | 81 { |
| 82 let access = (item.url || item.text).replace(/'/g, "\\'"); | 82 let access = (item.url || item.text).replace(/'/g, "\\'"); |
| 83 return function(container) | 83 return function(container) |
| 84 { | 84 { |
| 85 return container.querySelector("[data-access='" + access + "']"); | 85 return container.querySelector("[data-access='" + access + "']"); |
| 86 }; | 86 }; |
| 87 }; | 87 }; |
| 88 | 88 |
| 89 Collection.prototype._getItemTitle = function(item, i) | 89 Collection.prototype._getItemTitle = function(item, i) |
| 90 { | 90 { |
| 91 if (this.details[i].useSpecialization && item.specialization) |
| 92 return item.specialization; |
| 91 if (this.details[i].useOriginalTitle && item.originalTitle) | 93 if (this.details[i].useOriginalTitle && item.originalTitle) |
| 92 return item.originalTitle; | 94 return item.originalTitle; |
| 93 return item.title || item.url || item.text; | 95 return item.title || item.url || item.text; |
| 94 }; | 96 }; |
| 95 | 97 |
| 96 Collection.prototype._sortItems = function() | 98 Collection.prototype._sortItems = function() |
| 97 { | 99 { |
| 98 this.items.sort((a, b) => | 100 this.items.sort((a, b) => |
| 99 { | 101 { |
| 100 // Make sure that Acceptable Ads is always last, since it cannot be | 102 // Make sure that Acceptable Ads is always last, since it cannot be |
| (...skipping 239 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 340 } | 342 } |
| 341 | 343 |
| 342 collections.protection = new Collection([ | 344 collections.protection = new Collection([ |
| 343 { | 345 { |
| 344 id: "recommend-protection-list-table" | 346 id: "recommend-protection-list-table" |
| 345 } | 347 } |
| 346 ]); | 348 ]); |
| 347 collections.langs = new Collection([ | 349 collections.langs = new Collection([ |
| 348 { | 350 { |
| 349 id: "blocking-languages-table", | 351 id: "blocking-languages-table", |
| 350 emptyTexts: ["options_language_empty"] | 352 emptyTexts: ["options_language_empty"], |
| 353 useSpecialization: true |
| 351 } | 354 } |
| 352 ]); | 355 ]); |
| 353 collections.allLangs = new Collection([ | 356 collections.allLangs = new Collection([ |
| 354 { | 357 { |
| 355 id: "all-lang-table-add", | 358 id: "all-lang-table-add", |
| 356 emptyTexts: ["options_dialog_language_other_empty"] | 359 emptyTexts: ["options_dialog_language_other_empty"], |
| 360 useSpecialization: true |
| 357 } | 361 } |
| 358 ]); | 362 ]); |
| 359 collections.more = new Collection([ | 363 collections.more = new Collection([ |
| 360 { | 364 { |
| 361 id: "more-list-table", | 365 id: "more-list-table", |
| 362 setEmptyAction: "hide-more-filters-section", | 366 setEmptyAction: "hide-more-filters-section", |
| 363 removeEmptyAction: "show-more-filters-section" | 367 removeEmptyAction: "show-more-filters-section" |
| 364 } | 368 } |
| 365 ]); | 369 ]); |
| 366 collections.whitelist = new Collection([ | 370 collections.whitelist = new Collection([ |
| (...skipping 123 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 490 { | 494 { |
| 491 let doc = new DOMParser().parseFromString(text, "application/xml"); | 495 let doc = new DOMParser().parseFromString(text, "application/xml"); |
| 492 let elements = doc.documentElement.getElementsByTagName("subscription"); | 496 let elements = doc.documentElement.getElementsByTagName("subscription"); |
| 493 for (let element of elements) | 497 for (let element of elements) |
| 494 { | 498 { |
| 495 let type = element.getAttribute("type"); | 499 let type = element.getAttribute("type"); |
| 496 let subscription = { | 500 let subscription = { |
| 497 disabled: true, | 501 disabled: true, |
| 498 downloadStatus: null, | 502 downloadStatus: null, |
| 499 homepage: null, | 503 homepage: null, |
| 504 specialization: element.getAttribute("specialization"), |
| 500 originalTitle: element.getAttribute("title"), | 505 originalTitle: element.getAttribute("title"), |
| 501 recommended: type, | 506 recommended: type, |
| 502 url: element.getAttribute("url") | 507 url: element.getAttribute("url") |
| 503 }; | 508 }; |
| 504 | 509 |
| 505 let prefix = element.getAttribute("prefixes"); | 510 let prefix = element.getAttribute("prefixes"); |
| 506 if (prefix) | 511 if (prefix) |
| 507 { | 512 { |
| 508 prefix = prefix.replace(/\W/g, "_"); | 513 prefix = prefix.replace(/\W/g, "_"); |
| 509 subscription.title = getMessage("options_language_" + prefix); | 514 subscription.title = getMessage("options_language_" + prefix); |
| (...skipping 865 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1375 }); | 1380 }); |
| 1376 ext.backgroundPage.sendMessage({ | 1381 ext.backgroundPage.sendMessage({ |
| 1377 type: "subscriptions.listen", | 1382 type: "subscriptions.listen", |
| 1378 filter: ["added", "disabled", "homepage", "lastDownload", "removed", | 1383 filter: ["added", "disabled", "homepage", "lastDownload", "removed", |
| 1379 "title", "downloadStatus", "downloading"] | 1384 "title", "downloadStatus", "downloading"] |
| 1380 }); | 1385 }); |
| 1381 | 1386 |
| 1382 window.addEventListener("DOMContentLoaded", onDOMLoaded, false); | 1387 window.addEventListener("DOMContentLoaded", onDOMLoaded, false); |
| 1383 window.addEventListener("hashchange", onHashChange, false); | 1388 window.addEventListener("hashchange", onHashChange, false); |
| 1384 } | 1389 } |
| OLD | NEW |