Product: WebViewer
Product Version: 7.3.* , 8.*
Please give a brief summary of your issue:
After rolling out version 92+ of Google Chrome browser WebViewer reports error “Failed to find PDF worker files. This project is not set up to work with PDF files”
Please describe your issue and provide steps to reproduce it:
The current build of our applications creates an optimized version of WebViewer for our organization. Since we only use Google Chrome and Edge Chromium the wasm and asm.js versions of the PDF SDK are excluded. The past few weeks the organization started to deploy version 92 of the browsers. Immediately after a user received this version, the WebViewer was not able to open the PDF files anymore.
When reproducing the issue locally with disableLogs: false
, i detected three warnings indication the cause;
PDFworker.js?isfull=false&disableLogs=0:46 Failed to load lean/PDFNetCWasm.br.js.mem
PDFworker.js?isfull=false&disableLogs=0:46 Failed to load lean/PDFNetCWasm.gz.js.mem
PDFworker.js?isfull=false&disableLogs=0:46 Failed to load lean/PDFNetCWasm.js
Instead of loading the available ThreadedWasm files it now attempts to load the Wasm files, which are not available in our build. Adding the Wasm files to the build resolves the error messages and restores the functionality to open PDF files. (No full regression test executed though)
Instead of loading the available ThreadedWasm files it now attempts to load the Wasm files, which are not available in our build. Adding the Wasm files to the build resolves the error messages and restores the functionality to open PDF files. (No full regression test executed though)
When opening the application in Chrome 91 the following warning was logged by the browser;
CoreControls.js:541 [Deprecation] SharedArrayBuffer will require cross-origin isolation as of M91, around May 2021. See https://developer.chrome.com/blog/enabling-shared-array-buffer/ for more details.
Since the SharedArrayBuffer has been removed in version 92, i am confident hat this is the issue. On line 541 of CoreControls the WebAssembly is loaded as in instance of the SharedArrayBuffer.
new WebAssembly.Memory({initial:1,maximum:1,shared:!0})).buffer instanceof w.SharedArrayBuffer}}c
Please provide a link to a minimal sample where the issue is reproducible: