Merge pull request #14152 from Snuffleupagus/xfaFactory-typo

Fix a `xfaFaxtory` typo in the shadowing in the  `PDFDocument.xfaFactory` getter, and some other clean-up
This commit is contained in:
Tim van der Meij 2021-10-16 14:23:47 +02:00 committed by GitHub
commit 52fce0d17b
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 46 additions and 44 deletions

View File

@ -82,10 +82,11 @@ class Catalog {
get version() {
const version = this._catDict.get("Version");
if (!isName(version)) {
return shadow(this, "version", null);
}
return shadow(this, "version", version.name);
return shadow(
this,
"version",
version instanceof Name ? version.name : null
);
}
/**
@ -94,10 +95,11 @@ class Catalog {
*/
get needsRendering() {
const needsRendering = this._catDict.get("NeedsRendering");
if (!isBool(needsRendering)) {
return shadow(this, "needsRendering", false);
}
return shadow(this, "needsRendering", needsRendering);
return shadow(
this,
"needsRendering",
typeof needsRendering === "boolean" ? needsRendering : false
);
}
get collection() {

View File

@ -263,12 +263,13 @@ class Page {
}
get xfaData() {
if (this.xfaFactory) {
return shadow(this, "xfaData", {
bbox: this.xfaFactory.getBoundingBox(this.pageIndex),
});
}
return shadow(this, "xfaData", null);
return shadow(
this,
"xfaData",
this.xfaFactory
? { bbox: this.xfaFactory.getBoundingBox(this.pageIndex) }
: null
);
}
save(handler, task, annotationStorage) {
@ -784,11 +785,14 @@ class PDFDocument {
}
get numPages() {
let num = 0;
if (this.xfaFactory) {
return shadow(this, "numPages", this.xfaFactory.numberPages);
num = this.xfaFactory.numPages;
} else if (this.linearization) {
num = this.linearization.numPages;
} else {
num = this.catalog.numPages;
}
const linearization = this.linearization;
const num = linearization ? linearization.numPages : this.catalog.numPages;
return shadow(this, "numPages", num);
}
@ -883,27 +887,24 @@ class PDFDocument {
}
get xfaFactory() {
let data;
if (
this.pdfManager.enableXfa &&
this.catalog.needsRendering &&
this.formInfo.hasXfa &&
!this.formInfo.hasAcroForm
) {
const data = this.xfaData;
return shadow(this, "xfaFactory", data ? new XFAFactory(data) : null);
data = this.xfaData;
}
return shadow(this, "xfaFaxtory", null);
return shadow(this, "xfaFactory", data ? new XFAFactory(data) : null);
}
get isPureXfa() {
return this.xfaFactory && this.xfaFactory.isValid();
return this.xfaFactory ? this.xfaFactory.isValid() : false;
}
get htmlForXfa() {
if (this.xfaFactory) {
return this.xfaFactory.getPages();
}
return null;
return this.xfaFactory ? this.xfaFactory.getPages() : null;
}
async loadXfaImages() {
@ -1084,10 +1085,9 @@ class PDFDocument {
}
async serializeXfaData(annotationStorage) {
if (this.xfaFactory) {
return this.xfaFactory.serializeData(annotationStorage);
}
return null;
return this.xfaFactory
? this.xfaFactory.serializeData(annotationStorage)
: null;
}
get formInfo() {

View File

@ -54,7 +54,7 @@ class XFAFactory {
return this.dims[pageIndex];
}
get numberPages() {
get numPages() {
if (!this.pages) {
this._createPages();
}

View File

@ -86,7 +86,7 @@ describe("XFAFactory", function () {
const factory = new XFAFactory({ "xdp:xdp": xml });
factory.setFonts([]);
expect(factory.numberPages).toEqual(2);
expect(factory.numPages).toEqual(2);
const pages = factory.getPages();
const page1 = pages.children[0];
@ -174,7 +174,7 @@ describe("XFAFactory", function () {
`;
const factory = new XFAFactory({ "xdp:xdp": xml });
expect(factory.numberPages).toEqual(1);
expect(factory.numPages).toEqual(1);
const pages = factory.getPages();
const field = searchHtmlNode(pages, "name", "img");
@ -208,7 +208,7 @@ describe("XFAFactory", function () {
`;
const factory = new XFAFactory({ "xdp:xdp": xml });
expect(factory.numberPages).toEqual(1);
expect(factory.numPages).toEqual(1);
const pages = factory.getPages();
const page1 = pages.children[0];
@ -263,7 +263,7 @@ describe("XFAFactory", function () {
const factory = new XFAFactory({ "xdp:xdp": xml });
factory.setFonts([]);
expect(factory.numberPages).toEqual(1);
expect(factory.numPages).toEqual(1);
const pages = factory.getPages();
const table = searchHtmlNode(
@ -336,7 +336,7 @@ describe("XFAFactory", function () {
`;
const factory = new XFAFactory({ "xdp:xdp": xml });
expect(factory.numberPages).toEqual(1);
expect(factory.numPages).toEqual(1);
const pages = factory.getPages();
const field = searchHtmlNode(pages, "name", "input");
@ -378,7 +378,7 @@ describe("XFAFactory", function () {
`;
const factory = new XFAFactory({ "xdp:xdp": xml });
expect(factory.numberPages).toEqual(1);
expect(factory.numPages).toEqual(1);
const pages = factory.getPages();
const field = searchHtmlNode(pages, "name", "input");
@ -420,7 +420,7 @@ describe("XFAFactory", function () {
`;
const factory = new XFAFactory({ "xdp:xdp": xml });
expect(factory.numberPages).toEqual(1);
expect(factory.numPages).toEqual(1);
const pages = factory.getPages();
const field = searchHtmlNode(pages, "name", "input");
@ -463,7 +463,7 @@ describe("XFAFactory", function () {
`;
const factory = new XFAFactory({ "xdp:xdp": xml });
expect(factory.numberPages).toEqual(1);
expect(factory.numPages).toEqual(1);
const pages = factory.getPages();
const field1 = searchHtmlNode(pages, "name", "input");
@ -517,7 +517,7 @@ describe("XFAFactory", function () {
`;
const factory = new XFAFactory({ "xdp:xdp": xml });
expect(factory.numberPages).toEqual(1);
expect(factory.numPages).toEqual(1);
const pages = factory.getPages();
const field1 = searchHtmlNode(pages, "name", "input");
@ -560,7 +560,7 @@ describe("XFAFactory", function () {
// A valid, and complete, URL.
factory = new XFAFactory({ "xdp:xdp": getXml("https://www.example.com/") });
expect(factory.numberPages).toEqual(1);
expect(factory.numPages).toEqual(1);
pages = factory.getPages();
a = searchHtmlNode(pages, "name", "a");
expect(a.value).toEqual("https://www.example.com/");
@ -568,7 +568,7 @@ describe("XFAFactory", function () {
// A valid, but incomplete, URL.
factory = new XFAFactory({ "xdp:xdp": getXml("www.example.com/") });
expect(factory.numberPages).toEqual(1);
expect(factory.numPages).toEqual(1);
pages = factory.getPages();
a = searchHtmlNode(pages, "name", "a");
expect(a.value).toEqual("www.example.com/");
@ -576,7 +576,7 @@ describe("XFAFactory", function () {
// A valid email-address.
factory = new XFAFactory({ "xdp:xdp": getXml("mailto:test@example.com") });
expect(factory.numberPages).toEqual(1);
expect(factory.numPages).toEqual(1);
pages = factory.getPages();
a = searchHtmlNode(pages, "name", "a");
expect(a.value).toEqual("mailto:test@example.com");
@ -584,7 +584,7 @@ describe("XFAFactory", function () {
// Not a valid URL.
factory = new XFAFactory({ "xdp:xdp": getXml("qwerty/") });
expect(factory.numberPages).toEqual(1);
expect(factory.numPages).toEqual(1);
pages = factory.getPages();
a = searchHtmlNode(pages, "name", "a");
expect(a.value).toEqual("qwerty/");
@ -635,7 +635,7 @@ describe("XFAFactory", function () {
`;
const factory = new XFAFactory({ "xdp:xdp": xml });
expect(factory.numberPages).toEqual(1);
expect(factory.numPages).toEqual(1);
const pages = factory.getPages();
let a = searchHtmlNode(pages, "name", "a");