Expand HTML entities in `title` attribute

Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/1074
This commit is contained in:
Raymond Hill 2020-05-27 06:54:11 -04:00
parent f6d664ba34
commit a974562f7e
No known key found for this signature in database
GPG Key ID: 25E1490B761470C2
1 changed files with 7 additions and 3 deletions

View File

@ -69,7 +69,7 @@ const safeTextToTagNode = function(text) {
}
};
const safeTextToTextNode = (function() {
const expandHtmlEntities = (( ) => {
const entities = new Map([
// TODO: Remove quote entities once no longer present in translation
// files. Other entities must stay.
@ -88,10 +88,14 @@ const safeTextToTextNode = (function() {
if ( text.indexOf('&') !== -1 ) {
text = text.replace(/&[a-z]+;/g, decodeEntities);
}
return document.createTextNode(text);
return text;
};
})();
const safeTextToTextNode = function(text) {
return document.createTextNode(expandHtmlEntities(text));
};
const safeTextToDOM = function(text, parent) {
if ( text === '' ) { return; }
@ -221,7 +225,7 @@ vAPI.i18n.render = function(context) {
for ( const elem of root.querySelectorAll('[data-i18n-title]') ) {
const text = vAPI.i18n(elem.getAttribute('data-i18n-title'));
if ( !text ) { continue; }
elem.setAttribute('title', text);
elem.setAttribute('title', expandHtmlEntities(text));
}
for ( const elem of root.querySelectorAll('[placeholder]') ) {