XFA - Fix xfaLink class to make links work (bug 1735738)

There were some links not working in some XFA files,I realized that the anchor tag that contains the link has an inline display and couldn't receive any height, solved this by adding a "position: absolute". Tested with two different files in Firefox Nightly and Chrome and now all links are working perfectly fine. Added reftest to avoid future regressions
This commit is contained in:
Catherine 2021-10-18 11:28:42 -04:00
parent 52fce0d17b
commit db0b3cda8b
5 changed files with 38 additions and 2 deletions

View File

@ -291,6 +291,10 @@ var rasterizeXfaLayer = (function rasterizeXfaLayerClosure() {
file: "../web/xfa_layer_builder.css",
promise: null,
},
overrides: {
file: "./xfa_layer_builder_overrides.css",
promise: null,
},
};
function getXfaLayerStyle() {
@ -326,8 +330,8 @@ var rasterizeXfaLayer = (function rasterizeXfaLayerClosure() {
foreignObject.appendChild(div);
stylePromise
.then(async ([cssRules]) => {
style.textContent = fontRules + "\n" + cssRules;
.then(async ([common, overrides]) => {
style.textContent = fontRules + "\n" + common + "\n" + overrides;
XfaLayer.render({
xfa,

View File

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

View File

@ -6011,5 +6011,13 @@
"enableXfa": true,
"type": "eq",
"lastPage": 1
},
{ "id": "xfa_bug1735738",
"file": "pdfs/xfa_bug1735738.pdf",
"md5": "7aa91f6681798c48e0c9d9836ed30742",
"enableXfa": true,
"link": true,
"rounds": 1,
"type": "eq"
}
]

View File

@ -0,0 +1,20 @@
/* Copyright 2021 Mozilla Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
.xfaLink {
opacity: 0.2;
background: rgba(255, 255, 0, 1);
box-shadow: 0 2px 10px rgba(255, 255, 0, 1);
}

View File

@ -223,6 +223,9 @@
.xfaLink {
width: 100%;
height: 100%;
position: absolute;
top: 0;
left: 0;
}
.xfaCheckbox,