From d5f3829f91b0e20dc366adbb2bcd495275facf73 Mon Sep 17 00:00:00 2001 From: Jonas Jenwald Date: Thu, 16 May 2024 11:42:04 +0200 Subject: [PATCH] Actually disable `TextLayerRenderTask.prototype.#processItems` when `MAX_TEXT_DIVS_TO_RENDER` is reached (PR 18089 follow-up) I broke this accidentally in PR 18089, sorry about that! Note that since `#processItems` is private we can no longer just "replace" the method as was done in PR 18052. --- src/display/text_layer.js | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/display/text_layer.js b/src/display/text_layer.js index 146020752..d69279467 100644 --- a/src/display/text_layer.js +++ b/src/display/text_layer.js @@ -192,6 +192,8 @@ function layout(params) { } class TextLayerRenderTask { + #disableProcessItems = false; + #reader = null; #textContentSource = null; @@ -278,6 +280,9 @@ class TextLayerRenderTask { } #processItems(items, lang) { + if (this.#disableProcessItems) { + return; + } if (!this._layoutTextParams.ctx) { this._textDivProperties.set(this._rootContainer, { lang }); this._layoutTextParams.ctx = getCtx(lang); @@ -291,7 +296,7 @@ class TextLayerRenderTask { if (textDivs.length > MAX_TEXT_DIVS_TO_RENDER) { warn("Ignoring additional textDivs for performance reasons."); - this._processItems = () => {}; // Avoid multiple warnings for one page. + this.#disableProcessItems = true; // Avoid multiple warnings for one page. return; }