From 45dfad8640a81c325c47e422ba41109816c64809 Mon Sep 17 00:00:00 2001 From: Jonas Jenwald Date: Mon, 19 Aug 2019 11:02:56 +0200 Subject: [PATCH] [TextLayer] Only cache the current `textDiv` style when `enhanceTextSelection` is enabled This will help save a little bit of memory, by not storing one unused string for each `textDiv` in regular text-selection mode. --- src/display/text_layer.js | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/src/display/text_layer.js b/src/display/text_layer.js index d0d58379d..0049b4c6e 100644 --- a/src/display/text_layer.js +++ b/src/display/text_layer.js @@ -90,8 +90,7 @@ var renderTextLayer = (function renderTextLayerClosure() { fontAscent = (1 + style.descent) * fontAscent; } - var left; - var top; + let left, top; if (angle === 0) { left = tx[4]; top = tx[5] - fontAscent; @@ -103,8 +102,12 @@ var renderTextLayer = (function renderTextLayerClosure() { styleBuf[3] = top; styleBuf[5] = fontHeight; styleBuf[7] = style.fontFamily; - textDivProperties.style = styleBuf.join(''); - textDiv.setAttribute('style', textDivProperties.style); + const styleStr = styleBuf.join(''); + + if (task._enhanceTextSelection) { + textDivProperties.style = styleStr; + } + textDiv.setAttribute('style', styleStr); textDiv.textContent = geom.str; // `fontName` is only used by the FontInspector, and we only use `dataset`