XFA - Don't fill when the fill element is not visible (bug 1718735)

This commit is contained in:
Calixte Denizet 2021-06-30 17:13:59 +02:00
parent d88d9a2574
commit 08e08d5852
3 changed files with 12 additions and 3 deletions

View File

@ -181,7 +181,7 @@ class Arc extends XFAObject {
const edge = this.edge ? this.edge : new Edge({});
const edgeStyle = edge[$toStyle]();
const style = Object.create(null);
if (this.fill) {
if (this.fill && this.fill.presence === "visible") {
Object.assign(style, this.fill[$toStyle]());
} else {
style.fill = "transparent";
@ -631,7 +631,7 @@ class Border extends XFAObject {
Object.assign(style, this.margin[$toStyle]());
}
if (this.fill) {
if (this.fill && this.fill.presence === "visible") {
Object.assign(style, this.fill[$toStyle]());
}
@ -3918,7 +3918,7 @@ class Rectangle extends XFAObject {
: new Edge({});
const edgeStyle = edge[$toStyle]();
const style = Object.create(null);
if (this.fill) {
if (this.fill && this.fill.presence === "visible") {
Object.assign(style, this.fill[$toStyle]());
} else {
style.fill = "transparent";

View File

@ -0,0 +1 @@
https://bugzilla.mozilla.org/attachment.cgi?id=9229357

View File

@ -938,6 +938,14 @@
"lastPage": 2,
"type": "eq"
},
{ "id": "xfa_bug1718735",
"file": "pdfs/xfa_bug1718735.pdf",
"md5": "1001f5c02c026943cbd37f646725d82f",
"link": true,
"rounds": 1,
"enableXfa": true,
"type": "eq"
},
{ "id": "xfa_bug1718053",
"file": "pdfs/xfa_bug1718053.pdf",
"md5": "252d728d2c456dcb81699342a71c42ea",