From 06605abbc2a5120399dc650bf9b962e5b2a11fe9 Mon Sep 17 00:00:00 2001 From: Jonas Jenwald Date: Wed, 27 Dec 2017 13:35:18 +0100 Subject: [PATCH] Avoid rendering errors by passing in the `webGLContext` when creating a new `CanvasGraphics` in `getColorN_Pattern` (PR 9095 follow-up) This was an oversight in PR 9095, which unfortunately breaks rendering in some PDF files (e.g. the one from issue 6737). It thus appears that we don't have any test-coverage for this code-path, and given the relative complexity of the PDF files affected by this bug I wasn't able to easily create a reduced test-case. *Please note:* The linked test-case included in this patch is currently *not* rendered correctly (that'd be the PR 6606), but it at least gives us some test-coverage here. --- src/display/canvas.js | 2 +- test/pdfs/issue6737.pdf.link | 1 + test/test_manifest.json | 8 ++++++++ 3 files changed, 10 insertions(+), 1 deletion(-) create mode 100644 test/pdfs/issue6737.pdf.link diff --git a/src/display/canvas.js b/src/display/canvas.js index 108c961f4..9a75ac3a7 100644 --- a/src/display/canvas.js +++ b/src/display/canvas.js @@ -1665,7 +1665,7 @@ var CanvasGraphics = (function CanvasGraphicsClosure() { var canvasGraphicsFactory = { createCanvasGraphics: (ctx) => { return new CanvasGraphics(ctx, this.commonObjs, this.objs, - this.canvasFactory); + this.canvasFactory, this.webGLContext); }, }; pattern = new TilingPattern(IR, color, this.ctx, canvasGraphicsFactory, diff --git a/test/pdfs/issue6737.pdf.link b/test/pdfs/issue6737.pdf.link new file mode 100644 index 000000000..9535b64ee --- /dev/null +++ b/test/pdfs/issue6737.pdf.link @@ -0,0 +1 @@ +https://github.com/mozilla/pdf.js/files/55597/Florida.Industrial.MarketView.Q3.2015.pdf diff --git a/test/test_manifest.json b/test/test_manifest.json index 5b5a1764e..227f1c3a7 100644 --- a/test/test_manifest.json +++ b/test/test_manifest.json @@ -602,6 +602,14 @@ "lastPage": 1, "type": "eq" }, + { "id": "issue6737", + "file": "pdfs/issue6737.pdf", + "md5": "6f091967ad15ba63855c56049e86c68b", + "rounds": 1, + "link": true, + "lastPage": 1, + "type": "eq" + }, { "id": "issue5010", "file": "pdfs/issue5010.pdf", "md5": "419f4b13403a0871c463ec69d96e342c",