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:
commit
538dda1096
24 changed files with 256 additions and 274 deletions
|
@ -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;
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
});
|
||||
});
|
||||
});
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue