pdfjs-dist 2.0.550 → 2.3.200

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of pdfjs-dist might be problematic. Click here for more details.

Files changed (168) hide show
  1. package/CODE_OF_CONDUCT.md +15 -0
  2. package/bower.json +1 -1
  3. package/build/pdf.js +21618 -14369
  4. package/build/pdf.js.map +1 -1
  5. package/build/pdf.min.js +1 -1
  6. package/build/pdf.worker.js +22758 -11399
  7. package/build/pdf.worker.js.map +1 -1
  8. package/build/pdf.worker.min.js +1 -1
  9. package/image_decoders/pdf.image_decoders.js +11500 -0
  10. package/image_decoders/pdf.image_decoders.js.map +1 -0
  11. package/image_decoders/pdf.image_decoders.min.js +1 -0
  12. package/lib/core/annotation.js +767 -258
  13. package/lib/core/arithmetic_decoder.js +275 -245
  14. package/lib/core/bidi.js +65 -6
  15. package/lib/core/ccitt.js +173 -18
  16. package/lib/core/ccitt_stream.js +15 -6
  17. package/lib/core/cff_parser.js +433 -61
  18. package/lib/core/charsets.js +5 -4
  19. package/lib/core/chunked_stream.js +428 -157
  20. package/lib/core/cmap.js +326 -87
  21. package/lib/core/colorspace.js +874 -594
  22. package/lib/core/core_utils.js +173 -0
  23. package/lib/core/crypto.js +290 -45
  24. package/lib/core/document.js +575 -272
  25. package/lib/core/encodings.js +19 -10
  26. package/lib/core/evaluator.js +1032 -351
  27. package/lib/core/font_renderer.js +331 -97
  28. package/lib/core/fonts.js +813 -196
  29. package/lib/core/function.js +253 -27
  30. package/lib/core/glyphlist.js +5 -3
  31. package/lib/core/image.js +169 -62
  32. package/lib/core/image_utils.js +111 -0
  33. package/lib/core/jbig2.js +502 -72
  34. package/lib/core/jbig2_stream.js +19 -8
  35. package/lib/core/jpeg_stream.js +38 -13
  36. package/lib/core/jpg.js +293 -52
  37. package/lib/core/jpx.js +419 -12
  38. package/lib/core/jpx_stream.js +18 -6
  39. package/lib/core/metrics.js +15 -15
  40. package/lib/core/murmurhash3.js +56 -34
  41. package/lib/core/obj.js +1368 -500
  42. package/lib/core/operator_list.js +159 -43
  43. package/lib/core/parser.js +544 -199
  44. package/lib/core/pattern.js +170 -21
  45. package/lib/core/pdf_manager.js +324 -134
  46. package/lib/core/primitives.js +169 -61
  47. package/lib/core/ps_parser.js +134 -45
  48. package/lib/core/standard_fonts.js +17 -17
  49. package/lib/core/stream.js +327 -34
  50. package/lib/core/type1_parser.js +148 -8
  51. package/lib/core/unicode.js +32 -5
  52. package/lib/core/worker.js +215 -229
  53. package/lib/core/worker_stream.js +277 -0
  54. package/lib/display/annotation_layer.js +618 -192
  55. package/lib/display/api.js +1798 -882
  56. package/lib/display/api_compatibility.js +5 -10
  57. package/lib/display/canvas.js +366 -45
  58. package/lib/display/content_disposition.js +71 -24
  59. package/lib/display/display_utils.js +777 -0
  60. package/lib/display/fetch_stream.js +205 -87
  61. package/lib/display/font_loader.js +468 -236
  62. package/lib/display/metadata.js +38 -16
  63. package/lib/display/network.js +635 -428
  64. package/lib/display/network_utils.js +38 -19
  65. package/lib/display/node_stream.js +367 -175
  66. package/lib/display/pattern_helper.js +103 -36
  67. package/lib/display/svg.js +1232 -519
  68. package/lib/display/text_layer.js +208 -75
  69. package/lib/display/transport_stream.js +345 -94
  70. package/lib/display/webgl.js +64 -18
  71. package/lib/display/worker_options.js +5 -4
  72. package/lib/display/xml_parser.js +166 -53
  73. package/lib/examples/node/domstubs.js +60 -4
  74. package/lib/pdf.js +35 -14
  75. package/lib/pdf.worker.js +5 -3
  76. package/lib/shared/compatibility.js +170 -572
  77. package/lib/shared/global_scope.js +2 -2
  78. package/lib/shared/is_node.js +4 -4
  79. package/lib/shared/message_handler.js +216 -163
  80. package/lib/shared/streams_polyfill.js +21 -17
  81. package/lib/shared/util.js +495 -385
  82. package/lib/test/unit/annotation_spec.js +1464 -401
  83. package/lib/test/unit/api_spec.js +718 -361
  84. package/lib/test/unit/bidi_spec.js +7 -7
  85. package/lib/test/unit/cff_parser_spec.js +54 -11
  86. package/lib/test/unit/clitests_helper.js +9 -10
  87. package/lib/test/unit/cmap_spec.js +95 -41
  88. package/lib/test/unit/colorspace_spec.js +115 -63
  89. package/lib/test/unit/core_utils_spec.js +191 -0
  90. package/lib/test/unit/crypto_spec.js +17 -5
  91. package/lib/test/unit/custom_spec.js +43 -55
  92. package/lib/test/unit/display_svg_spec.js +34 -18
  93. package/lib/test/unit/display_utils_spec.js +273 -0
  94. package/lib/test/unit/document_spec.js +8 -13
  95. package/lib/test/unit/encodings_spec.js +25 -45
  96. package/lib/test/unit/evaluator_spec.js +59 -20
  97. package/lib/test/unit/fetch_stream_spec.js +111 -0
  98. package/lib/test/unit/function_spec.js +17 -5
  99. package/lib/test/unit/jasmine-boot.js +33 -20
  100. package/lib/test/unit/message_handler_spec.js +30 -13
  101. package/lib/test/unit/metadata_spec.js +71 -11
  102. package/lib/test/unit/murmurhash3_spec.js +3 -3
  103. package/lib/test/unit/network_spec.js +22 -55
  104. package/lib/test/unit/network_utils_spec.js +105 -14
  105. package/lib/test/unit/node_stream_spec.js +58 -34
  106. package/lib/test/unit/parser_spec.js +162 -71
  107. package/lib/test/unit/pdf_find_controller_spec.js +230 -0
  108. package/lib/test/unit/pdf_find_utils_spec.js +63 -0
  109. package/lib/test/unit/pdf_history_spec.js +21 -9
  110. package/lib/test/unit/primitives_spec.js +55 -22
  111. package/lib/test/unit/stream_spec.js +12 -4
  112. package/lib/test/unit/test_utils.js +273 -56
  113. package/lib/test/unit/testreporter.js +21 -3
  114. package/lib/test/unit/type1_parser_spec.js +9 -7
  115. package/lib/test/unit/ui_utils_spec.js +236 -36
  116. package/lib/test/unit/unicode_spec.js +18 -15
  117. package/lib/test/unit/util_spec.js +87 -128
  118. package/lib/web/annotation_layer_builder.js +39 -22
  119. package/lib/web/app.js +1252 -609
  120. package/lib/web/app_options.js +103 -65
  121. package/lib/web/base_viewer.js +522 -242
  122. package/lib/web/chromecom.js +259 -117
  123. package/lib/web/debugger.js +166 -22
  124. package/lib/web/download_manager.js +31 -12
  125. package/lib/web/firefox_print_service.js +27 -14
  126. package/lib/web/firefoxcom.js +318 -78
  127. package/lib/web/genericcom.js +89 -30
  128. package/lib/web/genericl10n.js +142 -30
  129. package/lib/web/grab_to_pan.js +28 -4
  130. package/lib/web/interfaces.js +174 -47
  131. package/lib/web/overlay_manager.js +235 -85
  132. package/lib/web/password_prompt.js +22 -14
  133. package/lib/web/pdf_attachment_viewer.js +38 -18
  134. package/lib/web/pdf_cursor_tools.js +39 -16
  135. package/lib/web/pdf_document_properties.js +255 -136
  136. package/lib/web/pdf_find_bar.js +84 -40
  137. package/lib/web/pdf_find_controller.js +495 -184
  138. package/lib/web/pdf_find_utils.js +111 -0
  139. package/lib/web/pdf_history.js +190 -53
  140. package/lib/web/pdf_link_service.js +144 -79
  141. package/lib/web/pdf_outline_viewer.js +124 -47
  142. package/lib/web/pdf_page_view.js +194 -74
  143. package/lib/web/pdf_presentation_mode.js +99 -34
  144. package/lib/web/pdf_print_service.js +59 -13
  145. package/lib/web/pdf_rendering_queue.js +28 -9
  146. package/lib/web/pdf_sidebar.js +144 -81
  147. package/lib/web/pdf_sidebar_resizer.js +42 -16
  148. package/lib/web/pdf_single_page_viewer.js +74 -66
  149. package/lib/web/pdf_thumbnail_view.js +104 -33
  150. package/lib/web/pdf_thumbnail_viewer.js +66 -26
  151. package/lib/web/pdf_viewer.component.js +112 -32
  152. package/lib/web/pdf_viewer.js +82 -87
  153. package/lib/web/preferences.js +284 -91
  154. package/lib/web/secondary_toolbar.js +132 -59
  155. package/lib/web/text_layer_builder.js +134 -59
  156. package/lib/web/toolbar.js +80 -43
  157. package/lib/web/ui_utils.js +400 -134
  158. package/lib/web/view_history.js +215 -67
  159. package/lib/web/viewer_compatibility.js +3 -8
  160. package/package.json +3 -2
  161. package/web/pdf_viewer.css +23 -15
  162. package/web/pdf_viewer.js +3429 -1245
  163. package/web/pdf_viewer.js.map +1 -1
  164. package/external/streams/streams-lib.js +0 -3962
  165. package/lib/display/dom_utils.js +0 -429
  166. package/lib/test/unit/dom_utils_spec.js +0 -89
  167. package/lib/test/unit/fonts_spec.js +0 -81
  168. package/lib/web/dom_events.js +0 -137
@@ -2,7 +2,7 @@
2
2
  * @licstart The following is the entire license notice for the
3
3
  * Javascript code in this page
4
4
  *
5
- * Copyright 2017 Mozilla Foundation
5
+ * Copyright 2019 Mozilla Foundation
6
6
  *
7
7
  * Licensed under the Apache License, Version 2.0 (the "License");
8
8
  * you may not use this file except in compliance with the License.
@@ -19,103 +19,164 @@
19
19
  * @licend The above is the entire license notice for the
20
20
  * Javascript code in this page
21
21
  */
22
- 'use strict';
22
+ "use strict";
23
23
 
24
24
  Object.defineProperty(exports, "__esModule", {
25
25
  value: true
26
26
  });
27
- exports.build = exports.version = exports.setPDFNetworkStreamFactory = exports.PDFPageProxy = exports.PDFDocumentProxy = exports.PDFWorker = exports.PDFDataRangeTransport = exports.LoopbackPort = exports.getDocument = undefined;
27
+ exports.getDocument = getDocument;
28
+ exports.setPDFNetworkStreamFactory = setPDFNetworkStreamFactory;
29
+ exports.build = exports.version = exports.PDFPageProxy = exports.PDFDocumentProxy = exports.PDFWorker = exports.PDFDataRangeTransport = exports.LoopbackPort = void 0;
28
30
 
29
- var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
31
+ var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
30
32
 
31
- var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; };
33
+ var _util = require("../shared/util");
32
34
 
33
- var _util = require('../shared/util');
35
+ var _display_utils = require("./display_utils");
34
36
 
35
- var _dom_utils = require('./dom_utils');
37
+ var _font_loader = require("./font_loader");
36
38
 
37
- var _font_loader = require('./font_loader');
39
+ var _api_compatibility = require("./api_compatibility");
38
40
 
39
- var _api_compatibility = require('./api_compatibility');
41
+ var _canvas = require("./canvas");
40
42
 
41
- var _canvas = require('./canvas');
43
+ var _global_scope = _interopRequireDefault(require("../shared/global_scope"));
42
44
 
43
- var _global_scope = require('../shared/global_scope');
45
+ var _worker_options = require("./worker_options");
44
46
 
45
- var _global_scope2 = _interopRequireDefault(_global_scope);
47
+ var _message_handler = require("../shared/message_handler");
46
48
 
47
- var _worker_options = require('./worker_options');
49
+ var _metadata = require("./metadata");
48
50
 
49
- var _message_handler = require('../shared/message_handler');
51
+ var _transport_stream = require("./transport_stream");
50
52
 
51
- var _metadata = require('./metadata');
53
+ var _webgl = require("./webgl");
52
54
 
53
- var _transport_stream = require('./transport_stream');
55
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
54
56
 
55
- var _webgl = require('./webgl');
57
+ function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
56
58
 
57
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
59
+ function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
60
+
61
+ function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest(); }
62
+
63
+ function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance"); }
64
+
65
+ function _iterableToArrayLimit(arr, i) { if (!(Symbol.iterator in Object(arr) || Object.prototype.toString.call(arr) === "[object Arguments]")) { return; } var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
66
+
67
+ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
68
+
69
+ function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _nonIterableSpread(); }
70
+
71
+ function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance"); }
72
+
73
+ function _iterableToArray(iter) { if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === "[object Arguments]") return Array.from(iter); }
74
+
75
+ function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } }
58
76
 
59
77
  function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
60
78
 
79
+ function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
80
+
81
+ function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
82
+
83
+ function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
84
+
61
85
  var DEFAULT_RANGE_CHUNK_SIZE = 65536;
86
+ var RENDERING_CANCELLED_TIMEOUT = 100;
62
87
  var isWorkerDisabled = false;
63
- var workerSrc = void 0;
64
- var pdfjsFilePath = typeof document !== 'undefined' && document.currentScript ? document.currentScript.src : null;
88
+ var fallbackWorkerSrc;
65
89
  var fakeWorkerFilesLoader = null;
