From 9b4efe2c2fa6c69965e9482790230a3d798522db Mon Sep 17 00:00:00 2001 From: Jonas Jenwald Date: Mon, 28 Aug 2023 16:05:11 +0200 Subject: [PATCH 1/2] Use `WeakSet.prototype.delete()` unconditionally in the `InternalRenderTask` class It's not necessary to check if an object exists before trying remove it from a `WeakSet`; see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/WeakSet/delete#return_value --- src/display/api.js | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/src/display/api.js b/src/display/api.js index d351dcbd1..3aa03f159 100644 --- a/src/display/api.js +++ b/src/display/api.js @@ -3378,10 +3378,8 @@ class InternalRenderTask { this.running = false; this.cancelled = true; this.gfx?.endDrawing(); + InternalRenderTask.#canvasInUse.delete(this._canvas); - if (this._canvas) { - InternalRenderTask.#canvasInUse.delete(this._canvas); - } this.callback( error || new RenderingCancelledException( @@ -3440,9 +3438,8 @@ class InternalRenderTask { this.running = false; if (this.operatorList.lastChunk) { this.gfx.endDrawing(this.pageColors); - if (this._canvas) { - InternalRenderTask.#canvasInUse.delete(this._canvas); - } + InternalRenderTask.#canvasInUse.delete(this._canvas); + this.callback(); } } From 1b8441dacc055e0c4469e49f7a1c71f4b5d76559 Mon Sep 17 00:00:00 2001 From: Jonas Jenwald Date: Mon, 28 Aug 2023 16:14:22 +0200 Subject: [PATCH 2/2] Don't pass in unused `pageColors` to `CanvasGraphics.endDrawing` (PR 16380 follow-up) This became unnecessary in PR 16380, however we forgot to update one of the API call-sites. --- src/display/api.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/display/api.js b/src/display/api.js index 3aa03f159..9030e0743 100644 --- a/src/display/api.js +++ b/src/display/api.js @@ -3437,7 +3437,7 @@ class InternalRenderTask { if (this.operatorListIdx === this.operatorList.argsArray.length) { this.running = false; if (this.operatorList.lastChunk) { - this.gfx.endDrawing(this.pageColors); + this.gfx.endDrawing(); InternalRenderTask.#canvasInUse.delete(this._canvas); this.callback();