mirror of
https://github.com/node-red/node-red.git
synced 2023-10-10 13:36:53 +02:00
Avoid prototype pollution in RED.view.calculateTextDimensions
This commit is contained in:
parent
4b3f5d74a0
commit
d4a199f0e1
@ -2335,6 +2335,7 @@ RED.view = (function() {
|
||||
var textDimensionPlaceholder = {};
|
||||
var textDimensionCache = {};
|
||||
function calculateTextDimensions(str,className) {
|
||||
var cacheKey = "!"+str;
|
||||
if (!textDimensionPlaceholder[className]) {
|
||||
textDimensionPlaceholder[className] = document.createElement("span");
|
||||
textDimensionPlaceholder[className].className = className;
|
||||
@ -2343,15 +2344,15 @@ RED.view = (function() {
|
||||
document.getElementById("red-ui-editor").appendChild(textDimensionPlaceholder[className]);
|
||||
textDimensionCache[className] = {};
|
||||
} else {
|
||||
if (textDimensionCache[className][str]) {
|
||||
return textDimensionCache[className][str]
|
||||
if (textDimensionCache[className][cacheKey]) {
|
||||
return textDimensionCache[className][cacheKey]
|
||||
}
|
||||
}
|
||||
textDimensionPlaceholder[className].textContent = (str||"");
|
||||
var w = textDimensionPlaceholder[className].offsetWidth;
|
||||
var h = textDimensionPlaceholder[className].offsetHeight;
|
||||
textDimensionCache[className][str] = [w,h];
|
||||
return textDimensionCache[className][str];
|
||||
textDimensionCache[className][cacheKey] = [w,h];
|
||||
return textDimensionCache[className][cacheKey];
|
||||
}
|
||||
|
||||
function convertLineBreakCharacter(str) {
|
||||
|
Loading…
Reference in New Issue
Block a user