66
- var useRequireEnsure = false;
67
90
  {
91
+ var useRequireEnsure = false;
92
+
68
93
  if (typeof window === 'undefined') {
69
94
  isWorkerDisabled = true;
95
+
70
96
  if (typeof require.ensure === 'undefined') {
71
97
  require.ensure = require('node-ensure');
72
98
  }
99
+
73
100
  useRequireEnsure = true;
74
101
  } else if (typeof require !== 'undefined' && typeof require.ensure === 'function') {
75
102
  useRequireEnsure = true;
76
103
  }
104
+
77
105
  if (typeof requirejs !== 'undefined' && requirejs.toUrl) {
78
- workerSrc = requirejs.toUrl('pdfjs-dist/build/pdf.worker.js');
106
+ fallbackWorkerSrc = requirejs.toUrl('pdfjs-dist/build/pdf.worker.js');
79
107
  }
108
+
80
109
  var dynamicLoaderSupported = typeof requirejs !== 'undefined' && requirejs.load;
81
- fakeWorkerFilesLoader = useRequireEnsure ? function (callback) {
82
- require.ensure([], function () {
83
- var worker;
84
- worker = require('../pdf.worker.js');
85
- callback(worker.WorkerMessageHandler);
110
+ fakeWorkerFilesLoader = useRequireEnsure ? function () {
111
+ return new Promise(function (resolve, reject) {
112
+ require.ensure([], function () {
113
+ try {
114
+ var worker;
115
+ worker = require('../pdf.worker.js');
116
+ resolve(worker.WorkerMessageHandler);
117
+ } catch (ex) {
118
+ reject(ex);
119
+ }
120
+ }, reject, 'pdfjsWorker');
86
121
  });
87
- } : dynamicLoaderSupported ? function (callback) {
88
- requirejs(['pdfjs-dist/build/pdf.worker'], function (worker) {
89
- callback(worker.WorkerMessageHandler);
122
+ } : dynamicLoaderSupported ? function () {
123
+ return new Promise(function (resolve, reject) {
124
+ requirejs(['pdfjs-dist/build/pdf.worker'], function (worker) {
125
+ try {
126
+ resolve(worker.WorkerMessageHandler);
127
+ } catch (ex) {
128
+ reject(ex);
129
+ }
130
+ }, reject);
90
131
  });
91
132
  } : null;
133
+
134
+ if (!fallbackWorkerSrc && (typeof document === "undefined" ? "undefined" : _typeof(document)) === 'object' && 'currentScript' in document) {
135
+ var pdfjsFilePath = document.currentScript && document.currentScript.src;
136
+
137
+ if (pdfjsFilePath) {
138
+ fallbackWorkerSrc = pdfjsFilePath.replace(/(\.(?:min\.)?js)(\?.*)?$/i, '.worker$1$2');
139
+ }
140
+ }
92
141
  }
93
142
  var createPDFNetworkStream;
143
+
94
144
  function setPDFNetworkStreamFactory(pdfNetworkStreamFactory) {
95
145
  createPDFNetworkStream = pdfNetworkStreamFactory;
96
146
  }
147
+
97
148
  function getDocument(src) {
98
149
  var task = new PDFDocumentLoadingTask();
99
150
  var source;
151
+
100
152
  if (typeof src === 'string') {
101
- source = { url: src };
153
+ source = {
154
+ url: src
155
+ };
102
156
  } else if ((0, _util.isArrayBuffer)(src)) {
103
- source = { data: src };
157
+ source = {
158
+ data: src
159
+ };
104
160
  } else if (src instanceof PDFDataRangeTransport) {
105
- source = { range: src };
161
+ source = {
162
+ range: src
163
+ };
106
164
  } else {
107
- if ((typeof src === 'undefined' ? 'undefined' : _typeof(src)) !== 'object') {
165
+ if (_typeof(src) !== 'object') {
108
166
  throw new Error('Invalid parameter in getDocument, ' + 'need either Uint8Array, string or a parameter object');
109
167
  }
168
+
110
169
  if (!src.url && !src.data && !src.range) {
111
170
  throw new Error('Invalid parameter object: need either .data, .range or .url');
112
171
  }
172
+
113
173
  source = src;
114
174
  }
175
+
115
176
  var params = Object.create(null);
116
- var rangeTransport = null;
117
- var worker = null;
118
- var CMapReaderFactory = _dom_utils.DOMCMapReaderFactory;
177
+ var rangeTransport = null,
178
+ worker = null;
179
+
119
180
  for (var key in source) {
120
181
  if (key === 'url' && typeof window !== 'undefined') {
121
182
  params[key] = new URL(source[key], window.location).href;
@@ -128,79 +189,90 @@ function getDocument(src) {
128
189
  continue;
129
190
  } else if (key === 'data' && !(source[key] instanceof Uint8Array)) {
130
191
  var pdfBytes = source[key];
192
+
131
193
  if (typeof pdfBytes === 'string') {
132
194
  params[key] = (0, _util.stringToBytes)(pdfBytes);
133
- } else if ((typeof pdfBytes === 'undefined' ? 'undefined' : _typeof(pdfBytes)) === 'object' && pdfBytes !== null && !isNaN(pdfBytes.length)) {
195
+ } else if (_typeof(pdfBytes) === 'object' && pdfBytes !== null && !isNaN(pdfBytes.length)) {
134
196
  params[key] = new Uint8Array(pdfBytes);
135
197
  } else if ((0, _util.isArrayBuffer)(pdfBytes)) {
136
198
  params[key] = new Uint8Array(pdfBytes);
137
199
  } else {
138
200
  throw new Error('Invalid PDF binary data: either typed array, ' + 'string or array-like object is expected in the ' + 'data property.');
139
201
  }
140
- continue;
141
- } else if (key === 'CMapReaderFactory') {
142
- CMapReaderFactory = source[key];
202
+
143
203
  continue;
144
204
  }
205
+
145
206
  params[key] = source[key];
146
207
  }
208
+
147
209
  params.rangeChunkSize = params.rangeChunkSize || DEFAULT_RANGE_CHUNK_SIZE;
210
+ params.CMapReaderFactory = params.CMapReaderFactory || _display_utils.DOMCMapReaderFactory;
148
211
  params.ignoreErrors = params.stopAtErrors !== true;
149
212
  params.pdfBug = params.pdfBug === true;
150
213
  var NativeImageDecoderValues = Object.values(_util.NativeImageDecoding);
214
+
151
215
  if (params.nativeImageDecoderSupport === undefined || !NativeImageDecoderValues.includes(params.nativeImageDecoderSupport)) {
152
216
  params.nativeImageDecoderSupport = _api_compatibility.apiCompatibilityParams.nativeImageDecoderSupport || _util.NativeImageDecoding.DECODE;
153
217
  }
218
+
154
219
  if (!Number.isInteger(params.maxImageSize)) {
155
220
  params.maxImageSize = -1;
156
221
  }
222
+
157
223
  if (typeof params.isEvalSupported !== 'boolean') {
158
224
  params.isEvalSupported = true;
159
225
  }
226
+
160
227
  if (typeof params.disableFontFace !== 'boolean') {
161
228
  params.disableFontFace = _api_compatibility.apiCompatibilityParams.disableFontFace || false;
162
229
  }
230
+
163
231
  if (typeof params.disableRange !== 'boolean') {
164
- params.disableRange = _api_compatibility.apiCompatibilityParams.disableRange || false;
232
+ params.disableRange = false;
165
233
  }
234
+
166
235
  if (typeof params.disableStream !== 'boolean') {
167
- params.disableStream = _api_compatibility.apiCompatibilityParams.disableStream || false;
236
+ params.disableStream = false;
168
237
  }
238
+
169
239
  if (typeof params.disableAutoFetch !== 'boolean') {
170
240
  params.disableAutoFetch = false;
171
241
  }
242
+
172
243
  if (typeof params.disableCreateObjectURL !== 'boolean') {
173
244
  params.disableCreateObjectURL = _api_compatibility.apiCompatibilityParams.disableCreateObjectURL || false;
174
245
  }
246
+
175
247
  (0, _util.setVerbosityLevel)(params.verbosity);
248
+
176
249
  if (!worker) {
177
250
  var workerParams = {
178
- postMessageTransfers: params.postMessageTransfers,
179
- verbosity: params.verbosity
251
+ verbosity: params.verbosity,
252
+ port: _worker_options.GlobalWorkerOptions.workerPort
180
253
  };
181
- var workerPort = _worker_options.GlobalWorkerOptions.workerPort;
182
- if (workerPort) {
183
- workerParams.port = workerPort;
184
- worker = PDFWorker.fromPort(workerParams);
185
- } else {
186
- worker = new PDFWorker(workerParams);
187
- }
254
+ worker = workerParams.port ? PDFWorker.fromPort(workerParams) : new PDFWorker(workerParams);
188
255
  task._worker = worker;
189
256
  }
257
+
190
258
  var docId = task.docId;
191
259
  worker.promise.then(function () {
192
260
  if (task.destroyed) {
193
261
  throw new Error('Loading aborted');
194
262
  }
263
+
195
264
  return _fetchDocument(worker, params, rangeTransport, docId).then(function (workerId) {
196
265
  if (task.destroyed) {
197
266
  throw new Error('Loading aborted');
198
267
  }
199
- var networkStream = void 0;
268
+
269
+ var networkStream;
270
+
200
271
  if (rangeTransport) {
201
272
  networkStream = new _transport_stream.PDFDataTransportStream({
202
273
  length: params.length,
203
274
  initialData: params.initialData,
275
+ progressiveDone: params.progressiveDone,
204
276
  disableRange: params.disableRange,
205
277
  disableStream: params.disableStream
206
278
  }, rangeTransport);
@@ -215,26 +287,31 @@ function getDocument(src) {
215
287
  disableStream: params.disableStream
216
288
  });
217
289
  }
290
+
218
291
  var messageHandler = new _message_handler.MessageHandler(docId, workerId, worker.port);
219
292
  messageHandler.postMessageTransfers = worker.postMessageTransfers;
220
- var transport = new WorkerTransport(messageHandler, task, networkStream, params, CMapReaderFactory);
293
+ var transport = new WorkerTransport(messageHandler, task, networkStream, params);
221
294
  task._transport = transport;
222
295
  messageHandler.send('Ready', null);
223
296
  });
224
- }).catch(task._capability.reject);
297
+ })["catch"](task._capability.reject);
225
298
  return task;
226
299
  }
300
+
227
301
  function _fetchDocument(worker, source, pdfDataRangeTransport, docId) {
228
302
  if (worker.destroyed) {
229
303
  return Promise.reject(new Error('Worker was destroyed'));
230
304
  }
305
+
231
306
  if (pdfDataRangeTransport) {
232
307
  source.length = pdfDataRangeTransport.length;
233
308
  source.initialData = pdfDataRangeTransport.initialData;
309
+ source.progressiveDone = pdfDataRangeTransport.progressiveDone;
234
310
  }
311
+
235
312
  return worker.messageHandler.sendWithPromise('GetDocRequest', {
236
313
  docId: docId,
237
- apiVersion: '2.0.550',
314
+ apiVersion: '2.3.200',
238
315
  source: {
239
316
  data: source.data,
240
317
  url: source.url,
@@ -255,175 +332,388 @@ function _fetchDocument(worker, source, pdfDataRangeTransport, docId) {
255
332
  if (worker.destroyed) {
256
333
  throw new Error('Worker was destroyed');
257
334
  }
335
+
258
336
  return workerId;
259
337
  });
260
338
  }
339
+
261
340
  var PDFDocumentLoadingTask = function PDFDocumentLoadingTaskClosure() {
262
341
  var nextDocumentId = 0;
263
- function PDFDocumentLoadingTask() {
264
- this._capability = (0, _util.createPromiseCapability)();
265
- this._transport = null;
266
- this._worker = null;
267
- this.docId = 'd' + nextDocumentId++;
268
- this.destroyed = false;
269
- this.onPassword = null;
270
- this.onProgress = null;
271
- this.onUnsupportedFeature = null;
272
- }
273
- PDFDocumentLoadingTask.prototype = {
274
- get promise() {
275
- return this._capability.promise;
276
- },
277
- destroy: function destroy() {
278
- var _this = this;
279
342
 
280
- this.destroyed = true;
281
- var transportDestroyed = !this._transport ? Promise.resolve() : this._transport.destroy();
282
- return transportDestroyed.then(function () {
283
- _this._transport = null;
284
- if (_this._worker) {
285
- _this._worker.destroy();
286
- _this._worker = null;
287
- }
288
- });
289
- },
343
+ var PDFDocumentLoadingTask =
344
+ /*#__PURE__*/
345
+ function () {
346
+ function PDFDocumentLoadingTask() {
347
+ _classCallCheck(this, PDFDocumentLoadingTask);
290
348
 
291
- then: function PDFDocumentLoadingTask_then(onFulfilled, onRejected) {
292
- return this.promise.then.apply(this.promise, arguments);
349
+ this._capability = (0, _util.createPromiseCapability)();
350
+ this._transport = null;
351
+ this._worker = null;
352
+ this.docId = 'd' + nextDocumentId++;
353
+ this.destroyed = false;
354
+ this.onPassword = null;
355
+ this.onProgress = null;
356
+ this.onUnsupportedFeature = null;
293
357
  }
294
- };
358
+
359
+ _createClass(PDFDocumentLoadingTask, [{
360
+ key: "destroy",
361
+ value: function destroy() {
362
+ var _this = this;
363
+
364
+ this.destroyed = true;
365
+ var transportDestroyed = !this._transport ? Promise.resolve() : this._transport.destroy();
366
+ return transportDestroyed.then(function () {
367
+ _this._transport = null;
368
+
369
+ if (_this._worker) {
370
+ _this._worker.destroy();
371
+
372
+ _this._worker = null;
373
+ }
374
+ });
375
+ }
376
+ }, {
377
+ key: "then",
378
+ value: function then(onFulfilled, onRejected) {
379
+ (0, _display_utils.deprecated)('PDFDocumentLoadingTask.then method, ' + 'use the `promise` getter instead.');
380
+ return this.promise.then.apply(this.promise, arguments);
381
+ }
382
+ }, {
383
+ key: "promise",
384
+ get: function get() {
385
+ return this._capability.promise;
386
+ }
387
+ }]);
388
+
389
+ return PDFDocumentLoadingTask;
390
+ }();
391
+
295
392
  return PDFDocumentLoadingTask;
296
393
  }();
297
- var PDFDataRangeTransport = function pdfDataRangeTransportClosure() {
394
+
395
+ var PDFDataRangeTransport =
396
+ /*#__PURE__*/
397
+ function () {
298
398
  function PDFDataRangeTransport(length, initialData) {
399
+ var progressiveDone = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
400
+
401
+ _classCallCheck(this, PDFDataRangeTransport);
402
+
299
403
  this.length = length;
300
404
  this.initialData = initialData;
405
+ this.progressiveDone = progressiveDone;
301
406
  this._rangeListeners = [];
302
407
  this._progressListeners = [];
303
408
  this._progressiveReadListeners = [];
409
+ this._progressiveDoneListeners = [];
304
410
  this._readyCapability = (0, _util.createPromiseCapability)();
305
411
  }
306
- PDFDataRangeTransport.prototype = {
307
- addRangeListener: function PDFDataRangeTransport_addRangeListener(listener) {
412
+
413
+ _createClass(PDFDataRangeTransport, [{
414
+ key: "addRangeListener",
415
+ value: function addRangeListener(listener) {
308
416
  this._rangeListeners.push(listener);
309
- },
310
- addProgressListener: function PDFDataRangeTransport_addProgressListener(listener) {
417
+ }
418
+ }, {
419
+ key: "addProgressListener",
420
+ value: function addProgressListener(listener) {
311
421
  this._progressListeners.push(listener);
312
- },
313
- addProgressiveReadListener: function PDFDataRangeTransport_addProgressiveReadListener(listener) {
422
+ }
423
+ }, {
424
+ key: "addProgressiveReadListener",
425
+ value: function addProgressiveReadListener(listener) {
314
426
  this._progressiveReadListeners.push(listener);
315
- },
316
- onDataRange: function PDFDataRangeTransport_onDataRange(begin, chunk) {
317
- var listeners = this._rangeListeners;
318
- for (var i = 0, n = listeners.length; i < n; ++i) {
319
- listeners[i](begin, chunk);
427
+ }
428
+ }, {
429
+ key: "addProgressiveDoneListener",
430
+ value: function addProgressiveDoneListener(listener) {
431
+ this._progressiveDoneListeners.push(listener);
432
+ }
433
+ }, {
434
+ key: "onDataRange",
435
+ value: function onDataRange(begin, chunk) {
436
+ var _iteratorNormalCompletion = true;
437
+ var _didIteratorError = false;
438
+ var _iteratorError = undefined;
439
+
440
+ try {
441
+ for (var _iterator = this._rangeListeners[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
442
+ var listener = _step.value;
443
+ listener(begin, chunk);
444
+ }
445
+ } catch (err) {
446
+ _didIteratorError = true;
447
+ _iteratorError = err;
448
+ } finally {
449
+ try {
450
+ if (!_iteratorNormalCompletion && _iterator["return"] != null) {
451
+ _iterator["return"]();
452
+ }
453
+ } finally {
454
+ if (_didIteratorError) {
455
+ throw _iteratorError;
456
+ }
457
+ }
320
458
  }
321
- },
322
- onDataProgress: function PDFDataRangeTransport_onDataProgress(loaded) {
459
+ }
460
+ }, {
461
+ key: "onDataProgress",
462
+ value: function onDataProgress(loaded, total) {
323
463
  var _this2 = this;
324
464
 
325
465
  this._readyCapability.promise.then(function () {
326
- var listeners = _this2._progressListeners;
327
- for (var i = 0, n = listeners.length; i < n; ++i) {
328
- listeners[i](loaded);
466
+ var _iteratorNormalCompletion2 = true;
467
+ var _didIteratorError2 = false;
468
+ var _iteratorError2 = undefined;
469
+
470
+ try {
471
+ for (var _iterator2 = _this2._progressListeners[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) {
472
+ var listener = _step2.value;
473
+ listener(loaded, total);
474
+ }
475
+ } catch (err) {
476
+ _didIteratorError2 = true;
477
+ _iteratorError2 = err;
478
+ } finally {
479
+ try {
480
+ if (!_iteratorNormalCompletion2 && _iterator2["return"] != null) {
481
+ _iterator2["return"]();
482
+ }
483
+ } finally {
484
+ if (_didIteratorError2) {
485
+ throw _iteratorError2;
486
+ }
487
+ }
329
488
  }
330
489
  });
331
- },
332
- onDataProgressiveRead: function PDFDataRangeTransport_onDataProgress(chunk) {
490
+ }
491
+ }, {
492
+ key: "onDataProgressiveRead",
493
+ value: function onDataProgressiveRead(chunk) {
333
494
  var _this3 = this;
334
495
 
335
496
  this._readyCapability.promise.then(function () {
336
- var listeners = _this3._progressiveReadListeners;
337
- for (var i = 0, n = listeners.length; i < n; ++i) {
338
- listeners[i](chunk);
497
+ var _iteratorNormalCompletion3 = true;
498
+ var _didIteratorError3 = false;
499
+ var _iteratorError3 = undefined;
500
+
501
+ try {
502
+ for (var _iterator3 = _this3._progressiveReadListeners[Symbol.iterator](), _step3; !(_iteratorNormalCompletion3 = (_step3 = _iterator3.next()).done); _iteratorNormalCompletion3 = true) {
503
+ var listener = _step3.value;
504
+ listener(chunk);
505
+ }
506
+ } catch (err) {
507
+ _didIteratorError3 = true;
508
+ _iteratorError3 = err;
509
+ } finally {
510
+ try {
511
+ if (!_iteratorNormalCompletion3 && _iterator3["return"] != null) {
512
+ _iterator3["return"]();
513
+ }
514
+ } finally {
515
+ if (_didIteratorError3) {
516
+ throw _iteratorError3;
517
+ }
518
+ }
339
519
  }
340
520
  });
341
- },
342
- transportReady: function PDFDataRangeTransport_transportReady() {
521
+ }
522
+ }, {
523
+ key: "onDataProgressiveDone",
524
+ value: function onDataProgressiveDone() {
525
+ var _this4 = this;
526
+
527
+ this._readyCapability.promise.then(function () {
528
+ var _iteratorNormalCompletion4 = true;
529
+ var _didIteratorError4 = false;
530
+ var _iteratorError4 = undefined;
531
+
532
+ try {
533
+ for (var _iterator4 = _this4._progressiveDoneListeners[Symbol.iterator](), _step4; !(_iteratorNormalCompletion4 = (_step4 = _iterator4.next()).done); _iteratorNormalCompletion4 = true) {
534
+ var listener = _step4.value;
535
+ listener();
536
+ }
537
+ } catch (err) {
538
+ _didIteratorError4 = true;
539
+ _iteratorError4 = err;
540
+ } finally {
541
+ try {
542
+ if (!_iteratorNormalCompletion4 && _iterator4["return"] != null) {
543
+ _iterator4["return"]();
544
+ }
545
+ } finally {
546
+ if (_didIteratorError4) {
547
+ throw _iteratorError4;
548
+ }
549
+ }
550
+ }
551
+ });
552
+ }
553
+ }, {
554
+ key: "transportReady",
555
+ value: function transportReady() {
343
556
  this._readyCapability.resolve();
344
- },
345
- requestDataRange: function PDFDataRangeTransport_requestDataRange(begin, end) {
557
+ }
558
+ }, {
559
+ key: "requestDataRange",
560
+ value: function requestDataRange(begin, end) {
346
561
  (0, _util.unreachable)('Abstract method PDFDataRangeTransport.requestDataRange');
347
- },
348
- abort: function PDFDataRangeTransport_abort() {}
349
- };
562
+ }
563
+ }, {
564
+ key: "abort",
565
+ value: function abort() {}
566
+ }]);
567
+
350
568
  return PDFDataRangeTransport;
351
569
  }();
352
- var PDFDocumentProxy = function PDFDocumentProxyClosure() {
353
- function PDFDocumentProxy(pdfInfo, transport, loadingTask) {
354
- this.pdfInfo = pdfInfo;
355
- this.transport = transport;
356
- this.loadingTask = loadingTask;
357
- }
358
- PDFDocumentProxy.prototype = {
359
- get numPages() {
360
- return this.pdfInfo.numPages;
361
- },
362
- get fingerprint() {
363
- return this.pdfInfo.fingerprint;
364
- },
365
- getPage: function getPage(pageNumber) {
366
- return this.transport.getPage(pageNumber);
367
- },
368
570
 
369
- getPageIndex: function PDFDocumentProxy_getPageIndex(ref) {
370
- return this.transport.getPageIndex(ref);
371
- },
372
- getDestinations: function PDFDocumentProxy_getDestinations() {
373
- return this.transport.getDestinations();
374
- },
375
- getDestination: function PDFDocumentProxy_getDestination(id) {
376
- return this.transport.getDestination(id);
377
- },
378
- getPageLabels: function PDFDocumentProxy_getPageLabels() {
379
- return this.transport.getPageLabels();
380
- },
381
- getPageMode: function getPageMode() {
382
- return this.transport.getPageMode();
383
- },
571
+ exports.PDFDataRangeTransport = PDFDataRangeTransport;
384
572
 
385
- getAttachments: function PDFDocumentProxy_getAttachments() {
386
- return this.transport.getAttachments();
387
- },
388
- getJavaScript: function getJavaScript() {
389
- return this.transport.getJavaScript();
390
- },
573
+ var PDFDocumentProxy =
574
+ /*#__PURE__*/
575
+ function () {
576
+ function PDFDocumentProxy(pdfInfo, transport) {
577
+ _classCallCheck(this, PDFDocumentProxy);
391
578
 
392
- getOutline: function PDFDocumentProxy_getOutline() {
393
- return this.transport.getOutline();
394
- },
395
- getMetadata: function PDFDocumentProxy_getMetadata() {
396
- return this.transport.getMetadata();
397
- },
398
- getData: function PDFDocumentProxy_getData() {
399
- return this.transport.getData();
400
- },
401
- getDownloadInfo: function PDFDocumentProxy_getDownloadInfo() {
402
- return this.transport.downloadInfoCapability.promise;
403
- },
404
- getStats: function PDFDocumentProxy_getStats() {
405
- return this.transport.getStats();
406
- },
407
- cleanup: function PDFDocumentProxy_cleanup() {
408
- this.transport.startCleanup();
409
- },
410
- destroy: function PDFDocumentProxy_destroy() {
579
+ this._pdfInfo = pdfInfo;
580
+ this._transport = transport;
581
+ }
582
+
583
+ _createClass(PDFDocumentProxy, [{
584
+ key: "getPage",
585
+ value: function getPage(pageNumber) {
586
+ return this._transport.getPage(pageNumber);
587
+ }
588
+ }, {
589
+ key: "getPageIndex",
590
+ value: function getPageIndex(ref) {
591
+ return this._transport.getPageIndex(ref);
592
+ }
593
+ }, {
594
+ key: "getDestinations",
595
+ value: function getDestinations() {
596
+ return this._transport.getDestinations();
597
+ }
598
+ }, {
599
+ key: "getDestination",
600
+ value: function getDestination(id) {
601
+ return this._transport.getDestination(id);
602
+ }
603
+ }, {
604
+ key: "getPageLabels",
605
+ value: function getPageLabels() {
606
+ return this._transport.getPageLabels();
607
+ }
608
+ }, {
609
+ key: "getPageLayout",
610
+ value: function getPageLayout() {
611
+ return this._transport.getPageLayout();
612
+ }
613
+ }, {
614
+ key: "getPageMode",
615
+ value: function getPageMode() {
616
+ return this._transport.getPageMode();
617
+ }
618
+ }, {
619
+ key: "getViewerPreferences",
620
+ value: function getViewerPreferences() {
621
+ return this._transport.getViewerPreferences();
622
+ }
623
+ }, {
624
+ key: "getOpenActionDestination",
625
+ value: function getOpenActionDestination() {
626
+ return this._transport.getOpenActionDestination();
627
+ }
628
+ }, {
629
+ key: "getAttachments",
630
+ value: function getAttachments() {
631
+ return this._transport.getAttachments();
632
+ }
633
+ }, {
634
+ key: "getJavaScript",
635
+ value: function getJavaScript() {
636
+ return this._transport.getJavaScript();
637
+ }
638
+ }, {
639
+ key: "getOutline",
640
+ value: function getOutline() {
641
+ return this._transport.getOutline();
642
+ }
643
+ }, {
644
+ key: "getPermissions",
645
+ value: function getPermissions() {
646
+ return this._transport.getPermissions();
647
+ }
648
+ }, {
649
+ key: "getMetadata",
650
+ value: function getMetadata() {
651
+ return this._transport.getMetadata();
652
+ }
653
+ }, {
654
+ key: "getData",
655
+ value: function getData() {
656
+ return this._transport.getData();
657
+ }
658
+ }, {
659
+ key: "getDownloadInfo",
660
+ value: function getDownloadInfo() {
661
+ return this._transport.downloadInfoCapability.promise;
662
+ }
663
+ }, {
664
+ key: "getStats",
665
+ value: function getStats() {
666
+ return this._transport.getStats();
667
+ }
668
+ }, {
669
+ key: "cleanup",
670
+ value: function cleanup() {
671
+ this._transport.startCleanup();
672
+ }
673
+ }, {
674
+ key: "destroy",
675
+ value: function destroy() {
411
676
  return this.loadingTask.destroy();
412
- },
413
- get loadingParams() {
414
- return this.transport.loadingParams;
415
677
  }
416
- };
678
+ }, {
679
+ key: "numPages",
680
+ get: function get() {
681
+ return this._pdfInfo.numPages;
682
+ }
683
+ }, {
684
+ key: "fingerprint",
685
+ get: function get() {
686
+ return this._pdfInfo.fingerprint;
687
+ }
688
+ }, {
689
+ key: "loadingParams",
690
+ get: function get() {
691
+ return this._transport.loadingParams;
692
+ }
693
+ }, {
694
+ key: "loadingTask",
695
+ get: function get() {
696
+ return this._transport.loadingTask;
697
+ }
698
+ }]);
699
+
417
700
  return PDFDocumentProxy;
418
701
  }();
419
- var PDFPageProxy = function PDFPageProxyClosure() {
702
+
703
+ exports.PDFDocumentProxy = PDFDocumentProxy;
704
+
705
+ var PDFPageProxy =
706
+ /*#__PURE__*/
707
+ function () {
420
708
  function PDFPageProxy(pageIndex, pageInfo, transport) {
421
709
  var pdfBug = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;
422
710
 
711
+ _classCallCheck(this, PDFPageProxy);
712
+
423
713
  this.pageIndex = pageIndex;
424
- this.pageInfo = pageInfo;
425
- this.transport = transport;
426
- this._stats = pdfBug ? new _dom_utils.StatTimer() : _dom_utils.DummyStatTimer;
714
+ this._pageInfo = pageInfo;
715
+ this._transport = transport;
716
+ this._stats = pdfBug ? new _display_utils.StatTimer() : _display_utils.DummyStatTimer;
427
717
  this._pdfBug = pdfBug;
428
718
  this.commonObjs = transport.commonObjs;
429
719
  this.objs = new PDFObjects();
@@ -432,57 +722,88 @@ var PDFPageProxy = function PDFPageProxyClosure() {
432
722
  this.intentStates = Object.create(null);
433
723
  this.destroyed = false;
434
724
  }
435
- PDFPageProxy.prototype = {
436
- get pageNumber() {
437
- return this.pageIndex + 1;
438
- },
439
- get rotate() {
440
- return this.pageInfo.rotate;
441
- },
442
- get ref() {
443
- return this.pageInfo.ref;
444
- },
445
- get userUnit() {
446
- return this.pageInfo.userUnit;
447
- },
448
- get view() {
449
- return this.pageInfo.view;
450
- },
451
- getViewport: function getViewport(scale) {
452
- var rotate = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : this.rotate;
453
- var dontFlip = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
454
725
 
455
- return new _dom_utils.PageViewport({
726
+ _createClass(PDFPageProxy, [{
727
+ key: "getViewport",
728
+ value: function getViewport() {
729
+ var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
730
+ scale = _ref.scale,
731
+ _ref$rotation = _ref.rotation,
732
+ rotation = _ref$rotation === void 0 ? this.rotate : _ref$rotation,
733
+ _ref$dontFlip = _ref.dontFlip,
734
+ dontFlip = _ref$dontFlip === void 0 ? false : _ref$dontFlip;
735
+
736
+ if (arguments.length > 1 || typeof arguments[0] === 'number') {
737
+ (0, _display_utils.deprecated)('getViewport is called with obsolete arguments.');
738
+ scale = arguments[0];
739
+ rotation = typeof arguments[1] === 'number' ? arguments[1] : this.rotate;
740
+ dontFlip = typeof arguments[2] === 'boolean' ? arguments[2] : false;
741
+ }
742
+
743
+ return new _display_utils.PageViewport({
456
744
  viewBox: this.view,
457
745
  scale: scale,
458
- rotation: rotate,
746
+ rotation: rotation,
459
747
  dontFlip: dontFlip
460
748
  });
461
- },
749
+ }
750
+ }, {
751
+ key: "getAnnotations",
752
+ value: function getAnnotations() {
753
+ var _ref2 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
754
+ _ref2$intent = _ref2.intent,
755
+ intent = _ref2$intent === void 0 ? null : _ref2$intent;
462
756
 
463
- getAnnotations: function PDFPageProxy_getAnnotations(params) {
464
- var intent = params && params.intent || null;
465
757
  if (!this.annotationsPromise || this.annotationsIntent !== intent) {
466
- this.annotationsPromise = this.transport.getAnnotations(this.pageIndex, intent);
758
+ this.annotationsPromise = this._transport.getAnnotations(this.pageIndex, intent);
467
759
  this.annotationsIntent = intent;
468
760
  }
761
+
469
762
  return this.annotationsPromise;
470
- },
471
- render: function PDFPageProxy_render(params) {
472
- var _this4 = this;
763
+ }
764
+ }, {
765
+ key: "render",
766
+ value: function render(_ref3) {
767
+ var _this5 = this;
473
768
 
769
+ var canvasContext = _ref3.canvasContext,
770
+ viewport = _ref3.viewport,
771
+ _ref3$intent = _ref3.intent,
772
+ intent = _ref3$intent === void 0 ? 'display' : _ref3$intent,
773
+ _ref3$enableWebGL = _ref3.enableWebGL,
774
+ enableWebGL = _ref3$enableWebGL === void 0 ? false : _ref3$enableWebGL,
775
+ _ref3$renderInteracti = _ref3.renderInteractiveForms,
776
+ renderInteractiveForms = _ref3$renderInteracti === void 0 ? false : _ref3$renderInteracti,
777
+ _ref3$transform = _ref3.transform,
778
+ transform = _ref3$transform === void 0 ? null : _ref3$transform,
779
+ _ref3$imageLayer = _ref3.imageLayer,
780
+ imageLayer = _ref3$imageLayer === void 0 ? null : _ref3$imageLayer,
781
+ _ref3$canvasFactory = _ref3.canvasFactory,
782
+ canvasFactory = _ref3$canvasFactory === void 0 ? null : _ref3$canvasFactory,
783
+ _ref3$background = _ref3.background,
784
+ background = _ref3$background === void 0 ? null : _ref3$background;
474
785
  var stats = this._stats;
475
786
  stats.time('Overall');
787
+ var renderingIntent = intent === 'print' ? 'print' : 'display';
476
788
  this.pendingCleanup = false;
477
- var renderingIntent = params.intent === 'print' ? 'print' : 'display';
478
- var canvasFactory = params.canvasFactory || new _dom_utils.DOMCanvasFactory();
479
- var webGLContext = new _webgl.WebGLContext({ enable: params.enableWebGL });
789
+
480
790
  if (!this.intentStates[renderingIntent]) {
481
791
  this.intentStates[renderingIntent] = Object.create(null);
482
792
  }
793
+
483
794
  var intentState = this.intentStates[renderingIntent];
795
+
796
+ if (intentState.streamReaderCancelTimeout) {
797
+ clearTimeout(intentState.streamReaderCancelTimeout);
798
+ intentState.streamReaderCancelTimeout = null;
799
+ }
800
+
801
+ var canvasFactoryInstance = canvasFactory || new _display_utils.DOMCanvasFactory();
802
+ var webGLContext = new _webgl.WebGLContext({
803
+ enable: enableWebGL
804
+ });
805
+
484
806
  if (!intentState.displayReadyCapability) {
485
- intentState.receivingOperatorList = true;
486
807
  intentState.displayReadyCapability = (0, _util.createPromiseCapability)();
487
808
  intentState.operatorList = {
488
809
  fnArray: [],
@@ -490,67 +811,105 @@ var PDFPageProxy = function PDFPageProxyClosure() {
490
811
  lastChunk: false
491
812
  };
492
813
  stats.time('Page Request');
493
- this.transport.messageHandler.send('RenderPageRequest', {
814
+
815
+ this._pumpOperatorList({
494
816
  pageIndex: this.pageNumber - 1,
495
817
  intent: renderingIntent,
496
- renderInteractiveForms: params.renderInteractiveForms === true
818
+ renderInteractiveForms: renderInteractiveForms === true
497
819
  });
498
820
  }
821
+
499
822
  var complete = function complete(error) {
500
823
  var i = intentState.renderTasks.indexOf(internalRenderTask);
824
+
501
825
  if (i >= 0) {
502
826
  intentState.renderTasks.splice(i, 1);
503
827
  }
504
- if (_this4.cleanupAfterRender) {
505
- _this4.pendingCleanup = true;
828
+
829
+ if (_this5.cleanupAfterRender || renderingIntent === 'print') {
830
+ _this5.pendingCleanup = true;
506
831
  }
507
- _this4._tryCleanup();
832
+
833
+ _this5._tryCleanup();
834
+
508
835
  if (error) {
509
836
  internalRenderTask.capability.reject(error);
837
+
838
+ _this5._abortOperatorList({
839
+ intentState: intentState,
840
+ reason: error
841
+ });
510
842
  } else {
511
843
  internalRenderTask.capability.resolve();
512
844
  }
845
+
513
846
  stats.timeEnd('Rendering');
514
847
  stats.timeEnd('Overall');
515
848
  };
516
- var internalRenderTask = new InternalRenderTask(complete, params, this.objs, this.commonObjs, intentState.operatorList, this.pageNumber, canvasFactory, webGLContext, this._pdfBug);
517
- internalRenderTask.useRequestAnimationFrame = renderingIntent !== 'print';
849
+
850
+ var internalRenderTask = new InternalRenderTask({
851
+ callback: complete,
852
+ params: {
853
+ canvasContext: canvasContext,
854
+ viewport: viewport,
855
+ transform: transform,
856
+ imageLayer: imageLayer,
857
+ background: background
858
+ },
859
+ objs: this.objs,
860
+ commonObjs: this.commonObjs,
861
+ operatorList: intentState.operatorList,
862
+ pageNumber: this.pageNumber,
863
+ canvasFactory: canvasFactoryInstance,
864
+ webGLContext: webGLContext,
865
+ useRequestAnimationFrame: renderingIntent !== 'print',
866
+ pdfBug: this._pdfBug
867
+ });
868
+
518
869
  if (!intentState.renderTasks) {
519
870
  intentState.renderTasks = [];
520
871
  }
872
+
521
873
  intentState.renderTasks.push(internalRenderTask);
522
874
  var renderTask = internalRenderTask.task;
523
875
  intentState.displayReadyCapability.promise.then(function (transparency) {
524
- if (_this4.pendingCleanup) {
876
+ if (_this5.pendingCleanup) {
525
877
  complete();
526
878
  return;
527
879
  }
880
+
528
881
  stats.time('Rendering');
529
882
  internalRenderTask.initializeGraphics(transparency);
530
883
  internalRenderTask.operatorListChanged();
531
- }).catch(complete);
884
+ })["catch"](complete);
532
885
  return renderTask;
533
- },
534
- getOperatorList: function PDFPageProxy_getOperatorList() {
886
+ }
887
+ }, {
888
+ key: "getOperatorList",
889
+ value: function getOperatorList() {
535
890
  function operatorListChanged() {
536
891
  if (intentState.operatorList.lastChunk) {
537
892
  intentState.opListReadCapability.resolve(intentState.operatorList);
538
893
  var i = intentState.renderTasks.indexOf(opListTask);
894
+
539
895
  if (i >= 0) {
540
896
  intentState.renderTasks.splice(i, 1);
541
897
  }
542
898
  }
543
899
  }
900
+
544
901
  var renderingIntent = 'oplist';
902
+
545
903
  if (!this.intentStates[renderingIntent]) {
546
904
  this.intentStates[renderingIntent] = Object.create(null);
547
905
  }
906
+
548
907
  var intentState = this.intentStates[renderingIntent];
549
908
  var opListTask;
909
+
550
910
  if (!intentState.opListReadCapability) {
551
911
  opListTask = {};
552
912
  opListTask.operatorListChanged = operatorListChanged;
553
- intentState.receivingOperatorList = true;
554
913
  intentState.opListReadCapability = (0, _util.createPromiseCapability)();
555
914
  intentState.renderTasks = [];
556
915
  intentState.renderTasks.push(opListTask);
@@ -559,47 +918,64 @@ var PDFPageProxy = function PDFPageProxyClosure() {
559
918
  argsArray: [],
560
919
  lastChunk: false
561
920
  };
562
- this.transport.messageHandler.send('RenderPageRequest', {
921
+
922
+ this._stats.time('Page Request');
923
+
924
+ this._pumpOperatorList({
563
925
  pageIndex: this.pageIndex,
564
926
  intent: renderingIntent
565
927
  });
566
928
  }
929
+
567
930
  return intentState.opListReadCapability.promise;
568
- },
569
- streamTextContent: function streamTextContent() {
570
- var params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
931
+ }
932
+ }, {
933
+ key: "streamTextContent",
934
+ value: function streamTextContent() {
935
+ var _ref4 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
936
+ _ref4$normalizeWhites = _ref4.normalizeWhitespace,
937
+ normalizeWhitespace = _ref4$normalizeWhites === void 0 ? false : _ref4$normalizeWhites,
938
+ _ref4$disableCombineT = _ref4.disableCombineTextItems,
939
+ disableCombineTextItems = _ref4$disableCombineT === void 0 ? false : _ref4$disableCombineT;
571
940
 
572
941
  var TEXT_CONTENT_CHUNK_SIZE = 100;
573
- return this.transport.messageHandler.sendWithStream('GetTextContent', {
942
+ return this._transport.messageHandler.sendWithStream('GetTextContent', {
574
943
  pageIndex: this.pageNumber - 1,
575
- normalizeWhitespace: params.normalizeWhitespace === true,
576
- combineTextItems: params.disableCombineTextItems !== true
944
+ normalizeWhitespace: normalizeWhitespace === true,
945
+ combineTextItems: disableCombineTextItems !== true
577
946
  }, {
578
947
  highWaterMark: TEXT_CONTENT_CHUNK_SIZE,
579
948
  size: function size(textContent) {
580
949
  return textContent.items.length;
581
950
  }
582
951
  });
583
- },
584
-
585
- getTextContent: function PDFPageProxy_getTextContent(params) {
586
- params = params || {};
952
+ }
953
+ }, {
954
+ key: "getTextContent",
955
+ value: function getTextContent() {
956
+ var params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
587
957
  var readableStream = this.streamTextContent(params);
588
958
  return new Promise(function (resolve, reject) {
589
959
  function pump() {
590
- reader.read().then(function (_ref) {
591
- var value = _ref.value,
592
- done = _ref.done;
960
+ reader.read().then(function (_ref5) {
961
+ var _textContent$items;
962
+
963
+ var value = _ref5.value,
964
+ done = _ref5.done;
593
965
 
594
966
  if (done) {
595
967
  resolve(textContent);
596
968
  return;
597
969
  }
598
- _util.Util.extendObj(textContent.styles, value.styles);
599
- _util.Util.appendToArray(textContent.items, value.items);
970
+
971
+ Object.assign(textContent.styles, value.styles);
972
+
973
+ (_textContent$items = textContent.items).push.apply(_textContent$items, _toConsumableArray(value.items));
974
+
600
975
  pump();
601
976
  }, reject);
602
977
  }
978
+
603
979
  var reader = readableStream.getReader();
604
980
  var textContent = {
605
981
  items: [],
@@ -607,83 +983,256 @@ var PDFPageProxy = function PDFPageProxyClosure() {
607
983
  };
608
984
  pump();
609
985
  });
610
- },
611
- _destroy: function PDFPageProxy_destroy() {
986
+ }
987
+ }, {
988
+ key: "_destroy",
989
+ value: function _destroy() {
990
+ var _this6 = this;
991
+
612
992
  this.destroyed = true;
613
- this.transport.pageCache[this.pageIndex] = null;
993
+ this._transport.pageCache[this.pageIndex] = null;
614
994
  var waitOn = [];
615
995
  Object.keys(this.intentStates).forEach(function (intent) {
996
+ var intentState = _this6.intentStates[intent];
997
+
998
+ _this6._abortOperatorList({
999
+ intentState: intentState,
1000
+ reason: new Error('Page was destroyed.'),
1001
+ force: true
1002
+ });
1003
+
616
1004
  if (intent === 'oplist') {
617
1005
  return;
618
1006
  }
619
- var intentState = this.intentStates[intent];
1007
+
620
1008
  intentState.renderTasks.forEach(function (renderTask) {
621
- var renderCompleted = renderTask.capability.promise.catch(function () {});
1009
+ var renderCompleted = renderTask.capability.promise["catch"](function () {});
622
1010
  waitOn.push(renderCompleted);
623
1011
  renderTask.cancel();
624
1012
  });
625
- }, this);
1013
+ });
626
1014
  this.objs.clear();
627
1015
  this.annotationsPromise = null;
628
1016
  this.pendingCleanup = false;
629
1017
  return Promise.all(waitOn);
630
- },
631
- cleanup: function cleanup() {
1018
+ }
1019
+ }, {
1020
+ key: "cleanup",
1021
+ value: function cleanup() {
632
1022
  var resetStats = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
633
-
634
1023
  this.pendingCleanup = true;
1024
+
635
1025
  this._tryCleanup(resetStats);
636
- },
637
- _tryCleanup: function _tryCleanup() {
1026
+ }
1027
+ }, {
1028
+ key: "_tryCleanup",
1029
+ value: function _tryCleanup() {
1030
+ var _this7 = this;
1031
+
638
1032
  var resetStats = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
639
1033
 
640
1034
  if (!this.pendingCleanup || Object.keys(this.intentStates).some(function (intent) {
641
- var intentState = this.intentStates[intent];
642
- return intentState.renderTasks.length !== 0 || intentState.receivingOperatorList;
643
- }, this)) {
1035
+ var intentState = _this7.intentStates[intent];
1036
+ return intentState.renderTasks.length !== 0 || !intentState.operatorList.lastChunk;
1037
+ })) {
644
1038
  return;
645
1039
  }
1040
+
646
1041
  Object.keys(this.intentStates).forEach(function (intent) {
647
- delete this.intentStates[intent];
648
- }, this);
1042
+ delete _this7.intentStates[intent];
1043
+ });
649
1044
  this.objs.clear();
650
1045
  this.annotationsPromise = null;
651
- if (resetStats && this._stats instanceof _dom_utils.StatTimer) {
652
- this._stats = new _dom_utils.StatTimer();
1046
+
1047
+ if (resetStats && this._stats instanceof _display_utils.StatTimer) {
1048
+ this._stats = new _display_utils.StatTimer();
653
1049
  }
654
- this.pendingCleanup = false;
655
- },
656
1050
 
657
- _startRenderPage: function PDFPageProxy_startRenderPage(transparency, intent) {
1051
+ this.pendingCleanup = false;
1052
+ }
1053
+ }, {
1054
+ key: "_startRenderPage",
1055
+ value: function _startRenderPage(transparency, intent) {
658
1056
  var intentState = this.intentStates[intent];
1057
+
1058
+ if (!intentState) {
1059
+ return;
1060
+ }
1061
+
1062
+ this._stats.timeEnd('Page Request');
1063
+
659
1064
  if (intentState.displayReadyCapability) {
660
1065
  intentState.displayReadyCapability.resolve(transparency);
661
1066
  }
662
- },
663
- _renderPageChunk: function PDFPageProxy_renderPageChunk(operatorListChunk, intent) {
664
- var intentState = this.intentStates[intent];
665
- var i, ii;
666
- for (i = 0, ii = operatorListChunk.length; i < ii; i++) {
1067
+ }
1068
+ }, {
1069
+ key: "_renderPageChunk",
1070
+ value: function _renderPageChunk(operatorListChunk, intentState) {
1071
+ for (var i = 0, ii = operatorListChunk.length; i < ii; i++) {
667
1072
  intentState.operatorList.fnArray.push(operatorListChunk.fnArray[i]);
668
1073
  intentState.operatorList.argsArray.push(operatorListChunk.argsArray[i]);
669
1074
  }
1075
+
670
1076
  intentState.operatorList.lastChunk = operatorListChunk.lastChunk;
671
- for (i = 0; i < intentState.renderTasks.length; i++) {
672
- intentState.renderTasks[i].operatorListChanged();
1077
+
1078
+ for (var _i = 0; _i < intentState.renderTasks.length; _i++) {
1079
+ intentState.renderTasks[_i].operatorListChanged();
673
1080
  }
1081
+
674
1082
  if (operatorListChunk.lastChunk) {
675
- intentState.receivingOperatorList = false;
676
1083
  this._tryCleanup();
677
1084
  }
678
- },
679
- get stats() {
680
- return this._stats instanceof _dom_utils.StatTimer ? this._stats : null;
681
1085
  }
682
- };
1086
+ }, {
1087
+ key: "_pumpOperatorList",
1088
+ value: function _pumpOperatorList(args) {
1089
+ var _this8 = this;
1090
+
1091
+ (0, _util.assert)(args.intent, 'PDFPageProxy._pumpOperatorList: Expected "intent" argument.');
1092
+
1093
+ var readableStream = this._transport.messageHandler.sendWithStream('GetOperatorList', args);
1094
+
1095
+ var reader = readableStream.getReader();
1096
+ var intentState = this.intentStates[args.intent];
1097
+ intentState.streamReader = reader;
1098
+
1099
+ var pump = function pump() {
1100
+ reader.read().then(function (_ref6) {
1101
+ var value = _ref6.value,
1102
+ done = _ref6.done;
1103
+
1104
+ if (done) {
1105
+ intentState.streamReader = null;
1106
+ return;
1107
+ }
1108
+
1109
+ if (_this8._transport.destroyed) {
1110
+ return;
1111
+ }
1112
+
1113
+ _this8._renderPageChunk(value, intentState);
1114
+
1115
+ pump();
1116
+ }, function (reason) {
1117
+ intentState.streamReader = null;
1118
+
1119
+ if (_this8._transport.destroyed) {
1120
+ return;
1121
+ }
1122
+
1123
+ if (intentState.operatorList) {
1124
+ intentState.operatorList.lastChunk = true;
1125
+
1126
+ for (var i = 0; i < intentState.renderTasks.length; i++) {
1127
+ intentState.renderTasks[i].operatorListChanged();
1128
+ }
1129
+
1130
+ _this8._tryCleanup();
1131
+ }
1132
+
1133
+ if (intentState.displayReadyCapability) {
1134
+ intentState.displayReadyCapability.reject(reason);
1135
+ } else if (intentState.opListReadCapability) {
1136
+ intentState.opListReadCapability.reject(reason);
1137
+ } else {
1138
+ throw reason;
1139
+ }
1140
+ });
1141
+ };
1142
+
1143
+ pump();
1144
+ }
1145
+ }, {
1146
+ key: "_abortOperatorList",
1147
+ value: function _abortOperatorList(_ref7) {
1148
+ var _this9 = this;
1149
+
1150
+ var intentState = _ref7.intentState,
1151
+ reason = _ref7.reason,
1152
+ _ref7$force = _ref7.force,
1153
+ force = _ref7$force === void 0 ? false : _ref7$force;
1154
+ (0, _util.assert)(reason instanceof Error, 'PDFPageProxy._abortOperatorList: Expected "reason" argument.');
1155
+
1156
+ if (!intentState.streamReader) {
1157
+ return;
1158
+ }
1159
+
1160
+ if (!force) {
1161
+ if (intentState.renderTasks.length !== 0) {
1162
+ return;
1163
+ }
1164
+
1165
+ if (reason instanceof _display_utils.RenderingCancelledException) {
1166
+ intentState.streamReaderCancelTimeout = setTimeout(function () {
1167
+ _this9._abortOperatorList({
1168
+ intentState: intentState,
1169
+ reason: reason,
1170
+ force: true
1171
+ });
1172
+
1173
+ intentState.streamReaderCancelTimeout = null;
1174
+ }, RENDERING_CANCELLED_TIMEOUT);
1175
+ return;
1176
+ }
1177
+ }
1178
+
1179
+ intentState.streamReader.cancel(new _util.AbortException(reason && reason.message));
1180
+ intentState.streamReader = null;
1181
+
1182
+ if (this._transport.destroyed) {
1183
+ return;
1184
+ }
1185
+
1186
+ Object.keys(this.intentStates).some(function (intent) {
1187
+ if (_this9.intentStates[intent] === intentState) {
1188
+ delete _this9.intentStates[intent];
1189
+ return true;
1190
+ }
1191
+
1192
+ return false;
1193
+ });
1194
+ this.cleanup();
1195
+ }
1196
+ }, {
1197
+ key: "pageNumber",
1198
+ get: function get() {
1199
+ return this.pageIndex + 1;
1200
+ }
1201
+ }, {
1202
+ key: "rotate",
1203
+ get: function get() {
1204
+ return this._pageInfo.rotate;
1205
+ }
1206
+ }, {
1207
+ key: "ref",
1208
+ get: function get() {
1209
+ return this._pageInfo.ref;
1210
+ }
1211
+ }, {
1212
+ key: "userUnit",
1213
+ get: function get() {
1214
+ return this._pageInfo.userUnit;
1215
+ }
1216
+ }, {
1217
+ key: "view",
1218
+ get: function get() {
1219
+ return this._pageInfo.view;
1220
+ }
1221
+ }, {
1222
+ key: "stats",
1223
+ get: function get() {
1224
+ return this._stats instanceof _display_utils.StatTimer ? this._stats : null;
1225
+ }
1226
+ }]);
1227
+
683
1228
  return PDFPageProxy;
684
1229
  }();
685
1230
 
686
- var LoopbackPort = function () {
1231
+ exports.PDFPageProxy = PDFPageProxy;
1232
+
1233
+ var LoopbackPort =
1234
+ /*#__PURE__*/
1235
+ function () {
687
1236
  function LoopbackPort() {
688
1237
  var defer = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;
689
1238
 
@@ -695,21 +1244,24 @@ var LoopbackPort = function () {
695
1244
  }
696
1245
 
697
1246
  _createClass(LoopbackPort, [{
698
- key: 'postMessage',
1247
+ key: "postMessage",
699
1248
  value: function postMessage(obj, transfers) {
700
- var _this5 = this;
1249
+ var _this10 = this;
701
1250
 
702
1251
  function cloneValue(value) {
703
- if ((typeof value === 'undefined' ? 'undefined' : _typeof(value)) !== 'object' || value === null) {
1252
+ if (_typeof(value) !== 'object' || value === null) {
704
1253
  return value;
705
1254
  }
1255
+
706
1256
  if (cloned.has(value)) {
707
1257
  return cloned.get(value);
708
1258
  }
709
- var result;
710
- var buffer;
1259
+
1260
+ var buffer, result;
1261
+
711
1262
  if ((buffer = value.buffer) && (0, _util.isArrayBuffer)(buffer)) {
712
1263
  var transferable = transfers && transfers.includes(buffer);
1264
+
713
1265
  if (value === buffer) {
714
1266
  result = value;
715
1267
  } else if (transferable) {
@@ -717,380 +1269,503 @@ var LoopbackPort = function () {
717
1269
  } else {
718
1270
  result = new value.constructor(value);
719
1271
  }
1272
+
720
1273
  cloned.set(value, result);
721
1274
  return result;
722
1275
  }
1276
+
723
1277
  result = Array.isArray(value) ? [] : {};
724
1278
  cloned.set(value, result);
1279
+
725
1280
  for (var i in value) {
726
- var desc,
1281
+ var desc = void 0,
727
1282
  p = value;
1283
+
728
1284
  while (!(desc = Object.getOwnPropertyDescriptor(p, i))) {
729
1285
  p = Object.getPrototypeOf(p);
730
1286
  }
731
- if (typeof desc.value === 'undefined' || typeof desc.value === 'function') {
1287
+
1288
+ if (typeof desc.value === 'undefined') {
1289
+ continue;
1290
+ }
1291
+
1292
+ if (typeof desc.value === 'function') {
1293
+ if (value.hasOwnProperty && value.hasOwnProperty(i)) {
1294
+ throw new Error("LoopbackPort.postMessage - cannot clone: ".concat(value[i]));
1295
+ }
1296
+
732
1297
  continue;
733
1298
  }
1299
+
734
1300
  result[i] = cloneValue(desc.value);
735
1301
  }
1302
+
736
1303
  return result;
737
1304
  }
1305
+
738
1306
  if (!this._defer) {
739
1307
  this._listeners.forEach(function (listener) {
740
- listener.call(this, { data: obj });
741
- }, this);
1308
+ listener.call(_this10, {
1309
+ data: obj
1310
+ });
1311
+ });
1312
+
742
1313
  return;
743
1314
  }
1315
+
744
1316
  var cloned = new WeakMap();
745
- var e = { data: cloneValue(obj) };
1317
+ var e = {
1318
+ data: cloneValue(obj)
1319
+ };
1320
+
746
1321
  this._deferred.then(function () {
747
- _this5._listeners.forEach(function (listener) {
748
- listener.call(this, e);
749
- }, _this5);
1322
+ _this10._listeners.forEach(function (listener) {
1323
+ listener.call(_this10, e);
1324
+ });
750
1325
  });
751
1326
  }
752
1327
  }, {
753
- key: 'addEventListener',
1328
+ key: "addEventListener",
754
1329
  value: function addEventListener(name, listener) {
755
1330
  this._listeners.push(listener);
756
1331
  }
757
1332
  }, {
758
- key: 'removeEventListener',
1333
+ key: "removeEventListener",
759
1334
  value: function removeEventListener(name, listener) {
760
1335
  var i = this._listeners.indexOf(listener);
1336
+
761
1337
  this._listeners.splice(i, 1);
762
1338
  }
763
1339
  }, {
764
- key: 'terminate',
1340
+ key: "terminate",
765
1341
  value: function terminate() {
766
- this._listeners = [];
1342
+ this._listeners.length = 0;
767
1343
  }
768
1344
  }]);
769
1345
 
770
1346
  return LoopbackPort;
771
1347
  }();
772
1348
 
1349
+ exports.LoopbackPort = LoopbackPort;
1350
+
773
1351
  var PDFWorker = function PDFWorkerClosure() {
1352
+ var pdfWorkerPorts = new WeakMap();
774
1353
  var nextFakeWorkerId = 0;
775
- function getWorkerSrc() {
1354
+ var fakeWorkerFilesLoadedCapability;
1355
+
1356
+ function _getWorkerSrc() {
776
1357
  if (_worker_options.GlobalWorkerOptions.workerSrc) {
777
1358
  return _worker_options.GlobalWorkerOptions.workerSrc;
778
1359
  }
779
- if (typeof workerSrc !== 'undefined') {
780
- return workerSrc;
781
- }
782
- if (pdfjsFilePath) {
783
- return pdfjsFilePath.replace(/(\.(?:min\.)?js)(\?.*)?$/i, '.worker$1$2');
1360
+
1361
+ if (typeof fallbackWorkerSrc !== 'undefined') {
1362
+ return fallbackWorkerSrc;
784
1363
  }
1364
+
785
1365
  throw new Error('No "GlobalWorkerOptions.workerSrc" specified.');
786
1366
  }
1367
+
787
1368
  function getMainThreadWorkerMessageHandler() {
788
- if (typeof window === 'undefined') {
789
- return null;
790
- }
791
- return window.pdfjsWorker && window.pdfjsWorker.WorkerMessageHandler;
1369
+ try {
1370
+ if (typeof window !== 'undefined') {
1371
+ return window.pdfjsWorker && window.pdfjsWorker.WorkerMessageHandler;
1372
+ }
1373
+ } catch (ex) {}
1374
+
1375
+ return null;
792
1376
  }
793
- var fakeWorkerFilesLoadedCapability = void 0;
1377
+
794
1378
  function setupFakeWorkerGlobal() {
795
1379
  if (fakeWorkerFilesLoadedCapability) {
796
1380
  return fakeWorkerFilesLoadedCapability.promise;
797
1381
  }
1382
+
798
1383
  fakeWorkerFilesLoadedCapability = (0, _util.createPromiseCapability)();
799
1384
  var mainWorkerMessageHandler = getMainThreadWorkerMessageHandler();
1385
+
800
1386
  if (mainWorkerMessageHandler) {
801
1387
  fakeWorkerFilesLoadedCapability.resolve(mainWorkerMessageHandler);
802
1388
  return fakeWorkerFilesLoadedCapability.promise;
803
1389
  }
804
- var loader = fakeWorkerFilesLoader || function (callback) {
805
- _util.Util.loadScript(getWorkerSrc(), function () {
806
- callback(window.pdfjsWorker.WorkerMessageHandler);
1390
+
1391
+ var loader = fakeWorkerFilesLoader || function () {
1392
+ return (0, _display_utils.loadScript)(_getWorkerSrc()).then(function () {
1393
+ return window.pdfjsWorker.WorkerMessageHandler;
807
1394
  });
808
1395
  };
809
- loader(fakeWorkerFilesLoadedCapability.resolve);
1396
+
1397
+ loader().then(fakeWorkerFilesLoadedCapability.resolve, fakeWorkerFilesLoadedCapability.reject);
810
1398
  return fakeWorkerFilesLoadedCapability.promise;
811
1399
  }
1400
+
812
1401
  function createCDNWrapper(url) {
813
1402
  var wrapper = 'importScripts(\'' + url + '\');';
814
1403
  return URL.createObjectURL(new Blob([wrapper]));
815
1404
  }
816
- var pdfWorkerPorts = new WeakMap();
817
- function PDFWorker() {
818
- var _ref2 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
819
- _ref2$name = _ref2.name,
820
- name = _ref2$name === undefined ? null : _ref2$name,
821
- _ref2$port = _ref2.port,
822
- port = _ref2$port === undefined ? null : _ref2$port,
823
- _ref2$postMessageTran = _ref2.postMessageTransfers,
824
- postMessageTransfers = _ref2$postMessageTran === undefined ? true : _ref2$postMessageTran,
825
- _ref2$verbosity = _ref2.verbosity,
826
- verbosity = _ref2$verbosity === undefined ? null : _ref2$verbosity;
827
-
828
- if (port && pdfWorkerPorts.has(port)) {
829
- throw new Error('Cannot use more than one PDFWorker per port');
830
- }
831
- this.name = name;
832
- this.destroyed = false;
833
- this.postMessageTransfers = postMessageTransfers !== false;
834
- this.verbosity = (0, _util.isNum)(verbosity) ? verbosity : (0, _util.getVerbosityLevel)();
835
- this._readyCapability = (0, _util.createPromiseCapability)();
836
- this._port = null;
837
- this._webWorker = null;
838
- this._messageHandler = null;
839
- if (port) {
840
- pdfWorkerPorts.set(port, this);
841
- this._initializeFromPort(port);
842
- return;
843
- }
844
- this._initialize();
845
- }
846
- PDFWorker.prototype = {
847
- get promise() {
848
- return this._readyCapability.promise;
849
- },
850
- get port() {
851
- return this._port;
852
- },
853
- get messageHandler() {
854
- return this._messageHandler;
855
- },
856
- _initializeFromPort: function PDFWorker_initializeFromPort(port) {
857
- this._port = port;
858
- this._messageHandler = new _message_handler.MessageHandler('main', 'worker', port);
859
- this._messageHandler.on('ready', function () {});
860
- this._readyCapability.resolve();
861
- },
862
- _initialize: function PDFWorker_initialize() {
863
- var _this6 = this;
864
1405
 
865
- if (typeof Worker !== 'undefined' && !isWorkerDisabled && !getMainThreadWorkerMessageHandler()) {
866
- var workerSrc = getWorkerSrc();
867
- try {
868
- if (!(0, _util.isSameOrigin)(window.location.href, workerSrc)) {
869
- workerSrc = createCDNWrapper(new URL(workerSrc, window.location).href);
870
- }
871
- var worker = new Worker(workerSrc);
872
- var messageHandler = new _message_handler.MessageHandler('main', 'worker', worker);
873
- var terminateEarly = function terminateEarly() {
874
- worker.removeEventListener('error', onWorkerError);
875
- messageHandler.destroy();
876
- worker.terminate();
877
- if (_this6.destroyed) {
878
- _this6._readyCapability.reject(new Error('Worker was destroyed'));
879
- } else {
880
- _this6._setupFakeWorker();
881
- }
882
- };
883
- var onWorkerError = function onWorkerError() {
884
- if (!_this6._webWorker) {
885
- terminateEarly();
886
- }
887
- };
888
- worker.addEventListener('error', onWorkerError);
889
- messageHandler.on('test', function (data) {
890
- worker.removeEventListener('error', onWorkerError);
891
- if (_this6.destroyed) {
892
- terminateEarly();
893
- return;
894
- }
895
- var supportTypedArray = data && data.supportTypedArray;
896
- if (supportTypedArray) {
897
- _this6._messageHandler = messageHandler;
898
- _this6._port = worker;
899
- _this6._webWorker = worker;
900
- if (!data.supportTransfers) {
901
- _this6.postMessageTransfers = false;
902
- }
903
- _this6._readyCapability.resolve();
904
- messageHandler.send('configure', { verbosity: _this6.verbosity });
905
- } else {
906
- _this6._setupFakeWorker();
907
- messageHandler.destroy();
908
- worker.terminate();
909
- }
910
- });
911
- messageHandler.on('ready', function (data) {
912
- worker.removeEventListener('error', onWorkerError);
913
- if (_this6.destroyed) {
914
- terminateEarly();
915
- return;
916
- }
917
- try {
918
- sendTest();
919
- } catch (e) {
920
- _this6._setupFakeWorker();
921
- }
922
- });
923
- var sendTest = function sendTest() {
924
- var testObj = new Uint8Array([_this6.postMessageTransfers ? 255 : 0]);
925
- try {
926
- messageHandler.send('test', testObj, [testObj.buffer]);
927
- } catch (ex) {
928
- (0, _util.info)('Cannot use postMessage transfers');
929
- testObj[0] = 0;
930
- messageHandler.send('test', testObj);
931
- }
932
- };
933
- sendTest();
934
- return;
935
- } catch (e) {
936
- (0, _util.info)('The worker has been disabled.');
937
- }
938
- }
939
- this._setupFakeWorker();
940
- },
941
- _setupFakeWorker: function PDFWorker_setupFakeWorker() {
942
- var _this7 = this;
1406
+ var PDFWorker =
1407
+ /*#__PURE__*/
1408
+ function () {
1409
+ function PDFWorker() {
1410
+ var _ref8 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
1411
+ _ref8$name = _ref8.name,
1412
+ name = _ref8$name === void 0 ? null : _ref8$name,
1413
+ _ref8$port = _ref8.port,
1414
+ port = _ref8$port === void 0 ? null : _ref8$port,
1415
+ _ref8$verbosity = _ref8.verbosity,
1416
+ verbosity = _ref8$verbosity === void 0 ? (0, _util.getVerbosityLevel)() : _ref8$verbosity;
943
1417
 
944
- if (!isWorkerDisabled) {
945
- (0, _util.warn)('Setting up fake worker.');
946
- isWorkerDisabled = true;
947
- }
948
- setupFakeWorkerGlobal().then(function (WorkerMessageHandler) {
949
- if (_this7.destroyed) {
950
- _this7._readyCapability.reject(new Error('Worker was destroyed'));
951
- return;
952
- }
953
- var isTypedArraysPresent = Uint8Array !== Float32Array;
954
- var port = new LoopbackPort(isTypedArraysPresent);
955
- _this7._port = port;
956
- var id = 'fake' + nextFakeWorkerId++;
957
- var workerHandler = new _message_handler.MessageHandler(id + '_worker', id, port);
958
- WorkerMessageHandler.setup(workerHandler, port);
959
- var messageHandler = new _message_handler.MessageHandler(id, id + '_worker', port);
960
- _this7._messageHandler = messageHandler;
961
- _this7._readyCapability.resolve();
962
- });
963
- },
964
- destroy: function PDFWorker_destroy() {
965
- this.destroyed = true;
966
- if (this._webWorker) {
967
- this._webWorker.terminate();
968
- this._webWorker = null;
1418
+ _classCallCheck(this, PDFWorker);
1419
+
1420
+ if (port && pdfWorkerPorts.has(port)) {
1421
+ throw new Error('Cannot use more than one PDFWorker per port');
969
1422
  }
970
- pdfWorkerPorts.delete(this._port);
1423
+
1424
+ this.name = name;
1425
+ this.destroyed = false;
1426
+ this.postMessageTransfers = true;
1427
+ this.verbosity = verbosity;
1428
+ this._readyCapability = (0, _util.createPromiseCapability)();
971
1429
  this._port = null;
972
- if (this._messageHandler) {
973
- this._messageHandler.destroy();
974
- this._messageHandler = null;
1430
+ this._webWorker = null;
1431
+ this._messageHandler = null;
1432
+
1433
+ if (port) {
1434
+ pdfWorkerPorts.set(port, this);
1435
+
1436
+ this._initializeFromPort(port);
1437
+
1438
+ return;
975
1439
  }
1440
+
1441
+ this._initialize();
976
1442
  }
977
- };
978
- PDFWorker.fromPort = function (params) {
979
- if (pdfWorkerPorts.has(params.port)) {
980
- return pdfWorkerPorts.get(params.port);
981
- }
982
- return new PDFWorker(params);
983
- };
984
- PDFWorker.getWorkerSrc = function () {
985
- return getWorkerSrc();
986
- };
987
- return PDFWorker;
988
- }();
989
- var WorkerTransport = function WorkerTransportClosure() {
990
- function WorkerTransport(messageHandler, loadingTask, networkStream, params, CMapReaderFactory) {
991
- this.messageHandler = messageHandler;
992
- this.loadingTask = loadingTask;
993
- this.commonObjs = new PDFObjects();
994
- this.fontLoader = new _font_loader.FontLoader(loadingTask.docId);
995
- this._params = params;
996
- this.CMapReaderFactory = new CMapReaderFactory({
997
- baseUrl: params.cMapUrl,
998
- isCompressed: params.cMapPacked
999
- });
1000
- this.destroyed = false;
1001
- this.destroyCapability = null;
1002
- this._passwordCapability = null;
1003
- this._networkStream = networkStream;
1004
- this._fullReader = null;
1005
- this._lastProgress = null;
1006
- this.pageCache = [];
1007
- this.pagePromises = [];
1008
- this.downloadInfoCapability = (0, _util.createPromiseCapability)();
1009
- this.setupMessageHandler();
1010
- }
1011
- WorkerTransport.prototype = {
1012
- destroy: function WorkerTransport_destroy() {
1013
- var _this8 = this;
1014
1443
 
1015
- if (this.destroyCapability) {
1016
- return this.destroyCapability.promise;
1444
+ _createClass(PDFWorker, [{
1445
+ key: "_initializeFromPort",
1446
+ value: function _initializeFromPort(port) {
1447
+ this._port = port;
1448
+ this._messageHandler = new _message_handler.MessageHandler('main', 'worker', port);
1449
+
1450
+ this._messageHandler.on('ready', function () {});
1451
+
1452
+ this._readyCapability.resolve();
1017
1453
  }
1018
- this.destroyed = true;
1454
+ }, {
1455
+ key: "_initialize",
1456
+ value: function _initialize() {
1457
+ var _this11 = this;
1458
+
1459
+ if (typeof Worker !== 'undefined' && !isWorkerDisabled && !getMainThreadWorkerMessageHandler()) {
1460
+ var workerSrc = _getWorkerSrc();
1461
+
1462
+ try {
1463
+ if (!(0, _util.isSameOrigin)(window.location.href, workerSrc)) {
1464
+ workerSrc = createCDNWrapper(new URL(workerSrc, window.location).href);
1465
+ }
1466
+
1467
+ var worker = new Worker(workerSrc);
1468
+ var messageHandler = new _message_handler.MessageHandler('main', 'worker', worker);
1469
+
1470
+ var terminateEarly = function terminateEarly() {
1471
+ worker.removeEventListener('error', onWorkerError);
1472
+ messageHandler.destroy();
1473
+ worker.terminate();
1474
+
1475
+ if (_this11.destroyed) {
1476
+ _this11._readyCapability.reject(new Error('Worker was destroyed'));
1477
+ } else {
1478
+ _this11._setupFakeWorker();
1479
+ }
1480
+ };
1481
+
1482
+ var onWorkerError = function onWorkerError() {
1483
+ if (!_this11._webWorker) {
1484
+ terminateEarly();
1485
+ }
1486
+ };
1487
+
1488
+ worker.addEventListener('error', onWorkerError);
1489
+ messageHandler.on('test', function (data) {
1490
+ worker.removeEventListener('error', onWorkerError);
1491
+
1492
+ if (_this11.destroyed) {
1493
+ terminateEarly();
1494
+ return;
1495
+ }
1496
+
1497
+ if (data) {
1498
+ _this11._messageHandler = messageHandler;
1499
+ _this11._port = worker;
1500
+ _this11._webWorker = worker;
1501
+
1502
+ if (!data.supportTransfers) {
1503
+ _this11.postMessageTransfers = false;
1504
+ }
1505
+
1506
+ _this11._readyCapability.resolve();
1507
+
1508
+ messageHandler.send('configure', {
1509
+ verbosity: _this11.verbosity
1510
+ });
1511
+ } else {
1512
+ _this11._setupFakeWorker();
1513
+
1514
+ messageHandler.destroy();
1515
+ worker.terminate();
1516
+ }
1517
+ });
1518
+ messageHandler.on('ready', function (data) {
1519
+ worker.removeEventListener('error', onWorkerError);
1520
+
1521
+ if (_this11.destroyed) {
1522
+ terminateEarly();
1523
+ return;
1524
+ }
1525
+
1526
+ try {
1527
+ sendTest();
1528
+ } catch (e) {
1529
+ _this11._setupFakeWorker();
1530
+ }
1531
+ });
1532
+
1533
+ var sendTest = function sendTest() {
1534
+ var testObj = new Uint8Array([_this11.postMessageTransfers ? 255 : 0]);
1535
+
1536
+ try {
1537
+ messageHandler.send('test', testObj, [testObj.buffer]);
1538
+ } catch (ex) {
1539
+ (0, _util.warn)('Cannot use postMessage transfers.');
1540
+ testObj[0] = 0;
1541
+ messageHandler.send('test', testObj);
1542
+ }
1543
+ };
1544
+
1545
+ sendTest();
1546
+ return;
1547
+ } catch (e) {
1548
+ (0, _util.info)('The worker has been disabled.');
1549
+ }
1550
+ }
1551
+
1552
+ this._setupFakeWorker();
1553
+ }
1554
+ }, {
1555
+ key: "_setupFakeWorker",
1556
+ value: function _setupFakeWorker() {
1557
+ var _this12 = this;
1558
+
1559
+ if (!isWorkerDisabled) {
1560
+ (0, _util.warn)('Setting up fake worker.');
1561
+ isWorkerDisabled = true;
1562
+ }
1563
+
1564
+ setupFakeWorkerGlobal().then(function (WorkerMessageHandler) {
1565
+ if (_this12.destroyed) {
1566
+ _this12._readyCapability.reject(new Error('Worker was destroyed'));
1567
+
1568
+ return;
1569
+ }
1570
+
1571
+ var port = new LoopbackPort();
1572
+ _this12._port = port;
1573
+ var id = 'fake' + nextFakeWorkerId++;
1574
+ var workerHandler = new _message_handler.MessageHandler(id + '_worker', id, port);
1575
+ WorkerMessageHandler.setup(workerHandler, port);
1576
+ var messageHandler = new _message_handler.MessageHandler(id, id + '_worker', port);
1577
+ _this12._messageHandler = messageHandler;
1578
+
1579
+ _this12._readyCapability.resolve();
1580
+ })["catch"](function (reason) {
1581
+ _this12._readyCapability.reject(new Error("Setting up fake worker failed: \"".concat(reason.message, "\".")));
1582
+ });
1583
+ }
1584
+ }, {
1585
+ key: "destroy",
1586
+ value: function destroy() {
1587
+ this.destroyed = true;
1588
+
1589
+ if (this._webWorker) {
1590
+ this._webWorker.terminate();
1591
+
1592
+ this._webWorker = null;
1593
+ }
1594
+
1595
+ pdfWorkerPorts["delete"](this._port);
1596
+ this._port = null;
1597
+
1598
+ if (this._messageHandler) {
1599
+ this._messageHandler.destroy();
1600
+
1601
+ this._messageHandler = null;
1602
+ }
1603
+ }
1604
+ }, {
1605
+ key: "promise",
1606
+ get: function get() {
1607
+ return this._readyCapability.promise;
1608
+ }
1609
+ }, {
1610
+ key: "port",
1611
+ get: function get() {
1612
+ return this._port;
1613
+ }
1614
+ }, {
1615
+ key: "messageHandler",
1616
+ get: function get() {
1617
+ return this._messageHandler;
1618
+ }
1619
+ }], [{
1620
+ key: "fromPort",
1621
+ value: function fromPort(params) {
1622
+ if (!params || !params.port) {
1623
+ throw new Error('PDFWorker.fromPort - invalid method signature.');
1624
+ }
1625
+
1626
+ if (pdfWorkerPorts.has(params.port)) {
1627
+ return pdfWorkerPorts.get(params.port);
1628
+ }
1629
+
1630
+ return new PDFWorker(params);
1631
+ }
1632
+ }, {
1633
+ key: "getWorkerSrc",
1634
+ value: function getWorkerSrc() {
1635
+ return _getWorkerSrc();
1636
+ }
1637
+ }]);
1638
+
1639
+ return PDFWorker;
1640
+ }();
1641
+
1642
+ return PDFWorker;
1643
+ }();
1644
+
1645
+ exports.PDFWorker = PDFWorker;
1646
+
1647
+ var WorkerTransport =
1648
+ /*#__PURE__*/
1649
+ function () {
1650
+ function WorkerTransport(messageHandler, loadingTask, networkStream, params) {
1651
+ _classCallCheck(this, WorkerTransport);
1652
+
1653
+ this.messageHandler = messageHandler;
1654
+ this.loadingTask = loadingTask;
1655
+ this.commonObjs = new PDFObjects();
1656
+ this.fontLoader = new _font_loader.FontLoader({
1657
+ docId: loadingTask.docId,
1658
+ onUnsupportedFeature: this._onUnsupportedFeature.bind(this)
1659
+ });
1660
+ this._params = params;
1661
+ this.CMapReaderFactory = new params.CMapReaderFactory({
1662
+ baseUrl: params.cMapUrl,
1663
+ isCompressed: params.cMapPacked
1664
+ });
1665
+ this.destroyed = false;
1666
+ this.destroyCapability = null;
1667
+ this._passwordCapability = null;
1668
+ this._networkStream = networkStream;
1669
+ this._fullReader = null;
1670
+ this._lastProgress = null;
1671
+ this.pageCache = [];
1672
+ this.pagePromises = [];
1673
+ this.downloadInfoCapability = (0, _util.createPromiseCapability)();
1674
+ this.setupMessageHandler();
1675
+ }
1676
+
1677
+ _createClass(WorkerTransport, [{
1678
+ key: "destroy",
1679
+ value: function destroy() {
1680
+ var _this13 = this;
1681
+
1682
+ if (this.destroyCapability) {
1683
+ return this.destroyCapability.promise;
1684
+ }
1685
+
1686
+ this.destroyed = true;
1019
1687
  this.destroyCapability = (0, _util.createPromiseCapability)();
1688
+
1020
1689
  if (this._passwordCapability) {
1021
1690
  this._passwordCapability.reject(new Error('Worker was destroyed during onPassword callback'));
1022
1691
  }
1692
+
1023
1693
  var waitOn = [];
1024
1694
  this.pageCache.forEach(function (page) {
1025
1695
  if (page) {
1026
1696
  waitOn.push(page._destroy());
1027
1697
  }
1028
1698
  });
1029
- this.pageCache = [];
1030
- this.pagePromises = [];
1699
+ this.pageCache.length = 0;
1700
+ this.pagePromises.length = 0;
1031
1701
  var terminated = this.messageHandler.sendWithPromise('Terminate', null);
1032
1702
  waitOn.push(terminated);
1033
1703
  Promise.all(waitOn).then(function () {
1034
- _this8.fontLoader.clear();
1035
- if (_this8._networkStream) {
1036
- _this8._networkStream.cancelAllRequests();
1704
+ _this13.fontLoader.clear();
1705
+
1706
+ if (_this13._networkStream) {
1707
+ _this13._networkStream.cancelAllRequests(new _util.AbortException('Worker was terminated.'));
1037
1708
  }
1038
- if (_this8.messageHandler) {
1039
- _this8.messageHandler.destroy();
1040
- _this8.messageHandler = null;
1709
+
1710
+ if (_this13.messageHandler) {
1711
+ _this13.messageHandler.destroy();
1712
+
1713
+ _this13.messageHandler = null;
1041
1714
  }
1042
- _this8.destroyCapability.resolve();
1715
+
1716
+ _this13.destroyCapability.resolve();
1043
1717
  }, this.destroyCapability.reject);
1044
1718
  return this.destroyCapability.promise;
1045
- },
1046
- setupMessageHandler: function WorkerTransport_setupMessageHandler() {
1047
- var messageHandler = this.messageHandler;
1048
- var loadingTask = this.loadingTask;
1719
+ }
1720
+ }, {
1721
+ key: "setupMessageHandler",
1722
+ value: function setupMessageHandler() {
1723
+ var _this14 = this;
1724
+
1725
+ var messageHandler = this.messageHandler,
1726
+ loadingTask = this.loadingTask;
1049
1727
  messageHandler.on('GetReader', function (data, sink) {
1050
- var _this9 = this;
1728
+ (0, _util.assert)(_this14._networkStream);
1729
+ _this14._fullReader = _this14._networkStream.getFullReader();
1051
1730
 
1052
- (0, _util.assert)(this._networkStream);
1053
- this._fullReader = this._networkStream.getFullReader();
1054
- this._fullReader.onProgress = function (evt) {
1055
- _this9._lastProgress = {
1731
+ _this14._fullReader.onProgress = function (evt) {
1732
+ _this14._lastProgress = {
1056
1733
  loaded: evt.loaded,
1057
1734
  total: evt.total
1058
1735
  };
1059
1736
  };
1737
+
1060
1738
  sink.onPull = function () {
1061
- _this9._fullReader.read().then(function (_ref3) {
1062
- var value = _ref3.value,
1063
- done = _ref3.done;
1739
+ _this14._fullReader.read().then(function (_ref9) {
1740
+ var value = _ref9.value,
1741
+ done = _ref9.done;
1064
1742
 
1065
1743
  if (done) {
1066
1744
  sink.close();
1067
1745
  return;
1068
1746
  }
1747
+
1069
1748
  (0, _util.assert)((0, _util.isArrayBuffer)(value));
1070
1749
  sink.enqueue(new Uint8Array(value), 1, [value]);
1071
- }).catch(function (reason) {
1750
+ })["catch"](function (reason) {
1072
1751
  sink.error(reason);
1073
1752
  });
1074
1753
  };
1754
+
1075
1755
  sink.onCancel = function (reason) {
1076
- _this9._fullReader.cancel(reason);
1756
+ _this14._fullReader.cancel(reason);
1077
1757
  };
1078
- }, this);
1758
+ });
1079
1759
  messageHandler.on('ReaderHeadersReady', function (data) {
1080
- var _this10 = this;
1081
-
1082
1760
  var headersCapability = (0, _util.createPromiseCapability)();
1083
- var fullReader = this._fullReader;
1761
+ var fullReader = _this14._fullReader;
1084
1762
  fullReader.headersReady.then(function () {
1085
1763
  if (!fullReader.isStreamingSupported || !fullReader.isRangeSupported) {
1086
- if (_this10._lastProgress) {
1087
- var _loadingTask = _this10.loadingTask;
1088
- if (_loadingTask.onProgress) {
1089
- _loadingTask.onProgress(_this10._lastProgress);
1090
- }
1764
+ if (_this14._lastProgress && loadingTask.onProgress) {
1765
+ loadingTask.onProgress(_this14._lastProgress);
1091
1766
  }
1767
+
1092
1768
  fullReader.onProgress = function (evt) {
1093
- var loadingTask = _this10.loadingTask;
1094
1769
  if (loadingTask.onProgress) {
1095
1770
  loadingTask.onProgress({
1096
1771
  loaded: evt.loaded,
@@ -1099,6 +1774,7 @@ var WorkerTransport = function WorkerTransportClosure() {
1099
1774
  }
1100
1775
  };
1101
1776
  }
1777
+
1102
1778
  headersCapability.resolve({
1103
1779
  isStreamingSupported: fullReader.isStreamingSupported,
1104
1780
  isRangeSupported: fullReader.isRangeSupported,
@@ -1106,574 +1782,814 @@ var WorkerTransport = function WorkerTransportClosure() {
1106
1782
  });
1107
1783
  }, headersCapability.reject);
1108
1784
  return headersCapability.promise;
1109
- }, this);
1785
+ });
1110
1786
  messageHandler.on('GetRangeReader', function (data, sink) {
1111
- (0, _util.assert)(this._networkStream);
1112
- var _rangeReader = this._networkStream.getRangeReader(data.begin, data.end);
1787
+ (0, _util.assert)(_this14._networkStream);
1788
+
1789
+ var rangeReader = _this14._networkStream.getRangeReader(data.begin, data.end);
1790
+
1791
+ if (!rangeReader) {
1792
+ sink.close();
1793
+ return;
1794
+ }
1795
+
1113
1796
  sink.onPull = function () {
1114
- _rangeReader.read().then(function (_ref4) {
1115
- var value = _ref4.value,
1116
- done = _ref4.done;
1797
+ rangeReader.read().then(function (_ref10) {
1798
+ var value = _ref10.value,
1799
+ done = _ref10.done;
1117
1800
 
1118
1801
  if (done) {
1119
1802
  sink.close();
1120
1803
  return;
1121
1804
  }
1805
+
1122
1806
  (0, _util.assert)((0, _util.isArrayBuffer)(value));
1123
1807
  sink.enqueue(new Uint8Array(value), 1, [value]);
1124
- }).catch(function (reason) {
1808
+ })["catch"](function (reason) {
1125
1809
  sink.error(reason);
1126
1810
  });
1127
1811
  };
1812
+
1128
1813
  sink.onCancel = function (reason) {
1129
- _rangeReader.cancel(reason);
1814
+ rangeReader.cancel(reason);
1130
1815
  };
1131
- }, this);
1132
- messageHandler.on('GetDoc', function transportDoc(_ref5) {
1133
- var pdfInfo = _ref5.pdfInfo;
1134
-
1135
- this.numPages = pdfInfo.numPages;
1136
- var loadingTask = this.loadingTask;
1137
- var pdfDocument = new PDFDocumentProxy(pdfInfo, this, loadingTask);
1138
- this.pdfDocument = pdfDocument;
1139
- loadingTask._capability.resolve(pdfDocument);
1140
- }, this);
1141
- messageHandler.on('PasswordRequest', function transportPasswordRequest(exception) {
1142
- var _this11 = this;
1816
+ });
1817
+ messageHandler.on('GetDoc', function (_ref11) {
1818
+ var pdfInfo = _ref11.pdfInfo;
1819
+ _this14._numPages = pdfInfo.numPages;
1820
+
1821
+ loadingTask._capability.resolve(new PDFDocumentProxy(pdfInfo, _this14));
1822
+ });
1823
+ messageHandler.on('PasswordRequest', function (exception) {
1824
+ _this14._passwordCapability = (0, _util.createPromiseCapability)();
1143
1825
 
1144
- this._passwordCapability = (0, _util.createPromiseCapability)();
1145
1826
  if (loadingTask.onPassword) {
1146
1827
  var updatePassword = function updatePassword(password) {
1147
- _this11._passwordCapability.resolve({ password: password });
1828
+ _this14._passwordCapability.resolve({
1829
+ password: password
1830
+ });
1148
1831
  };
1832
+
1149
1833
  try {
1150
1834
  loadingTask.onPassword(updatePassword, exception.code);
1151
1835
  } catch (ex) {
1152
- this._passwordCapability.reject(ex);
1836
+ _this14._passwordCapability.reject(ex);
1153
1837
  }
1154
1838
  } else {
1155
- this._passwordCapability.reject(new _util.PasswordException(exception.message, exception.code));
1839
+ _this14._passwordCapability.reject(new _util.PasswordException(exception.message, exception.code));
1156
1840
  }
1157
- return this._passwordCapability.promise;
1158
- }, this);
1159
- messageHandler.on('PasswordException', function transportPasswordException(exception) {
1841
+
1842
+ return _this14._passwordCapability.promise;
1843
+ });
1844
+ messageHandler.on('PasswordException', function (exception) {
1160
1845
  loadingTask._capability.reject(new _util.PasswordException(exception.message, exception.code));
1161
- }, this);
1162
- messageHandler.on('InvalidPDF', function transportInvalidPDF(exception) {
1163
- this.loadingTask._capability.reject(new _util.InvalidPDFException(exception.message));
1164
- }, this);
1165
- messageHandler.on('MissingPDF', function transportMissingPDF(exception) {
1166
- this.loadingTask._capability.reject(new _util.MissingPDFException(exception.message));
1167
- }, this);
1168
- messageHandler.on('UnexpectedResponse', function transportUnexpectedResponse(exception) {
1169
- this.loadingTask._capability.reject(new _util.UnexpectedResponseException(exception.message, exception.status));
1170
- }, this);
1171
- messageHandler.on('UnknownError', function transportUnknownError(exception) {
1172
- this.loadingTask._capability.reject(new _util.UnknownErrorException(exception.message, exception.details));
1173
- }, this);
1174
- messageHandler.on('DataLoaded', function transportPage(data) {
1175
- this.downloadInfoCapability.resolve(data);
1176
- }, this);
1177
- messageHandler.on('PDFManagerReady', function transportPage(data) {}, this);
1178
- messageHandler.on('StartRenderPage', function transportRender(data) {
1179
- if (this.destroyed) {
1180
- return;
1846
+ });
1847
+ messageHandler.on('InvalidPDF', function (exception) {
1848
+ loadingTask._capability.reject(new _util.InvalidPDFException(exception.message));
1849
+ });
1850
+ messageHandler.on('MissingPDF', function (exception) {
1851
+ loadingTask._capability.reject(new _util.MissingPDFException(exception.message));
1852
+ });
1853
+ messageHandler.on('UnexpectedResponse', function (exception) {
1854
+ loadingTask._capability.reject(new _util.UnexpectedResponseException(exception.message, exception.status));
1855
+ });
1856
+ messageHandler.on('UnknownError', function (exception) {
1857
+ loadingTask._capability.reject(new _util.UnknownErrorException(exception.message, exception.details));
1858
+ });
1859
+ messageHandler.on('DataLoaded', function (data) {
1860
+ if (loadingTask.onProgress) {
1861
+ loadingTask.onProgress({
1862
+ loaded: data.length,
1863
+ total: data.length
1864
+ });
1181
1865
  }
1182
- var page = this.pageCache[data.pageIndex];
1183
- page._stats.timeEnd('Page Request');
1184
- page._startRenderPage(data.transparency, data.intent);
1185
- }, this);
1186
- messageHandler.on('RenderPageChunk', function transportRender(data) {
1187
- if (this.destroyed) {
1866
+
1867
+ _this14.downloadInfoCapability.resolve(data);
1868
+ });
1869
+ messageHandler.on('StartRenderPage', function (data) {
1870
+ if (_this14.destroyed) {
1188
1871
  return;
1189
1872
  }
1190
- var page = this.pageCache[data.pageIndex];
1191
- page._renderPageChunk(data.operatorList, data.intent);
1192
- }, this);
1193
- messageHandler.on('commonobj', function transportObj(data) {
1194
- var _this12 = this;
1195
1873
 
1196
- if (this.destroyed) {
1874
+ var page = _this14.pageCache[data.pageIndex];
1875
+
1876
+ page._startRenderPage(data.transparency, data.intent);
1877
+ });
1878
+ messageHandler.on('commonobj', function (data) {
1879
+ if (_this14.destroyed) {
1197
1880
  return;
1198
1881
  }
1199
- var id = data[0];
1200
- var type = data[1];
1201
- if (this.commonObjs.hasData(id)) {
1882
+
1883
+ var _data = _slicedToArray(data, 3),
1884
+ id = _data[0],
1885
+ type = _data[1],
1886
+ exportedData = _data[2];
1887
+
1888
+ if (_this14.commonObjs.has(id)) {
1202
1889
  return;
1203
1890
  }
1891
+
1204
1892
  switch (type) {
1205
1893
  case 'Font':
1206
- var exportedData = data[2];
1207
- var params = this._params;
1894
+ var params = _this14._params;
1895
+
1208
1896
  if ('error' in exportedData) {
1209
1897
  var exportedError = exportedData.error;
1210
- (0, _util.warn)('Error during font loading: ' + exportedError);
1211
- this.commonObjs.resolve(id, exportedError);
1898
+ (0, _util.warn)("Error during font loading: ".concat(exportedError));
1899
+
1900
+ _this14.commonObjs.resolve(id, exportedError);
1901
+
1212
1902
  break;
1213
1903
  }
1904
+
1214
1905
  var fontRegistry = null;
1215
- if (params.pdfBug && _global_scope2.default.FontInspector && _global_scope2.default.FontInspector.enabled) {
1906
+
1907
+ if (params.pdfBug && _global_scope["default"].FontInspector && _global_scope["default"].FontInspector.enabled) {
1216
1908
  fontRegistry = {
1217
1909
  registerFont: function registerFont(font, url) {
1218
- _global_scope2.default['FontInspector'].fontAdded(font, url);
1910
+ _global_scope["default"]['FontInspector'].fontAdded(font, url);
1219
1911
  }
1220
1912
  };
1221
1913
  }
1914
+
1222
1915
  var font = new _font_loader.FontFaceObject(exportedData, {
1223
1916
  isEvalSupported: params.isEvalSupported,
1224
1917
  disableFontFace: params.disableFontFace,
1918
+ ignoreErrors: params.ignoreErrors,
1919
+ onUnsupportedFeature: _this14._onUnsupportedFeature.bind(_this14),
1225
1920
  fontRegistry: fontRegistry
1226
1921
  });
1227
- var fontReady = function fontReady(fontObjs) {
1228
- _this12.commonObjs.resolve(id, font);
1229
- };
1230
- this.fontLoader.bind([font], fontReady);
1922
+
1923
+ _this14.fontLoader.bind(font).then(function () {
1924
+ _this14.commonObjs.resolve(id, font);
1925
+ }, function (reason) {
1926
+ messageHandler.sendWithPromise('FontFallback', {
1927
+ id: id
1928
+ })["finally"](function () {
1929
+ _this14.commonObjs.resolve(id, font);
1930
+ });
1931
+ });
1932
+
1231
1933
  break;
1934
+
1232
1935
  case 'FontPath':
1233
- this.commonObjs.resolve(id, data[2]);
1936
+ case 'FontType3Res':
1937
+ _this14.commonObjs.resolve(id, exportedData);
1938
+
1234
1939
  break;
1940
+
1235
1941
  default:
1236
- throw new Error('Got unknown common object type ' + type);
1942
+ throw new Error("Got unknown common object type ".concat(type));
1237
1943
  }
1238
- }, this);
1239
- messageHandler.on('obj', function transportObj(data) {
1240
- if (this.destroyed) {
1241
- return;
1944
+ });
1945
+ messageHandler.on('obj', function (data) {
1946
+ if (_this14.destroyed) {
1947
+ return undefined;
1242
1948
  }
1243
- var id = data[0];
1244
- var pageIndex = data[1];
1245
- var type = data[2];
1246
- var pageProxy = this.pageCache[pageIndex];
1247
- var imageData;
1248
- if (pageProxy.objs.hasData(id)) {
1249
- return;
1949
+
1950
+ var _data2 = _slicedToArray(data, 4),
1951
+ id = _data2[0],
1952
+ pageIndex = _data2[1],
1953
+ type = _data2[2],
1954
+ imageData = _data2[3];
1955
+
1956
+ var pageProxy = _this14.pageCache[pageIndex];
1957
+
1958
+ if (pageProxy.objs.has(id)) {
1959
+ return undefined;
1250
1960
  }
1961
+
1251
1962
  switch (type) {
1252
1963
  case 'JpegStream':
1253
- imageData = data[3];
1254
1964
  return new Promise(function (resolve, reject) {
1255
1965
  var img = new Image();
1966
+
1256
1967
  img.onload = function () {
1257
1968
  resolve(img);
1258
1969
  };
1970
+
1259
1971
  img.onerror = function () {
1260
1972
  reject(new Error('Error during JPEG image loading'));
1973
+ (0, _display_utils.releaseImageResources)(img);
1261
1974
  };
1975
+
1262
1976
  img.src = imageData;
1263
1977
  }).then(function (img) {
1264
1978
  pageProxy.objs.resolve(id, img);
1265
1979
  });
1980
+
1266
1981
  case 'Image':
1267
- imageData = data[3];
1268
1982
  pageProxy.objs.resolve(id, imageData);
1269
1983
  var MAX_IMAGE_SIZE_TO_STORE = 8000000;
1984
+
1270
1985
  if (imageData && 'data' in imageData && imageData.data.length > MAX_IMAGE_SIZE_TO_STORE) {
1271
1986
  pageProxy.cleanupAfterRender = true;
1272
1987
  }
1988
+
1273
1989
  break;
1990
+
1274
1991
  default:
1275
- throw new Error('Got unknown object type ' + type);
1992
+ throw new Error("Got unknown object type ".concat(type));
1276
1993
  }
1277
- }, this);
1278
- messageHandler.on('DocProgress', function transportDocProgress(data) {
1279
- if (this.destroyed) {
1994
+
1995
+ return undefined;
1996
+ });
1997
+ messageHandler.on('DocProgress', function (data) {
1998
+ if (_this14.destroyed) {
1280
1999
  return;
1281
2000
  }
1282
- var loadingTask = this.loadingTask;
2001
+
1283
2002
  if (loadingTask.onProgress) {
1284
2003
  loadingTask.onProgress({
1285
2004
  loaded: data.loaded,
1286
2005
  total: data.total
1287
2006
  });
1288
2007
  }
1289
- }, this);
1290
- messageHandler.on('PageError', function transportError(data) {
1291
- if (this.destroyed) {
1292
- return;
1293
- }
1294
- var page = this.pageCache[data.pageNum - 1];
1295
- var intentState = page.intentStates[data.intent];
1296
- if (intentState.displayReadyCapability) {
1297
- intentState.displayReadyCapability.reject(data.error);
1298
- } else {
1299
- throw new Error(data.error);
1300
- }
1301
- if (intentState.operatorList) {
1302
- intentState.operatorList.lastChunk = true;
1303
- for (var i = 0; i < intentState.renderTasks.length; i++) {
1304
- intentState.renderTasks[i].operatorListChanged();
1305
- }
1306
- }
1307
- }, this);
1308
- messageHandler.on('UnsupportedFeature', function (data) {
1309
- if (this.destroyed) {
1310
- return;
1311
- }
1312
- var loadingTask = this.loadingTask;
1313
- if (loadingTask.onUnsupportedFeature) {
1314
- loadingTask.onUnsupportedFeature(data.featureId);
1315
- }
1316
- }, this);
2008
+ });
2009
+ messageHandler.on('UnsupportedFeature', this._onUnsupportedFeature.bind(this));
1317
2010
  messageHandler.on('JpegDecode', function (data) {
1318
- if (this.destroyed) {
2011
+ if (_this14.destroyed) {
1319
2012
  return Promise.reject(new Error('Worker was destroyed'));
1320
2013
  }
2014
+
1321
2015
  if (typeof document === 'undefined') {
1322
2016
  return Promise.reject(new Error('"document" is not defined.'));
1323
2017
  }
1324
- var imageUrl = data[0];
1325
- var components = data[1];
2018
+
2019
+ var _data3 = _slicedToArray(data, 2),
2020
+ imageUrl = _data3[0],
2021
+ components = _data3[1];
2022
+
1326
2023
  if (components !== 3 && components !== 1) {
1327
2024
  return Promise.reject(new Error('Only 3 components or 1 component can be returned'));
1328
2025
  }
2026
+
1329
2027
  return new Promise(function (resolve, reject) {
1330
2028
  var img = new Image();
2029
+
1331
2030
  img.onload = function () {
1332
- var width = img.width;
1333
- var height = img.height;
2031
+ var width = img.width,
2032
+ height = img.height;
1334
2033
  var size = width * height;
1335
2034
  var rgbaLength = size * 4;
1336
- var buf = new Uint8Array(size * components);
2035
+ var buf = new Uint8ClampedArray(size * components);
1337
2036
  var tmpCanvas = document.createElement('canvas');
1338
2037
  tmpCanvas.width = width;
1339
2038
  tmpCanvas.height = height;
1340
2039
  var tmpCtx = tmpCanvas.getContext('2d');
1341
2040
  tmpCtx.drawImage(img, 0, 0);
1342
2041
  var data = tmpCtx.getImageData(0, 0, width, height).data;
1343
- var i, j;
2042
+
1344
2043
  if (components === 3) {
1345
- for (i = 0, j = 0; i < rgbaLength; i += 4, j += 3) {
2044
+ for (var i = 0, j = 0; i < rgbaLength; i += 4, j += 3) {
1346
2045
  buf[j] = data[i];
1347
2046
  buf[j + 1] = data[i + 1];
1348
2047
  buf[j + 2] = data[i + 2];
1349
2048
  }
1350
2049
  } else if (components === 1) {
1351
- for (i = 0, j = 0; i < rgbaLength; i += 4, j++) {
1352
- buf[j] = data[i];
2050
+ for (var _i2 = 0, _j = 0; _i2 < rgbaLength; _i2 += 4, _j++) {
2051
+ buf[_j] = data[_i2];
1353
2052
  }
1354
2053
  }
2054
+
1355
2055
  resolve({
1356
2056
  data: buf,
1357
2057
  width: width,
1358
2058
  height: height
1359
2059
  });
2060
+ (0, _display_utils.releaseImageResources)(img);
2061
+ tmpCanvas.width = 0;
2062
+ tmpCanvas.height = 0;
2063
+ tmpCanvas = null;
2064
+ tmpCtx = null;
1360
2065
  };
2066
+
1361
2067
  img.onerror = function () {
1362
2068
  reject(new Error('JpegDecode failed to load image'));
2069
+ (0, _display_utils.releaseImageResources)(img);
1363
2070
  };
2071
+
1364
2072
  img.src = imageUrl;
1365
2073
  });
1366
- }, this);
1367
- messageHandler.on('FetchBuiltInCMap', function (data) {
1368
- if (this.destroyed) {
1369
- return Promise.reject(new Error('Worker was destroyed'));
2074
+ });
2075
+ messageHandler.on('FetchBuiltInCMap', function (data, sink) {
2076
+ if (_this14.destroyed) {
2077
+ sink.error(new Error('Worker was destroyed'));
2078
+ return;
1370
2079
  }
1371
- return this.CMapReaderFactory.fetch({ name: data.name });
1372
- }, this);
1373
- },
1374
- getData: function WorkerTransport_getData() {
2080
+
2081
+ var fetched = false;
2082
+
2083
+ sink.onPull = function () {
2084
+ if (fetched) {
2085
+ sink.close();
2086
+ return;
2087
+ }
2088
+
2089
+ fetched = true;
2090
+
2091
+ _this14.CMapReaderFactory.fetch(data).then(function (builtInCMap) {
2092
+ sink.enqueue(builtInCMap, 1, [builtInCMap.cMapData.buffer]);
2093
+ })["catch"](function (reason) {
2094
+ sink.error(reason);
2095
+ });
2096
+ };
2097
+ });
2098
+ }
2099
+ }, {
2100
+ key: "_onUnsupportedFeature",
2101
+ value: function _onUnsupportedFeature(_ref12) {
2102
+ var featureId = _ref12.featureId;
2103
+
2104
+ if (this.destroyed) {
2105
+ return;
2106
+ }
2107
+
2108
+ if (this.loadingTask.onUnsupportedFeature) {
2109
+ this.loadingTask.onUnsupportedFeature(featureId);
2110
+ }
2111
+ }
2112
+ }, {
2113
+ key: "getData",
2114
+ value: function getData() {
1375
2115
  return this.messageHandler.sendWithPromise('GetData', null);
1376
- },
1377
- getPage: function getPage(pageNumber) {
1378
- var _this13 = this;
2116
+ }
2117
+ }, {
2118
+ key: "getPage",
2119
+ value: function getPage(pageNumber) {
2120
+ var _this15 = this;
1379
2121
 
1380
- if (!Number.isInteger(pageNumber) || pageNumber <= 0 || pageNumber > this.numPages) {
2122
+ if (!Number.isInteger(pageNumber) || pageNumber <= 0 || pageNumber > this._numPages) {
1381
2123
  return Promise.reject(new Error('Invalid page request'));
1382
2124
  }
2125
+
1383
2126
  var pageIndex = pageNumber - 1;
2127
+
1384
2128
  if (pageIndex in this.pagePromises) {
1385
2129
  return this.pagePromises[pageIndex];
1386
2130
  }
1387
- var promise = this.messageHandler.sendWithPromise('GetPage', { pageIndex: pageIndex }).then(function (pageInfo) {
1388
- if (_this13.destroyed) {
2131
+
2132
+ var promise = this.messageHandler.sendWithPromise('GetPage', {
2133
+ pageIndex: pageIndex
2134
+ }).then(function (pageInfo) {
2135
+ if (_this15.destroyed) {
1389
2136
  throw new Error('Transport destroyed');
1390
2137
  }
1391
- var page = new PDFPageProxy(pageIndex, pageInfo, _this13, _this13._params.pdfBug);
1392
- _this13.pageCache[pageIndex] = page;
2138
+
2139
+ var page = new PDFPageProxy(pageIndex, pageInfo, _this15, _this15._params.pdfBug);
2140
+ _this15.pageCache[pageIndex] = page;
1393
2141
  return page;
1394
2142
  });
1395
2143
  this.pagePromises[pageIndex] = promise;
1396
2144
  return promise;
1397
- },
1398
-
1399
- getPageIndex: function WorkerTransport_getPageIndexByRef(ref) {
1400
- return this.messageHandler.sendWithPromise('GetPageIndex', { ref: ref }).catch(function (reason) {
2145
+ }
2146
+ }, {
2147
+ key: "getPageIndex",
2148
+ value: function getPageIndex(ref) {
2149
+ return this.messageHandler.sendWithPromise('GetPageIndex', {
2150
+ ref: ref
2151
+ })["catch"](function (reason) {
1401
2152
  return Promise.reject(new Error(reason));
1402
2153
  });
1403
- },
1404
- getAnnotations: function WorkerTransport_getAnnotations(pageIndex, intent) {
2154
+ }
2155
+ }, {
2156
+ key: "getAnnotations",
2157
+ value: function getAnnotations(pageIndex, intent) {
1405
2158
  return this.messageHandler.sendWithPromise('GetAnnotations', {
1406
2159
  pageIndex: pageIndex,
1407
2160
  intent: intent
1408
2161
  });
1409
- },
1410
- getDestinations: function WorkerTransport_getDestinations() {
2162
+ }
2163
+ }, {
2164
+ key: "getDestinations",
2165
+ value: function getDestinations() {
1411
2166
  return this.messageHandler.sendWithPromise('GetDestinations', null);
1412
- },
1413
- getDestination: function WorkerTransport_getDestination(id) {
1414
- return this.messageHandler.sendWithPromise('GetDestination', { id: id });
1415
- },
1416
- getPageLabels: function WorkerTransport_getPageLabels() {
2167
+ }
2168
+ }, {
2169
+ key: "getDestination",
2170
+ value: function getDestination(id) {
2171
+ if (typeof id !== 'string') {
2172
+ return Promise.reject(new Error('Invalid destination request.'));
2173
+ }
2174
+
2175
+ return this.messageHandler.sendWithPromise('GetDestination', {
2176
+ id: id
2177
+ });
2178
+ }
2179
+ }, {
2180
+ key: "getPageLabels",
2181
+ value: function getPageLabels() {
1417
2182
  return this.messageHandler.sendWithPromise('GetPageLabels', null);
1418
- },
1419
- getPageMode: function getPageMode() {
2183
+ }
2184
+ }, {
2185
+ key: "getPageLayout",
2186
+ value: function getPageLayout() {
2187
+ return this.messageHandler.sendWithPromise('GetPageLayout', null);
2188
+ }
2189
+ }, {
2190
+ key: "getPageMode",
2191
+ value: function getPageMode() {
1420
2192
  return this.messageHandler.sendWithPromise('GetPageMode', null);
1421
- },
1422
-
1423
- getAttachments: function WorkerTransport_getAttachments() {
2193
+ }
2194
+ }, {
2195
+ key: "getViewerPreferences",
2196
+ value: function getViewerPreferences() {
2197
+ return this.messageHandler.sendWithPromise('GetViewerPreferences', null);
2198
+ }
2199
+ }, {
2200
+ key: "getOpenActionDestination",
2201
+ value: function getOpenActionDestination() {
2202
+ return this.messageHandler.sendWithPromise('GetOpenActionDestination', null);
2203
+ }
2204
+ }, {
2205
+ key: "getAttachments",
2206
+ value: function getAttachments() {
1424
2207
  return this.messageHandler.sendWithPromise('GetAttachments', null);
1425
- },
1426
- getJavaScript: function WorkerTransport_getJavaScript() {
2208
+ }
2209
+ }, {
2210
+ key: "getJavaScript",
2211
+ value: function getJavaScript() {
1427
2212
  return this.messageHandler.sendWithPromise('GetJavaScript', null);
1428
- },
1429
- getOutline: function WorkerTransport_getOutline() {
2213
+ }
2214
+ }, {
2215
+ key: "getOutline",
2216
+ value: function getOutline() {
1430
2217
  return this.messageHandler.sendWithPromise('GetOutline', null);
1431
- },
1432
- getMetadata: function WorkerTransport_getMetadata() {
1433
- var _this14 = this;
2218
+ }
2219
+ }, {
2220
+ key: "getPermissions",
2221
+ value: function getPermissions() {
2222
+ return this.messageHandler.sendWithPromise('GetPermissions', null);
2223
+ }
2224
+ }, {
2225
+ key: "getMetadata",
2226
+ value: function getMetadata() {
2227
+ var _this16 = this;
1434
2228
 
1435
2229
  return this.messageHandler.sendWithPromise('GetMetadata', null).then(function (results) {
1436
2230
  return {
1437
2231
  info: results[0],
1438
2232
  metadata: results[1] ? new _metadata.Metadata(results[1]) : null,
1439
- contentDispositionFilename: _this14._fullReader ? _this14._fullReader.filename : null
2233
+ contentDispositionFilename: _this16._fullReader ? _this16._fullReader.filename : null
1440
2234
  };
1441
2235
  });
1442
- },
1443
- getStats: function WorkerTransport_getStats() {
2236
+ }
2237
+ }, {
2238
+ key: "getStats",
2239
+ value: function getStats() {
1444
2240
  return this.messageHandler.sendWithPromise('GetStats', null);
1445
- },
1446
- startCleanup: function WorkerTransport_startCleanup() {
1447
- var _this15 = this;
2241
+ }
2242
+ }, {
2243
+ key: "startCleanup",
2244
+ value: function startCleanup() {
2245
+ var _this17 = this;
1448
2246
 
1449
2247
  this.messageHandler.sendWithPromise('Cleanup', null).then(function () {
1450
- for (var i = 0, ii = _this15.pageCache.length; i < ii; i++) {
1451
- var page = _this15.pageCache[i];
2248
+ for (var i = 0, ii = _this17.pageCache.length; i < ii; i++) {
2249
+ var page = _this17.pageCache[i];
2250
+
1452
2251
  if (page) {
1453
2252
  page.cleanup();
1454
2253
  }
1455
2254
  }
1456
- _this15.commonObjs.clear();
1457
- _this15.fontLoader.clear();
2255
+
2256
+ _this17.commonObjs.clear();
2257
+
2258
+ _this17.fontLoader.clear();
1458
2259
  });
1459
- },
1460
- get loadingParams() {
2260
+ }
2261
+ }, {
2262
+ key: "loadingParams",
2263
+ get: function get() {
1461
2264
  var params = this._params;
1462
2265
  return (0, _util.shadow)(this, 'loadingParams', {
1463
- disableRange: params.disableRange,
1464
- disableStream: params.disableStream,
1465
2266
  disableAutoFetch: params.disableAutoFetch,
1466
2267
  disableCreateObjectURL: params.disableCreateObjectURL,
1467
2268
  disableFontFace: params.disableFontFace,
1468
2269
  nativeImageDecoderSupport: params.nativeImageDecoderSupport
1469
2270
  });
1470
2271
  }
1471
- };
2272
+ }]);
2273
+
1472
2274
  return WorkerTransport;
1473
2275
  }();
1474
- var PDFObjects = function PDFObjectsClosure() {
2276
+
2277
+ var PDFObjects =
2278
+ /*#__PURE__*/
2279
+ function () {
1475
2280
  function PDFObjects() {
1476
- this.objs = Object.create(null);
2281
+ _classCallCheck(this, PDFObjects);
2282
+
2283
+ this._objs = Object.create(null);
1477
2284
  }
1478
- PDFObjects.prototype = {
1479
- ensureObj: function PDFObjects_ensureObj(objId) {
1480
- if (this.objs[objId]) {
1481
- return this.objs[objId];
2285
+
2286
+ _createClass(PDFObjects, [{
2287
+ key: "_ensureObj",
2288
+ value: function _ensureObj(objId) {
2289
+ if (this._objs[objId]) {
2290
+ return this._objs[objId];
1482
2291
  }
1483
- var obj = {
2292
+
2293
+ return this._objs[objId] = {
1484
2294
  capability: (0, _util.createPromiseCapability)(),
1485
2295
  data: null,
1486
2296
  resolved: false
1487
2297
  };
1488
- this.objs[objId] = obj;
1489
- return obj;
1490
- },
1491
- get: function PDFObjects_get(objId, callback) {
2298
+ }
2299
+ }, {
2300
+ key: "get",
2301
+ value: function get(objId) {
2302
+ var callback = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;
2303
+
1492
2304
  if (callback) {
1493
- this.ensureObj(objId).capability.promise.then(callback);
2305
+ this._ensureObj(objId).capability.promise.then(callback);
2306
+
1494
2307
  return null;
1495
2308
  }
1496
- var obj = this.objs[objId];
2309
+
2310
+ var obj = this._objs[objId];
2311
+
1497
2312
  if (!obj || !obj.resolved) {
1498
- throw new Error('Requesting object that isn\'t resolved yet ' + objId);
2313
+ throw new Error("Requesting object that isn't resolved yet ".concat(objId, "."));
1499
2314
  }
2315
+
1500
2316
  return obj.data;
1501
- },
1502
- resolve: function PDFObjects_resolve(objId, data) {
1503
- var obj = this.ensureObj(objId);
2317
+ }
2318
+ }, {
2319
+ key: "has",
2320
+ value: function has(objId) {
2321
+ var obj = this._objs[objId];
2322
+ return obj ? obj.resolved : false;
2323
+ }
2324
+ }, {
2325
+ key: "resolve",
2326
+ value: function resolve(objId, data) {
2327
+ var obj = this._ensureObj(objId);
2328
+
1504
2329
  obj.resolved = true;
1505
2330
  obj.data = data;
1506
2331
  obj.capability.resolve(data);
1507
- },
1508
- isResolved: function PDFObjects_isResolved(objId) {
1509
- var objs = this.objs;
1510
- if (!objs[objId]) {
1511
- return false;
1512
- }
1513
- return objs[objId].resolved;
1514
- },
1515
- hasData: function PDFObjects_hasData(objId) {
1516
- return this.isResolved(objId);
1517
- },
1518
- getData: function PDFObjects_getData(objId) {
1519
- var objs = this.objs;
1520
- if (!objs[objId] || !objs[objId].resolved) {
1521
- return null;
2332
+ }
2333
+ }, {
2334
+ key: "clear",
2335
+ value: function clear() {
2336
+ for (var objId in this._objs) {
2337
+ var data = this._objs[objId].data;
2338
+
2339
+ if (typeof Image !== 'undefined' && data instanceof Image) {
2340
+ (0, _display_utils.releaseImageResources)(data);
2341
+ }
1522
2342
  }
1523
- return objs[objId].data;
1524
- },
1525
- clear: function PDFObjects_clear() {
1526
- this.objs = Object.create(null);
2343
+
2344
+ this._objs = Object.create(null);
1527
2345
  }
1528
- };
2346
+ }]);
2347
+
1529
2348
  return PDFObjects;
1530
2349
  }();
1531
- var RenderTask = function RenderTaskClosure() {
2350
+
2351
+ var RenderTask =
2352
+ /*#__PURE__*/
2353
+ function () {
1532
2354
  function RenderTask(internalRenderTask) {
2355
+ _classCallCheck(this, RenderTask);
2356
+
1533
2357
  this._internalRenderTask = internalRenderTask;
1534
2358
  this.onContinue = null;
1535
2359
  }
1536
- RenderTask.prototype = {
1537
- get promise() {
1538
- return this._internalRenderTask.capability.promise;
1539
- },
1540
- cancel: function RenderTask_cancel() {
2360
+
2361
+ _createClass(RenderTask, [{
2362
+ key: "cancel",
2363
+ value: function cancel() {
1541
2364
  this._internalRenderTask.cancel();
1542
- },
1543
- then: function RenderTask_then(onFulfilled, onRejected) {
2365
+ }
2366
+ }, {
2367
+ key: "then",
2368
+ value: function then(onFulfilled, onRejected) {
2369
+ (0, _display_utils.deprecated)('RenderTask.then method, use the `promise` getter instead.');
1544
2370
  return this.promise.then.apply(this.promise, arguments);
1545
2371
  }
1546
- };
2372
+ }, {
2373
+ key: "promise",
2374
+ get: function get() {
2375
+ return this._internalRenderTask.capability.promise;
2376
+ }
2377
+ }]);
2378
+
1547
2379
  return RenderTask;
1548
2380
  }();
2381
+
1549
2382
  var InternalRenderTask = function InternalRenderTaskClosure() {
1550
- var canvasInRendering = new WeakMap();
1551
- function InternalRenderTask(callback, params, objs, commonObjs, operatorList, pageNumber, canvasFactory, webGLContext) {
1552
- var pdfBug = arguments.length > 8 && arguments[8] !== undefined ? arguments[8] : false;
1553
-
1554
- this.callback = callback;
1555
- this.params = params;
1556
- this.objs = objs;
1557
- this.commonObjs = commonObjs;
1558
- this.operatorListIdx = null;
1559
- this.operatorList = operatorList;
1560
- this.pageNumber = pageNumber;
1561
- this.canvasFactory = canvasFactory;
1562
- this.webGLContext = webGLContext;
1563
- this._pdfBug = pdfBug;
1564
- this.running = false;
1565
- this.graphicsReadyCallback = null;
1566
- this.graphicsReady = false;
1567
- this.useRequestAnimationFrame = false;
1568
- this.cancelled = false;
1569
- this.capability = (0, _util.createPromiseCapability)();
1570
- this.task = new RenderTask(this);
1571
- this._continueBound = this._continue.bind(this);
1572
- this._scheduleNextBound = this._scheduleNext.bind(this);
1573
- this._nextBound = this._next.bind(this);
1574
- this._canvas = params.canvasContext.canvas;
1575
- }
1576
- InternalRenderTask.prototype = {
1577
- initializeGraphics: function InternalRenderTask_initializeGraphics(transparency) {
1578
- if (this._canvas) {
1579
- if (canvasInRendering.has(this._canvas)) {
1580
- throw new Error('Cannot use the same canvas during multiple render() operations. ' + 'Use different canvas or ensure previous operations were ' + 'cancelled or completed.');
1581
- }
1582
- canvasInRendering.set(this._canvas, this);
1583
- }
1584
- if (this.cancelled) {
1585
- return;
1586
- }
1587
- if (this._pdfBug && _global_scope2.default.StepperManager && _global_scope2.default.StepperManager.enabled) {
1588
- this.stepper = _global_scope2.default.StepperManager.create(this.pageNumber - 1);
1589
- this.stepper.init(this.operatorList);
1590
- this.stepper.nextBreakPoint = this.stepper.getNextBreakPoint();
1591
- }
1592
- var params = this.params;
1593
- this.gfx = new _canvas.CanvasGraphics(params.canvasContext, this.commonObjs, this.objs, this.canvasFactory, this.webGLContext, params.imageLayer);
1594
- this.gfx.beginDrawing({
1595
- transform: params.transform,
1596
- viewport: params.viewport,
1597
- transparency: transparency,
1598
- background: params.background
1599
- });
1600
- this.operatorListIdx = 0;
1601
- this.graphicsReady = true;
1602
- if (this.graphicsReadyCallback) {
1603
- this.graphicsReadyCallback();
1604
- }
1605
- },
1606
- cancel: function InternalRenderTask_cancel() {
2383
+ var canvasInRendering = new WeakSet();
2384
+
2385
+ var InternalRenderTask =
2386
+ /*#__PURE__*/
2387
+ function () {
2388
+ function InternalRenderTask(_ref13) {
2389
+ var callback = _ref13.callback,
2390
+ params = _ref13.params,
2391
+ objs = _ref13.objs,
2392
+ commonObjs = _ref13.commonObjs,
2393
+ operatorList = _ref13.operatorList,
2394
+ pageNumber = _ref13.pageNumber,
2395
+ canvasFactory = _ref13.canvasFactory,
2396
+ webGLContext = _ref13.webGLContext,
2397
+ _ref13$useRequestAnim = _ref13.useRequestAnimationFrame,
2398
+ useRequestAnimationFrame = _ref13$useRequestAnim === void 0 ? false : _ref13$useRequestAnim,
2399
+ _ref13$pdfBug = _ref13.pdfBug,
2400
+ pdfBug = _ref13$pdfBug === void 0 ? false : _ref13$pdfBug;
2401
+
2402
+ _classCallCheck(this, InternalRenderTask);
2403
+
2404
+ this.callback = callback;
2405
+ this.params = params;
2406
+ this.objs = objs;
2407
+ this.commonObjs = commonObjs;
2408
+ this.operatorListIdx = null;
2409
+ this.operatorList = operatorList;
2410
+ this.pageNumber = pageNumber;
2411
+ this.canvasFactory = canvasFactory;
2412
+ this.webGLContext = webGLContext;
2413
+ this._pdfBug = pdfBug;
1607
2414
  this.running = false;
1608
- this.cancelled = true;
1609
- if (this._canvas) {
1610
- canvasInRendering.delete(this._canvas);
1611
- }
1612
- this.callback(new _dom_utils.RenderingCancelledException('Rendering cancelled, page ' + this.pageNumber, 'canvas'));
1613
- },
1614
- operatorListChanged: function InternalRenderTask_operatorListChanged() {
1615
- if (!this.graphicsReady) {
1616
- if (!this.graphicsReadyCallback) {
1617
- this.graphicsReadyCallback = this._continueBound;
2415
+ this.graphicsReadyCallback = null;
2416
+ this.graphicsReady = false;
2417
+ this._useRequestAnimationFrame = useRequestAnimationFrame === true && typeof window !== 'undefined';
2418
+ this.cancelled = false;
2419
+ this.capability = (0, _util.createPromiseCapability)();
2420
+ this.task = new RenderTask(this);
2421
+ this._continueBound = this._continue.bind(this);
2422
+ this._scheduleNextBound = this._scheduleNext.bind(this);
2423
+ this._nextBound = this._next.bind(this);
2424
+ this._canvas = params.canvasContext.canvas;
2425
+ }
2426
+
2427
+ _createClass(InternalRenderTask, [{
2428
+ key: "initializeGraphics",
2429
+ value: function initializeGraphics() {
2430
+ var transparency = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
2431
+
2432
+ if (this.cancelled) {
2433
+ return;
2434
+ }
2435
+
2436
+ if (this._canvas) {
2437
+ if (canvasInRendering.has(this._canvas)) {
2438
+ throw new Error('Cannot use the same canvas during multiple render() operations. ' + 'Use different canvas or ensure previous operations were ' + 'cancelled or completed.');
2439
+ }
2440
+
2441
+ canvasInRendering.add(this._canvas);
2442
+ }
2443
+
2444
+ if (this._pdfBug && _global_scope["default"].StepperManager && _global_scope["default"].StepperManager.enabled) {
2445
+ this.stepper = _global_scope["default"].StepperManager.create(this.pageNumber - 1);
2446
+ this.stepper.init(this.operatorList);
2447
+ this.stepper.nextBreakPoint = this.stepper.getNextBreakPoint();
2448
+ }
2449
+
2450
+ var _this$params = this.params,
2451
+ canvasContext = _this$params.canvasContext,
2452
+ viewport = _this$params.viewport,
2453
+ transform = _this$params.transform,
2454
+ imageLayer = _this$params.imageLayer,
2455
+ background = _this$params.background;
2456
+ this.gfx = new _canvas.CanvasGraphics(canvasContext, this.commonObjs, this.objs, this.canvasFactory, this.webGLContext, imageLayer);
2457
+ this.gfx.beginDrawing({
2458
+ transform: transform,
2459
+ viewport: viewport,
2460
+ transparency: transparency,
2461
+ background: background
2462
+ });
2463
+ this.operatorListIdx = 0;
2464
+ this.graphicsReady = true;
2465
+
2466
+ if (this.graphicsReadyCallback) {
2467
+ this.graphicsReadyCallback();
1618
2468
  }
1619
- return;
1620
- }
1621
- if (this.stepper) {
1622
- this.stepper.updateOperatorList(this.operatorList);
1623
- }
1624
- if (this.running) {
1625
- return;
1626
- }
1627
- this._continue();
1628
- },
1629
- _continue: function InternalRenderTask__continue() {
1630
- this.running = true;
1631
- if (this.cancelled) {
1632
- return;
1633
- }
1634
- if (this.task.onContinue) {
1635
- this.task.onContinue(this._scheduleNextBound);
1636
- } else {
1637
- this._scheduleNext();
1638
- }
1639
- },
1640
- _scheduleNext: function InternalRenderTask__scheduleNext() {
1641
- if (this.useRequestAnimationFrame && typeof window !== 'undefined') {
1642
- window.requestAnimationFrame(this._nextBound);
1643
- } else {
1644
- Promise.resolve(undefined).then(this._nextBound);
1645
- }
1646
- },
1647
- _next: function InternalRenderTask__next() {
1648
- if (this.cancelled) {
1649
- return;
1650
2469
  }
1651
- this.operatorListIdx = this.gfx.executeOperatorList(this.operatorList, this.operatorListIdx, this._continueBound, this.stepper);
1652
- if (this.operatorListIdx === this.operatorList.argsArray.length) {
2470
+ }, {
2471
+ key: "cancel",
2472
+ value: function cancel() {
2473
+ var error = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;
1653
2474
  this.running = false;
1654
- if (this.operatorList.lastChunk) {
2475
+ this.cancelled = true;
2476
+
2477
+ if (this.gfx) {
1655
2478
  this.gfx.endDrawing();
1656
- if (this._canvas) {
1657
- canvasInRendering.delete(this._canvas);
2479
+ }
2480
+
2481
+ if (this._canvas) {
2482
+ canvasInRendering["delete"](this._canvas);
2483
+ }
2484
+
2485
+ this.callback(error || new _display_utils.RenderingCancelledException("Rendering cancelled, page ".concat(this.pageNumber), 'canvas'));
2486
+ }
2487
+ }, {
2488
+ key: "operatorListChanged",
2489
+ value: function operatorListChanged() {
2490
+ if (!this.graphicsReady) {
2491
+ if (!this.graphicsReadyCallback) {
2492
+ this.graphicsReadyCallback = this._continueBound;
1658
2493
  }
1659
- this.callback();
2494
+
2495
+ return;
1660
2496
  }
2497
+
2498
+ if (this.stepper) {
2499
+ this.stepper.updateOperatorList(this.operatorList);
2500
+ }
2501
+
2502
+ if (this.running) {
2503
+ return;
2504
+ }
2505
+
2506
+ this._continue();
1661
2507
  }
1662
- }
1663
- };
2508
+ }, {
2509
+ key: "_continue",
2510
+ value: function _continue() {
2511
+ this.running = true;
2512
+
2513
+ if (this.cancelled) {
2514
+ return;
2515
+ }
2516
+
2517
+ if (this.task.onContinue) {
2518
+ this.task.onContinue(this._scheduleNextBound);
2519
+ } else {
2520
+ this._scheduleNext();
2521
+ }
2522
+ }
2523
+ }, {
2524
+ key: "_scheduleNext",
2525
+ value: function _scheduleNext() {
2526
+ var _this18 = this;
2527
+
2528
+ if (this._useRequestAnimationFrame) {
2529
+ window.requestAnimationFrame(function () {
2530
+ _this18._nextBound()["catch"](_this18.cancel.bind(_this18));
2531
+ });
2532
+ } else {
2533
+ Promise.resolve().then(this._nextBound)["catch"](this.cancel.bind(this));
2534
+ }
2535
+ }
2536
+ }, {
2537
+ key: "_next",
2538
+ value: function () {
2539
+ var _next2 = _asyncToGenerator(
2540
+ /*#__PURE__*/
2541
+ _regenerator["default"].mark(function _callee() {
2542
+ return _regenerator["default"].wrap(function _callee$(_context) {
2543
+ while (1) {
2544
+ switch (_context.prev = _context.next) {
2545
+ case 0:
2546
+ if (!this.cancelled) {
2547
+ _context.next = 2;
2548
+ break;
2549
+ }
2550
+
2551
+ return _context.abrupt("return");
2552
+
2553
+ case 2:
2554
+ this.operatorListIdx = this.gfx.executeOperatorList(this.operatorList, this.operatorListIdx, this._continueBound, this.stepper);
2555
+
2556
+ if (this.operatorListIdx === this.operatorList.argsArray.length) {
2557
+ this.running = false;
2558
+
2559
+ if (this.operatorList.lastChunk) {
2560
+ this.gfx.endDrawing();
2561
+
2562
+ if (this._canvas) {
2563
+ canvasInRendering["delete"](this._canvas);
2564
+ }
2565
+
2566
+ this.callback();
2567
+ }
2568
+ }
2569
+
2570
+ case 4:
2571
+ case "end":
2572
+ return _context.stop();
2573
+ }
2574
+ }
2575
+ }, _callee, this);
2576
+ }));
2577
+
2578
+ function _next() {
2579
+ return _next2.apply(this, arguments);
2580
+ }
2581
+
2582
+ return _next;
2583
+ }()
2584
+ }]);
2585
+
2586
+ return InternalRenderTask;
2587
+ }();
2588
+
1664
2589
  return InternalRenderTask;
1665
2590
  }();
1666
- var version, build;
1667
- {
1668
- exports.version = version = '2.0.550';
1669
- exports.build = build = '76337fdc';
1670
- }
1671
- exports.getDocument = getDocument;
1672
- exports.LoopbackPort = LoopbackPort;
1673
- exports.PDFDataRangeTransport = PDFDataRangeTransport;
1674
- exports.PDFWorker = PDFWorker;
1675
- exports.PDFDocumentProxy = PDFDocumentProxy;
1676
- exports.PDFPageProxy = PDFPageProxy;
1677
- exports.setPDFNetworkStreamFactory = setPDFNetworkStreamFactory;
2591
+
2592
+ var version = '2.3.200';
1678
2593
  exports.version = version;
2594
+ var build = '4ae3f9fc';
1679
2595
  exports.build = build;