global.js 6.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140
  1. /* Copyright 2017 Mozilla Foundation
  2. *
  3. * Licensed under the Apache License, Version 2.0 (the "License");
  4. * you may not use this file except in compliance with the License.
  5. * You may obtain a copy of the License at
  6. *
  7. * http://www.apache.org/licenses/LICENSE-2.0
  8. *
  9. * Unless required by applicable law or agreed to in writing, software
  10. * distributed under the License is distributed on an "AS IS" BASIS,
  11. * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  12. * See the License for the specific language governing permissions and
  13. * limitations under the License.
  14. */
  15. 'use strict';
  16. var sharedUtil = require('../shared/util.js');
  17. var displayDOMUtils = require('./dom_utils.js');
  18. var displayAPI = require('./api.js');
  19. var displayAnnotationLayer = require('./annotation_layer.js');
  20. var displayTextLayer = require('./text_layer.js');
  21. var displayMetadata = require('./metadata.js');
  22. var displaySVG = require('./svg.js');
  23. var globalScope = sharedUtil.globalScope;
  24. var deprecated = sharedUtil.deprecated;
  25. var warn = sharedUtil.warn;
  26. var LinkTarget = displayDOMUtils.LinkTarget;
  27. var DEFAULT_LINK_REL = displayDOMUtils.DEFAULT_LINK_REL;
  28. var isWorker = typeof window === 'undefined';
  29. if (!globalScope.PDFJS) {
  30. globalScope.PDFJS = {};
  31. }
  32. var PDFJS = globalScope.PDFJS;
  33. PDFJS.version = '1.8.199';
  34. PDFJS.build = '74b31ab1';
  35. PDFJS.pdfBug = false;
  36. if (PDFJS.verbosity !== undefined) {
  37. sharedUtil.setVerbosityLevel(PDFJS.verbosity);
  38. }
  39. delete PDFJS.verbosity;
  40. Object.defineProperty(PDFJS, 'verbosity', {
  41. get: function () {
  42. return sharedUtil.getVerbosityLevel();
  43. },
  44. set: function (level) {
  45. sharedUtil.setVerbosityLevel(level);
  46. },
  47. enumerable: true,
  48. configurable: true
  49. });
  50. PDFJS.VERBOSITY_LEVELS = sharedUtil.VERBOSITY_LEVELS;
  51. PDFJS.OPS = sharedUtil.OPS;
  52. PDFJS.UNSUPPORTED_FEATURES = sharedUtil.UNSUPPORTED_FEATURES;
  53. PDFJS.isValidUrl = displayDOMUtils.isValidUrl;
  54. PDFJS.shadow = sharedUtil.shadow;
  55. PDFJS.createBlob = sharedUtil.createBlob;
  56. PDFJS.createObjectURL = function PDFJS_createObjectURL(data, contentType) {
  57. return sharedUtil.createObjectURL(data, contentType, PDFJS.disableCreateObjectURL);
  58. };
  59. Object.defineProperty(PDFJS, 'isLittleEndian', {
  60. configurable: true,
  61. get: function PDFJS_isLittleEndian() {
  62. var value = sharedUtil.isLittleEndian();
  63. return sharedUtil.shadow(PDFJS, 'isLittleEndian', value);
  64. }
  65. });
  66. PDFJS.removeNullCharacters = sharedUtil.removeNullCharacters;
  67. PDFJS.PasswordResponses = sharedUtil.PasswordResponses;
  68. PDFJS.PasswordException = sharedUtil.PasswordException;
  69. PDFJS.UnknownErrorException = sharedUtil.UnknownErrorException;
  70. PDFJS.InvalidPDFException = sharedUtil.InvalidPDFException;
  71. PDFJS.MissingPDFException = sharedUtil.MissingPDFException;
  72. PDFJS.UnexpectedResponseException = sharedUtil.UnexpectedResponseException;
  73. PDFJS.Util = sharedUtil.Util;
  74. PDFJS.PageViewport = sharedUtil.PageViewport;
  75. PDFJS.createPromiseCapability = sharedUtil.createPromiseCapability;
  76. PDFJS.maxImageSize = PDFJS.maxImageSize === undefined ? -1 : PDFJS.maxImageSize;
  77. PDFJS.cMapUrl = PDFJS.cMapUrl === undefined ? null : PDFJS.cMapUrl;
  78. PDFJS.cMapPacked = PDFJS.cMapPacked === undefined ? false : PDFJS.cMapPacked;
  79. PDFJS.disableFontFace = PDFJS.disableFontFace === undefined ? false : PDFJS.disableFontFace;
  80. PDFJS.imageResourcesPath = PDFJS.imageResourcesPath === undefined ? '' : PDFJS.imageResourcesPath;
  81. PDFJS.disableWorker = PDFJS.disableWorker === undefined ? false : PDFJS.disableWorker;
  82. PDFJS.workerSrc = PDFJS.workerSrc === undefined ? null : PDFJS.workerSrc;
  83. PDFJS.workerPort = PDFJS.workerPort === undefined ? null : PDFJS.workerPort;
  84. PDFJS.disableRange = PDFJS.disableRange === undefined ? false : PDFJS.disableRange;
  85. PDFJS.disableStream = PDFJS.disableStream === undefined ? false : PDFJS.disableStream;
  86. PDFJS.disableAutoFetch = PDFJS.disableAutoFetch === undefined ? false : PDFJS.disableAutoFetch;
  87. PDFJS.pdfBug = PDFJS.pdfBug === undefined ? false : PDFJS.pdfBug;
  88. PDFJS.postMessageTransfers = PDFJS.postMessageTransfers === undefined ? true : PDFJS.postMessageTransfers;
  89. PDFJS.disableCreateObjectURL = PDFJS.disableCreateObjectURL === undefined ? false : PDFJS.disableCreateObjectURL;
  90. PDFJS.disableWebGL = PDFJS.disableWebGL === undefined ? true : PDFJS.disableWebGL;
  91. PDFJS.externalLinkTarget = PDFJS.externalLinkTarget === undefined ? LinkTarget.NONE : PDFJS.externalLinkTarget;
  92. PDFJS.externalLinkRel = PDFJS.externalLinkRel === undefined ? DEFAULT_LINK_REL : PDFJS.externalLinkRel;
  93. PDFJS.isEvalSupported = PDFJS.isEvalSupported === undefined ? true : PDFJS.isEvalSupported;
  94. PDFJS.pdfjsNext = PDFJS.pdfjsNext === undefined ? false : PDFJS.pdfjsNext;
  95. var savedOpenExternalLinksInNewWindow = PDFJS.openExternalLinksInNewWindow;
  96. delete PDFJS.openExternalLinksInNewWindow;
  97. Object.defineProperty(PDFJS, 'openExternalLinksInNewWindow', {
  98. get: function () {
  99. return PDFJS.externalLinkTarget === LinkTarget.BLANK;
  100. },
  101. set: function (value) {
  102. if (value) {
  103. deprecated('PDFJS.openExternalLinksInNewWindow, please use ' + '"PDFJS.externalLinkTarget = PDFJS.LinkTarget.BLANK" instead.');
  104. }
  105. if (PDFJS.externalLinkTarget !== LinkTarget.NONE) {
  106. warn('PDFJS.externalLinkTarget is already initialized');
  107. return;
  108. }
  109. PDFJS.externalLinkTarget = value ? LinkTarget.BLANK : LinkTarget.NONE;
  110. },
  111. enumerable: true,
  112. configurable: true
  113. });
  114. if (savedOpenExternalLinksInNewWindow) {
  115. PDFJS.openExternalLinksInNewWindow = savedOpenExternalLinksInNewWindow;
  116. }
  117. PDFJS.getDocument = displayAPI.getDocument;
  118. PDFJS.PDFDataRangeTransport = displayAPI.PDFDataRangeTransport;
  119. PDFJS.PDFWorker = displayAPI.PDFWorker;
  120. Object.defineProperty(PDFJS, 'hasCanvasTypedArrays', {
  121. configurable: true,
  122. get: function PDFJS_hasCanvasTypedArrays() {
  123. var value = displayDOMUtils.hasCanvasTypedArrays();
  124. return sharedUtil.shadow(PDFJS, 'hasCanvasTypedArrays', value);
  125. }
  126. });
  127. PDFJS.CustomStyle = displayDOMUtils.CustomStyle;
  128. PDFJS.LinkTarget = LinkTarget;
  129. PDFJS.addLinkAttributes = displayDOMUtils.addLinkAttributes;
  130. PDFJS.getFilenameFromUrl = displayDOMUtils.getFilenameFromUrl;
  131. PDFJS.isExternalLinkTargetSet = displayDOMUtils.isExternalLinkTargetSet;
  132. PDFJS.AnnotationLayer = displayAnnotationLayer.AnnotationLayer;
  133. PDFJS.renderTextLayer = displayTextLayer.renderTextLayer;
  134. PDFJS.Metadata = displayMetadata.Metadata;
  135. PDFJS.SVGGraphics = displaySVG.SVGGraphics;
  136. PDFJS.UnsupportedManager = displayAPI._UnsupportedManager;
  137. exports.globalScope = globalScope;
  138. exports.isWorker = isWorker;
  139. exports.PDFJS = globalScope.PDFJS;