From 069ddc868699bc8b3c642dce0ec7c28b483d1968 Mon Sep 17 00:00:00 2001 From: Jonas Jenwald <jonas.jenwald@gmail.com> Date: Sun, 4 Oct 2020 20:08:52 +0200 Subject: [PATCH] [Firefox] Stop logging `RenderingCancelledException`s as errors when printing In the rest of the viewer code-base, we purposely don't treat `RenderingCancelledException`s as actual errors (since they aren't) and consequently we never log them. Hence it makes sense, as far as I'm concerned, to simply treat `RenderingCancelledException`s the same way when printing in Firefox. While I don't print a whole lot, I cannot remember seeing these "errors" logged when printing until *very* recently[1]. Given that the browser print functionality and UI, in Firefox, is under active development it's certainly possible that there's some recent changes to the related timings which make `RenderingCancelledException`s more likely now. --- [1] Interestingly, only some PDF documents seem to be affected as well; I'm able to reproduce this pretty consistently by opening https://www.uni-muenster.de/imperia/md/content/ziv/pdf/printpay_flyer.pdf in Firefox and then repeating the following sequence: Clicking on the PDF.js print button, and then cancelling printing. --- web/firefox_print_service.js | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/web/firefox_print_service.js b/web/firefox_print_service.js index 9f748985f..1fe961987 100644 --- a/web/firefox_print_service.js +++ b/web/firefox_print_service.js @@ -13,9 +13,9 @@ * limitations under the License. */ +import { RenderingCancelledException, shadow } from "pdfjs-lib"; import { CSS_UNITS } from "./ui_utils.js"; import { PDFPrintServiceFactory } from "./app.js"; -import { shadow } from "pdfjs-lib"; // Creates a placeholder with div and canvas with right size for the page. function composePage( @@ -85,8 +85,10 @@ function composePage( } obj.done(); }, - function (error) { - console.error(error); + function (reason) { + if (!(reason instanceof RenderingCancelledException)) { + console.error(reason); + } if (currentRenderTask === thisRenderTask) { currentRenderTask.cancel();