mirror of
https://github.com/mozilla/pdf.js.git
synced 2025-04-26 01:58:06 +02:00
Refactor the password
handling so that it's stored in the PdfManager
s, instead of in the XRef
We're already passing in a, currently unused, `PdfManager` instance when initializing the `XRef`. To avoid having to pass a single `password` parameter around, we could thus simply get the `password` through the `PdfManager` instance instead.
This commit is contained in:
parent
27513cd23b
commit
14b8523314
3 changed files with 19 additions and 16 deletions
|
@ -758,13 +758,13 @@ var Catalog = (function CatalogClosure() {
|
|||
})();
|
||||
|
||||
var XRef = (function XRefClosure() {
|
||||
function XRef(stream, password) {
|
||||
function XRef(stream, pdfManager) {
|
||||
this.stream = stream;
|
||||
this.pdfManager = pdfManager;
|
||||
this.entries = [];
|
||||
this.xrefstms = Object.create(null);
|
||||
// prepare the XRef cache
|
||||
this.cache = [];
|
||||
this.password = password;
|
||||
this.stats = {
|
||||
streamTypes: [],
|
||||
fontTypes: []
|
||||
|
@ -789,7 +789,7 @@ var XRef = (function XRefClosure() {
|
|||
trailerDict.assignXref(this);
|
||||
this.trailer = trailerDict;
|
||||
var encrypt = trailerDict.get('Encrypt');
|
||||
if (encrypt) {
|
||||
if (isDict(encrypt)) {
|
||||
var ids = trailerDict.get('ID');
|
||||
var fileId = (ids && ids.length) ? ids[0] : '';
|
||||
// The 'Encrypt' dictionary itself should not be encrypted, and by
|
||||
|
@ -798,7 +798,7 @@ var XRef = (function XRefClosure() {
|
|||
// objects (fixes issue7665.pdf).
|
||||
encrypt.suppressEncryption = true;
|
||||
this.encrypt = new CipherTransformFactory(encrypt, fileId,
|
||||
this.password);
|
||||
this.pdfManager.password);
|
||||
}
|
||||
|
||||
// get the root dictionary (catalog) object
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue