From 6afe3221b75d86ba97b3dae7644aabfcd58fa1c6 Mon Sep 17 00:00:00 2001 From: Jonas Jenwald Date: Thu, 22 Aug 2019 13:26:28 +0200 Subject: [PATCH 1/2] [TextLayer] Only cache the `originalTransform` when `enhanceTextSelection` is enabled Given that this is completely unused in "regular" text-selection mode, there's no reason to unconditionally store one string for every `textDiv`. --- src/display/text_layer.js | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/display/text_layer.js b/src/display/text_layer.js index 682cd40a3..7c9081117 100644 --- a/src/display/text_layer.js +++ b/src/display/text_layer.js @@ -560,7 +560,9 @@ var renderTextLayer = (function renderTextLayerClosure() { transform = `rotate(${textDivProperties.angle}deg) ${transform}`; } if (transform.length > 0) { - textDivProperties.originalTransform = transform; + if (this._enhanceTextSelection) { + textDivProperties.originalTransform = transform; + } textDiv.style.transform = transform; } this._textDivProperties.set(textDiv, textDivProperties); @@ -668,8 +670,8 @@ var renderTextLayer = (function renderTextLayerClosure() { div.style.transform = transform; } } else { - div.style.padding = 0; - div.style.transform = divProps.originalTransform || ''; + div.style.padding = null; + div.style.transform = divProps.originalTransform; } } }, From a519ceffee11f3308a37938800aa79b3aad23b1d Mon Sep 17 00:00:00 2001 From: Jonas Jenwald Date: Thu, 22 Aug 2019 13:27:09 +0200 Subject: [PATCH 2/2] [TextLayer] Use template strings when updating the font property in the `_layoutText` method --- src/display/text_layer.js | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/src/display/text_layer.js b/src/display/text_layer.js index 7c9081117..4ceb22aa2 100644 --- a/src/display/text_layer.js +++ b/src/display/text_layer.js @@ -537,14 +537,12 @@ var renderTextLayer = (function renderTextLayerClosure() { if (textDivProperties.isWhitespace) { return; } - - let fontSize = textDiv.style.fontSize; - let fontFamily = textDiv.style.fontFamily; + const { fontSize, fontFamily, } = textDiv.style; // Only build font string and set to context if different from last. if (fontSize !== this._layoutTextLastFontSize || fontFamily !== this._layoutTextLastFontFamily) { - this._layoutTextCtx.font = fontSize + ' ' + fontFamily; + this._layoutTextCtx.font = `${fontSize} ${fontFamily}`; this._layoutTextLastFontSize = fontSize; this._layoutTextLastFontFamily = fontFamily; }