1
0
Fork 0
mirror of https://github.com/mozilla/pdf.js.git synced 2025-04-21 07:38:07 +02:00

Merge pull request #9479 from Snuffleupagus/refactor-viewer-options

[api-major] Refactor viewer components initialization to reduce their dependency on the global `PDFJS` object
This commit is contained in:
Tim van der Meij 2018-02-14 22:47:33 +01:00 committed by GitHub
commit 538dda1096
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
24 changed files with 256 additions and 274 deletions

View file

@ -18,6 +18,7 @@
var WAITING_TIME = 100; // ms
var PDF_TO_CSS_UNITS = 96.0 / 72.0;
const IMAGE_RESOURCES_PATH = '/web/images/';
/**
* @class
@ -164,6 +165,7 @@ var rasterizeAnnotationLayer = (function rasterizeAnnotationLayerClosure() {
}
function rasterizeAnnotationLayer(ctx, viewport, annotations, page,
imageResourcesPath,
renderInteractiveForms) {
return new Promise(function (resolve) {
// Building SVG with size of the viewport.
@ -194,6 +196,7 @@ var rasterizeAnnotationLayer = (function rasterizeAnnotationLayerClosure() {
annotations,
page,
linkService: new PDFJS.SimpleLinkService(),
imageResourcesPath,
renderInteractiveForms,
};
PDFJS.AnnotationLayer.render(parameters);
@ -251,8 +254,7 @@ var Driver = (function DriverClosure() { // eslint-disable-line no-unused-vars
PDFJS.workerSrc = '../build/generic/build/pdf.worker.js';
PDFJS.cMapPacked = true;
PDFJS.cMapUrl = '../external/bcmaps/';
PDFJS.enableStats = true;
PDFJS.imageResourcesPath = '/web/images/';
PDFJS.pdfBug = true;
// Set the passed options
this.inflight = options.inflight;
@ -506,7 +508,9 @@ var Driver = (function DriverClosure() { // eslint-disable-line no-unused-vars
function(annotations) {
return rasterizeAnnotationLayer(annotationLayerContext,
viewport, annotations,
page, renderForms);
page,
IMAGE_RESOURCES_PATH,
renderForms);
});
} else {
annotationLayerCanvas = null;

View file

@ -13,11 +13,8 @@
* limitations under the License.
*/
import {
DOMSVGFactory, getFilenameFromUrl, isExternalLinkTargetSet, LinkTarget
} from '../../src/display/dom_utils';
import { DOMSVGFactory, getFilenameFromUrl } from '../../src/display/dom_utils';
import isNodeJS from '../../src/shared/is_node';
import { PDFJS } from '../../src/display/global';
describe('dom_utils', function() {
describe('DOMSVGFactory', function() {
@ -95,37 +92,4 @@ describe('dom_utils', function() {
expect(result).toEqual(expected);
});
});
describe('isExternalLinkTargetSet', function() {
var savedExternalLinkTarget;
beforeAll(function (done) {
savedExternalLinkTarget = PDFJS.externalLinkTarget;
done();
});
afterAll(function () {
PDFJS.externalLinkTarget = savedExternalLinkTarget;
});
it('handles the predefined LinkTargets', function() {
for (var key in LinkTarget) {
var linkTarget = LinkTarget[key];
PDFJS.externalLinkTarget = linkTarget;
expect(isExternalLinkTargetSet()).toEqual(!!linkTarget);
}
});
it('handles incorrect LinkTargets', function() {
var targets = [true, '', false, -1, '_blank', null];
for (var i = 0, ii = targets.length; i < ii; i++) {
var linkTarget = targets[i];
PDFJS.externalLinkTarget = linkTarget;
expect(isExternalLinkTargetSet()).toEqual(false);
}
});
});
});