XFA - Correctly bind global data (bug 1718725)

This commit is contained in:
Calixte Denizet 2021-07-07 16:16:21 +02:00
parent b2b7806cab
commit 778800a53a
5 changed files with 14 additions and 16 deletions

View File

@ -25,7 +25,6 @@ import {
$getDataValue,
$getParent,
$getRealChildrenByNameIt,
$global,
$hasSettableValue,
$indexOf,
$insertAt,
@ -158,19 +157,13 @@ class Binder {
// (which is the location of global variables).
generator = this.data[$getRealChildrenByNameIt](
name,
/* allTransparent = */ false,
/* allTransparent = */ true,
/* skipConsumed = */ false
);
while (true) {
match = generator.next().value;
if (!match) {
break;
}
if (match[$global]) {
return match;
}
match = generator.next().value;
if (match) {
return match;
}
// Thirdly, try to find it in attributes.
@ -590,6 +583,7 @@ class Binder {
dataNode,
global
);
if (!found) {
break;
}

View File

@ -15,7 +15,6 @@
import {
$appendChild,
$global,
$namespaceId,
$nodeName,
$onChild,
@ -47,8 +46,6 @@ class Datasets extends XFAObject {
child[$namespaceId] === NamespaceIds.signature.id)
) {
this[name] = child;
} else {
child[$global] = true;
}
this[$appendChild](child);
}

View File

@ -51,7 +51,6 @@ const $getNextPage = Symbol();
const $getSubformParent = Symbol();
const $getParent = Symbol();
const $getTemplateRoot = Symbol();
const $global = Symbol();
const $globalData = Symbol();
const $hasSettableValue = Symbol();
const $ids = Symbol();
@ -1063,7 +1062,6 @@ export {
$getRealChildrenByNameIt,
$getSubformParent,
$getTemplateRoot,
$global,
$globalData,
$hasSettableValue,
$ids,

View File

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

View File

@ -944,6 +944,14 @@
"lastPage": 2,
"type": "eq"
},
{ "id": "xfa_bug1718725",
"file": "pdfs/xfa_bug1718725.pdf",
"md5": "09c7a599338ff75491f29a8f1f94454b",
"link": true,
"rounds": 1,
"enableXfa": true,
"type": "eq"
},
{ "id": "xfa_bug1718740",
"file": "pdfs/xfa_bug1718740.pdf",
"md5": "fab4277f2c70fd1edb35f597f5fe6819",