-
Notifications
You must be signed in to change notification settings - Fork 10.6k
Description
Attach (recommended) or Link to PDF file
https://github.com/mozilla/pdf.js/blob/master/test/pdfs/cmykjpeg.pdf
Web browser and its version
Firefox Nightly
Operating system and its version
Windows 11 (tested with, but shouldn't be relevant to the bug)
PDF.js version
master
Is the bug present in the latest PDF.js version?
Yes
Is a browser extension
Yes
Steps to reproduce the problem
Please note: This bug can only be reproduced in the built-in Firefox PDF Viewer.
- Open
about:configin Firefox. - Set the
pdfjs.pdfBugEnabledpreference totrue. - Open the
cmykjpeg.pdffile in Firefox. - Append
#pdfBug=allto the URL and reload the tab. - Click on the Print-button on the toolbar.
What is the expected behavior?
That the print preview displays the document, and that printing works.
What went wrong?
The print print preview shows an empty page, and the console contains:
Partitioned cookie or storage access was provided to “file:///C:/Users/Jonas/Git/pdf.js/test/pdfs/cmykjpeg.pdf#pdfBug=all” because it is loaded in the third-party context and dynamic state partitioning is enabled. debugger.mjs:190:11
Warning: Invalid absolute docBaseUrl: "file:///C:/Users/Jonas/Git/pdf.js/test/pdfs/cmykjpeg.pdf". pdf.worker.mjs:357:13
PDF 06316bb1df26984e89afa8619b8722ed [1.5 Adobe PDF library 9.90 / Adobe Illustrator CS5.1] (PDF.js: 5.5.278 [d9b81b519]) viewer.mjs:17095:13
TypeError: can't access property "width", canvas is null
CanvasDependencyTracker resource://pdf.js/build/pdf.mjs:8652
render resource://pdf.js/build/pdf.mjs:13843
mozPrintCallback resource://pdf.js/web/viewer.mjs:7625
promise callback*composePage/canvas.mozPrintCallback resource://pdf.js/web/viewer.mjs:7607
composePage resource://pdf.js/web/viewer.mjs:7600
layout resource://pdf.js/web/viewer.mjs:7692
beforePrint resource://pdf.js/web/viewer.mjs:17268
dispatch resource://pdf.js/web/viewer.mjs:1377
dispatch resource://pdf.js/web/viewer.mjs:1434
bindWindowEvents resource://pdf.js/web/viewer.mjs:17425
triggerPrinting resource://pdf.js/web/viewer.mjs:17302
dispatch resource://pdf.js/web/viewer.mjs:1377
dispatch resource://pdf.js/web/viewer.mjs:1434
bindListeners resource://pdf.js/web/viewer.mjs:15507
#bindListeners resource://pdf.js/web/viewer.mjs:15505
Toolbar resource://pdf.js/web/viewer.mjs:15439
_initializeViewerComponents resource://pdf.js/web/viewer.mjs:16449
initialize resource://pdf.js/web/viewer.mjs:16195
run resource://pdf.js/web/viewer.mjs:16513
webViewerLoad resource://pdf.js/web/viewer.mjs:18321
<anonymous> resource://pdf.js/web/viewer.mjs:18325
viewer.mjs:7634:17
Uncaught (in promise) TypeError: can't access property "cancel", currentRenderTask is null
mozPrintCallback resource://pdf.js/web/viewer.mjs:7637
promise callback*composePage/canvas.mozPrintCallback resource://pdf.js/web/viewer.mjs:7627
composePage resource://pdf.js/web/viewer.mjs:7600
layout resource://pdf.js/web/viewer.mjs:7692
beforePrint resource://pdf.js/web/viewer.mjs:17268
dispatch resource://pdf.js/web/viewer.mjs:1377
dispatch resource://pdf.js/web/viewer.mjs:1434
bindWindowEvents resource://pdf.js/web/viewer.mjs:17425
triggerPrinting resource://pdf.js/web/viewer.mjs:17302
dispatch resource://pdf.js/web/viewer.mjs:1377
dispatch resource://pdf.js/web/viewer.mjs:1434
bindListeners resource://pdf.js/web/viewer.mjs:15507
#bindListeners resource://pdf.js/web/viewer.mjs:15505
Toolbar resource://pdf.js/web/viewer.mjs:15439
_initializeViewerComponents resource://pdf.js/web/viewer.mjs:16449
initialize resource://pdf.js/web/viewer.mjs:16195
run resource://pdf.js/web/viewer.mjs:16513
webViewerLoad resource://pdf.js/web/viewer.mjs:18321
<anonymous> resource://pdf.js/web/viewer.mjs:18325
viewer.mjs:7637:9
Uncaught (in promise) TypeError: can't access property Symbol.iterator, intentState.renderTasks is undefined
_renderPageChunk resource://pdf.js/build/pdf.mjs:13986
pump resource://pdf.js/build/pdf.mjs:14026
promise callback*pump resource://pdf.js/build/pdf.mjs:14015
_pumpOperatorList resource://pdf.js/build/pdf.mjs:14049
render resource://pdf.js/build/pdf.mjs:13800
mozPrintCallback resource://pdf.js/web/viewer.mjs:7625
promise callback*composePage/canvas.mozPrintCallback resource://pdf.js/web/viewer.mjs:7607
composePage resource://pdf.js/web/viewer.mjs:7600
layout resource://pdf.js/web/viewer.mjs:7692
beforePrint resource://pdf.js/web/viewer.mjs:17268
dispatch resource://pdf.js/web/viewer.mjs:1377
dispatch resource://pdf.js/web/viewer.mjs:1434
bindWindowEvents resource://pdf.js/web/viewer.mjs:17425
triggerPrinting resource://pdf.js/web/viewer.mjs:17302
dispatch resource://pdf.js/web/viewer.mjs:1377
dispatch resource://pdf.js/web/viewer.mjs:1434
bindListeners resource://pdf.js/web/viewer.mjs:15507
#bindListeners resource://pdf.js/web/viewer.mjs:15505
Toolbar resource://pdf.js/web/viewer.mjs:15439
_initializeViewerComponents resource://pdf.js/web/viewer.mjs:16449
initialize resource://pdf.js/web/viewer.mjs:16195
run resource://pdf.js/web/viewer.mjs:16513
webViewerLoad resource://pdf.js/web/viewer.mjs:18321
<anonymous> resource://pdf.js/web/viewer.mjs:18325
pdf.mjs:13986:38
Link to a viewer
No response
Additional context
Mozregression points to https://hg-edge.mozilla.org/integration/autoland/pushloghtml?fromchange=4e9a371e2475bea317d2fd82fa8f801538bfe881&tochange=1a8fc8c7e38e93b3eccf3f344eb86477a38e584c and looking at the changelog in https://bugzilla.mozilla.org/show_bug.cgi?id=1985111#c0 combined with the error messages (see above) I'd guess that PR #19043 regressed this.
Given that debugging isn't enabled by default the impact of this should be limited, however this should still be fixed since printing ought to work even with the debugging tools active in Firefox.
/cc @nicolo-ribaudo Can you please take a look?