mirror of
https://github.com/mozilla/pdf.js.git
synced 2025-04-26 10:08:06 +02:00
Fixes password for range request loading
This commit is contained in:
parent
220c827e9e
commit
61a7738a5d
6 changed files with 73 additions and 29 deletions
|
@ -18,7 +18,7 @@
|
|||
MissingPDFException, PasswordException, PDFDocument, PDFJS, Promise,
|
||||
Stream, UnknownErrorException, warn, NetworkManager, LocalPdfManager,
|
||||
NetworkPdfManager, XRefParseException, NotImplementedException,
|
||||
isInt */
|
||||
isInt, PasswordResponses */
|
||||
|
||||
'use strict';
|
||||
|
||||
|
@ -267,11 +267,11 @@ var WorkerMessageHandler = {
|
|||
|
||||
var onFailure = function(e) {
|
||||
if (e instanceof PasswordException) {
|
||||
if (e.code === 'needpassword') {
|
||||
if (e.code === PasswordResponses.NEED_PASSWORD) {
|
||||
handler.send('NeedPassword', {
|
||||
exception: e
|
||||
});
|
||||
} else if (e.code === 'incorrectpassword') {
|
||||
} else if (e.code === PasswordResponses.INCORRECT_PASSWORD) {
|
||||
handler.send('IncorrectPassword', {
|
||||
exception: e
|
||||
});
|
||||
|
@ -291,10 +291,17 @@ var WorkerMessageHandler = {
|
|||
}
|
||||
};
|
||||
|
||||
getPdfManager(data).then(function() {
|
||||
loadDocument(false).then(onSuccess, function(ex) {
|
||||
getPdfManager(data).then(function pdfManagerReady() {
|
||||
loadDocument(false).then(onSuccess, function loadFailure(ex) {
|
||||
// Try again with recoveryMode == true
|
||||
if (!(ex instanceof XRefParseException)) {
|
||||
if (ex instanceof PasswordException) {
|
||||
// after password exception prepare to receive a new password
|
||||
// to repeat loading
|
||||
pdfManager.passwordChangedPromise = new Promise();
|
||||
pdfManager.passwordChangedPromise.then(pdfManagerReady);
|
||||
}
|
||||
|
||||
onFailure(ex);
|
||||
return;
|
||||
}
|
||||
|
@ -349,6 +356,10 @@ var WorkerMessageHandler = {
|
|||
});
|
||||
});
|
||||
|
||||
handler.on('UpdatePassword', function wphSetupUpdatePassword(data) {
|
||||
pdfManager.updatePassword(data);
|
||||
});
|
||||
|
||||
handler.on('GetAnnotationsRequest', function wphSetupGetAnnotations(data) {
|
||||
pdfManager.getPage(data.pageIndex).then(function(page) {
|
||||
pdfManager.ensure(page, 'getAnnotationsData', []).then(
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue