diff --git a/src/core/worker.js b/src/core/worker.js index 742718aad..72c381a60 100644 --- a/src/core/worker.js +++ b/src/core/worker.js @@ -574,9 +574,9 @@ var WorkerMessageHandler = { finishWorkerTask(task); pdfManager.updatePassword(data.password); pdfManagerReady(); - }).catch(function (ex) { + }).catch(function (boundException) { finishWorkerTask(task); - handler.send('PasswordException', ex); + handler.send('PasswordException', boundException); }.bind(null, e)); } else if (e instanceof InvalidPDFException) { handler.send('InvalidPDF', e); diff --git a/src/display/api.js b/src/display/api.js index ca673438b..0003b8090 100644 --- a/src/display/api.js +++ b/src/display/api.js @@ -1788,7 +1788,11 @@ var WorkerTransport = (function WorkerTransportClosure() { password, }); }; - loadingTask.onPassword(updatePassword, exception.code); + try { + loadingTask.onPassword(updatePassword, exception.code); + } catch (ex) { + this._passwordCapability.reject(ex); + } } else { this._passwordCapability.reject( new PasswordException(exception.message, exception.code));