1
0
mirror of https://codeberg.org/nobody/LocalCDN.git synced 2025-06-05 21:49:31 +02:00

Implemented an option to block unhandled Google Fonts requests

This commit is contained in:
nobody
2020-07-03 08:37:00 +02:00
parent eb1a34dce7
commit 8c9d5837ad
40 changed files with 320 additions and 3 deletions

View File

@@ -48,6 +48,16 @@
</div>
<div class="description-option" data-i18n-content="blockMissingDescription"></div>
</section>
<section id="block-google-fonts" class="option">
<div class="title-option">
<label class="b-contain">
<input data-option="blockGoogleFonts" type="checkbox">
<span data-i18n-content="blockGoogleFontsTitle">Block Google Fonts</span>
<div class="b-input"></div>
</label>
</div>
<div class="description-option" data-i18n-content="blockGoogleFontsDescription">If you use the rules of the rule generator, requests to "fonts.googleapis.com" are allowed to substitute "Google Material Icons" automatically. If you want to block the other requests, enable this option.</div>
</section>
<section class="option">
<div class="title-option">
<label class="b-contain">

View File

@@ -65,6 +65,7 @@ options._renderOptionsPanel = function () {
elements.whitelistedDomains.value = domainWhitelist;
elements.domainsManipulateDOM.value = domainHtmlFilter;
elements.negateHtmlFilterList.checked = options._optionValues.negateHtmlFilterList;
elements.blockGoogleFonts.checked = options._optionValues.blockGoogleFonts;
options._registerOptionChangedEventListeners(elements);
options._registerMiscellaneousEventListeners();
@@ -77,6 +78,8 @@ options._renderOptionsPanel = function () {
options._renderLocaleNotice();
}
options._displayBlockGoogleFonts(options._optionValues.blockMissing);
if(elements.negateHtmlFilterList.checked === true) {
document.getElementById('html-filter-domains-title-include').style.display = "none";
document.getElementById('html-filter-domains-title-exclude').style.display = "block";
@@ -121,6 +124,7 @@ options._registerOptionChangedEventListeners = function (elements) {
elements.whitelistedDomains.addEventListener('keyup', options._onOptionChanged);
elements.domainsManipulateDOM.addEventListener('keyup', options._onOptionChanged);
elements.negateHtmlFilterList.addEventListener('change', options._onOptionChanged);
elements.blockGoogleFonts.addEventListener('change', options._onOptionChanged);
let type = elements.ruleSets;
for(let i = 0; i < type.length; i++) {
type[i].addEventListener('change', options._openRuleSet);
@@ -172,7 +176,8 @@ options._getOptionElements = function () {
['ruleSets']: document.getElementsByName("rule-sets"),
['copyRuleSet']: document.getElementById("button-copy-rule-set"),
[Setting.NEGATE_HTML_FILTER_LIST]: options._getOptionElement(Setting.NEGATE_HTML_FILTER_LIST),
[Setting.DOMAINS_MANIPULATE_DOM]: options._getOptionElement(Setting.DOMAINS_MANIPULATE_DOM)
[Setting.DOMAINS_MANIPULATE_DOM]: options._getOptionElement(Setting.DOMAINS_MANIPULATE_DOM),
[Setting.BLOCK_GOOGLE_FONTS]: options._getOptionElement(Setting.BLOCK_GOOGLE_FONTS)
};
return optionElements;
@@ -255,8 +260,10 @@ options._onOptionChanged = function ({target}) {
if (optionValue === true) {
options._renderBlockMissingNotice();
options._displayBlockGoogleFonts(true);
} else {
options._hideBlockMissingNotice();
options._displayBlockGoogleFonts(false);
}
}
@@ -361,6 +368,13 @@ options._updatesDomainLists = function(changes) {
}
};
options._displayBlockGoogleFonts = function(value) {
if (value === true) {
document.getElementById('block-google-fonts').style.display = "none";
} else {
document.getElementById('block-google-fonts').style.display = "block";
}
};
/**
* Initializations