pdfjs-dist 2.3.200 → 2.4.456

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 (185) hide show
  1. package/README.md +4 -0
  2. package/bower.json +1 -1
  3. package/build/pdf.js +6499 -17971
  4. package/build/pdf.js.map +1 -1
  5. package/build/pdf.min.js +22 -1
  6. package/build/pdf.worker.entry.js +5 -3
  7. package/build/pdf.worker.js +19303 -29896
  8. package/build/pdf.worker.js.map +1 -1
  9. package/build/pdf.worker.min.js +22 -1
  10. package/es5/build/pdf.js +25473 -0
  11. package/es5/build/pdf.js.map +1 -0
  12. package/{lib/shared/global_scope.js → es5/build/pdf.worker.entry.js} +5 -10
  13. package/es5/build/pdf.worker.js +57878 -0
  14. package/es5/build/pdf.worker.js.map +1 -0
  15. package/es5/web/images/annotation-check.svg +11 -0
  16. package/es5/web/images/annotation-comment.svg +16 -0
  17. package/es5/web/images/annotation-help.svg +26 -0
  18. package/es5/web/images/annotation-insert.svg +10 -0
  19. package/es5/web/images/annotation-key.svg +11 -0
  20. package/es5/web/images/annotation-newparagraph.svg +11 -0
  21. package/es5/web/images/annotation-noicon.svg +7 -0
  22. package/es5/web/images/annotation-note.svg +42 -0
  23. package/es5/web/images/annotation-paragraph.svg +16 -0
  24. package/es5/web/images/loading-icon.gif +0 -0
  25. package/es5/web/images/shadow.png +0 -0
  26. package/es5/web/images/texture.png +0 -0
  27. package/es5/web/pdf_viewer.css +407 -0
  28. package/es5/web/pdf_viewer.js +7757 -0
  29. package/es5/web/pdf_viewer.js.map +1 -0
  30. package/image_decoders/pdf.image_decoders.js +1333 -4839
  31. package/image_decoders/pdf.image_decoders.js.map +1 -1
  32. package/image_decoders/pdf.image_decoders.min.js +22 -1
  33. package/lib/README.md +7 -0
  34. package/lib/core/annotation.js +683 -1066
  35. package/lib/core/arithmetic_decoder.js +81 -97
  36. package/lib/core/bidi.js +54 -46
  37. package/lib/core/ccitt.js +88 -81
  38. package/lib/core/ccitt_stream.js +15 -14
  39. package/lib/core/cff_parser.js +196 -193
  40. package/lib/core/charsets.js +4 -4
  41. package/lib/core/chunked_stream.js +441 -569
  42. package/lib/core/cmap.js +220 -279
  43. package/lib/core/colorspace.js +699 -863
  44. package/lib/core/core_utils.js +59 -80
  45. package/lib/core/crypto.js +379 -437
  46. package/lib/core/document.js +564 -673
  47. package/lib/core/encodings.js +15 -15
  48. package/lib/core/evaluator.js +983 -889
  49. package/lib/core/font_renderer.js +128 -171
  50. package/lib/core/fonts.js +451 -400
  51. package/lib/core/function.js +289 -285
  52. package/lib/core/glyphlist.js +4527 -4527
  53. package/lib/core/image.js +138 -117
  54. package/lib/core/image_utils.js +46 -63
  55. package/lib/core/jbig2.js +324 -332
  56. package/lib/core/jbig2_stream.js +18 -17
  57. package/lib/core/jpeg_stream.js +133 -24
  58. package/lib/core/jpg.js +238 -210
  59. package/lib/core/jpx.js +158 -157
  60. package/lib/core/jpx_stream.js +28 -28
  61. package/lib/core/metrics.js +2928 -2928
  62. package/lib/core/murmurhash3.js +87 -102
  63. package/lib/core/obj.js +1111 -1302
  64. package/lib/core/operator_list.js +55 -42
  65. package/lib/core/parser.js +956 -987
  66. package/lib/core/pattern.js +69 -69
  67. package/lib/core/pdf_manager.js +149 -316
  68. package/lib/core/primitives.js +45 -77
  69. package/lib/core/ps_parser.js +175 -214
  70. package/lib/core/standard_fonts.js +237 -236
  71. package/lib/core/stream.js +83 -77
  72. package/lib/core/type1_parser.js +78 -68
  73. package/lib/core/unicode.js +1654 -1654
  74. package/lib/core/worker.js +148 -196
  75. package/lib/core/worker_stream.js +101 -210
  76. package/lib/display/annotation_layer.js +733 -1155
  77. package/lib/display/api.js +1539 -1928
  78. package/lib/display/api_compatibility.js +10 -8
  79. package/lib/display/canvas.js +159 -158
  80. package/lib/display/content_disposition.js +36 -55
  81. package/lib/display/display_utils.js +298 -551
  82. package/lib/display/fetch_stream.js +181 -305
  83. package/lib/display/font_loader.js +273 -416
  84. package/lib/display/metadata.js +86 -98
  85. package/lib/display/network.js +376 -511
  86. package/lib/display/network_utils.js +20 -19
  87. package/lib/display/node_stream.js +276 -460
  88. package/lib/display/pattern_helper.js +76 -44
  89. package/lib/display/svg.js +1137 -1405
  90. package/lib/display/text_layer.js +75 -82
  91. package/lib/display/transport_stream.js +236 -374
  92. package/lib/display/webgl.js +70 -83
  93. package/lib/display/worker_options.js +3 -3
  94. package/lib/display/xml_parser.js +303 -392
  95. package/lib/examples/node/domstubs.js +37 -37
  96. package/lib/pdf.js +22 -21
  97. package/lib/pdf.worker.js +5 -5
  98. package/lib/shared/compatibility.js +2 -251
  99. package/lib/shared/is_node.js +7 -6
  100. package/lib/shared/message_handler.js +222 -194
  101. package/lib/shared/util.js +269 -405
  102. package/lib/test/unit/annotation_spec.js +1089 -1014
  103. package/lib/test/unit/api_spec.js +617 -544
  104. package/lib/test/unit/bidi_spec.js +7 -7
  105. package/lib/test/unit/cff_parser_spec.js +63 -62
  106. package/lib/test/unit/clitests_helper.js +7 -9
  107. package/lib/test/unit/cmap_spec.js +84 -86
  108. package/lib/test/unit/colorspace_spec.js +154 -154
  109. package/lib/test/unit/core_utils_spec.js +125 -105
  110. package/lib/test/unit/crypto_spec.js +181 -181
  111. package/lib/test/unit/custom_spec.js +22 -24
  112. package/lib/test/unit/display_svg_spec.js +35 -36
  113. package/lib/test/unit/display_utils_spec.js +139 -149
  114. package/lib/test/unit/document_spec.js +16 -16
  115. package/lib/test/unit/encodings_spec.js +12 -34
  116. package/lib/test/unit/evaluator_spec.js +81 -95
  117. package/lib/test/unit/fetch_stream_spec.js +30 -30
  118. package/lib/test/unit/function_spec.js +206 -204
  119. package/lib/test/unit/jasmine-boot.js +48 -32
  120. package/lib/test/unit/message_handler_spec.js +172 -162
  121. package/lib/test/unit/metadata_spec.js +69 -69
  122. package/lib/test/unit/murmurhash3_spec.js +12 -12
  123. package/lib/test/unit/network_spec.js +12 -12
  124. package/lib/test/unit/network_utils_spec.js +152 -152
  125. package/lib/test/unit/node_stream_spec.js +74 -90
  126. package/lib/test/unit/parser_spec.js +107 -113
  127. package/lib/test/unit/pdf_find_controller_spec.js +55 -86
  128. package/lib/test/unit/pdf_find_utils_spec.js +32 -32
  129. package/lib/test/unit/pdf_history_spec.js +32 -32
  130. package/lib/test/unit/primitives_spec.js +117 -115
  131. package/lib/test/unit/stream_spec.js +16 -14
  132. package/lib/test/unit/test_utils.js +119 -285
  133. package/lib/test/unit/testreporter.js +19 -19
  134. package/lib/test/unit/type1_parser_spec.js +41 -41
  135. package/lib/test/unit/ui_utils_spec.js +318 -426
  136. package/lib/test/unit/unicode_spec.js +42 -42
  137. package/lib/test/unit/util_spec.js +122 -143
  138. package/lib/web/annotation_layer_builder.js +66 -103
  139. package/lib/web/app.js +1166 -1196
  140. package/lib/web/app_options.js +61 -77
  141. package/lib/web/base_viewer.js +804 -850
  142. package/lib/web/chromecom.js +164 -249
  143. package/lib/web/debugger.js +149 -205
  144. package/lib/web/download_manager.js +38 -57
  145. package/lib/web/firefox_print_service.js +35 -30
  146. package/lib/web/firefoxcom.js +175 -374
  147. package/lib/web/genericcom.js +26 -108
  148. package/lib/web/genericl10n.js +24 -153
  149. package/lib/web/grab_to_pan.js +30 -30
  150. package/lib/web/interfaces.js +80 -258
  151. package/lib/web/overlay_manager.js +70 -246
  152. package/lib/web/password_prompt.js +38 -64
  153. package/lib/web/pdf_attachment_viewer.js +105 -130
  154. package/lib/web/pdf_cursor_tools.js +75 -102
  155. package/lib/web/pdf_document_properties.js +227 -376
  156. package/lib/web/pdf_find_bar.js +137 -171
  157. package/lib/web/pdf_find_controller.js +492 -549
  158. package/lib/web/pdf_find_utils.js +13 -13
  159. package/lib/web/pdf_history.js +395 -406
  160. package/lib/web/pdf_link_service.js +302 -349
  161. package/lib/web/pdf_outline_viewer.js +148 -209
  162. package/lib/web/pdf_page_view.js +449 -507
  163. package/lib/web/pdf_presentation_mode.js +304 -357
  164. package/lib/web/pdf_print_service.js +90 -104
  165. package/lib/web/pdf_rendering_queue.js +87 -108
  166. package/lib/web/pdf_sidebar.js +264 -304
  167. package/lib/web/pdf_sidebar_resizer.js +92 -119
  168. package/lib/web/pdf_single_page_viewer.js +77 -126
  169. package/lib/web/pdf_thumbnail_view.js +276 -297
  170. package/lib/web/pdf_thumbnail_viewer.js +186 -206
  171. package/lib/web/pdf_viewer.component.js +20 -21
  172. package/lib/web/pdf_viewer.js +55 -115
  173. package/lib/web/preferences.js +66 -273
  174. package/lib/web/secondary_toolbar.js +164 -196
  175. package/lib/web/text_layer_builder.js +284 -317
  176. package/lib/web/toolbar.js +216 -211
  177. package/lib/web/ui_utils.js +303 -404
  178. package/lib/web/view_history.js +49 -222
  179. package/lib/web/viewer_compatibility.js +7 -5
  180. package/package.json +2 -9
  181. package/web/pdf_viewer.css +25 -18
  182. package/web/pdf_viewer.js +3481 -4764
  183. package/web/pdf_viewer.js.map +1 -1
  184. package/webpack.js +14 -5
  185. package/lib/shared/streams_polyfill.js +0 -43
@@ -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 2019 Mozilla Foundation
5
+ * Copyright 2020 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.
@@ -26,35 +26,19 @@ Object.defineProperty(exports, "__esModule", {
26
26
  });
27
27
  exports.WorkerMessageHandler = exports.WorkerTask = void 0;
28
28
 
29
- var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
29
+ var _util = require("../shared/util.js");
30
30
 
31
- var _util = require("../shared/util");
31
+ var _primitives = require("./primitives.js");
32
32
 
33
- var _primitives = require("./primitives");
33
+ var _pdf_manager = require("./pdf_manager.js");
34
34
 
35
- var _pdf_manager = require("./pdf_manager");
35
+ var _is_node = require("../shared/is_node.js");
36
36
 
37
- var _is_node = _interopRequireDefault(require("../shared/is_node"));
37
+ var _message_handler = require("../shared/message_handler.js");
38
38
 
39
- var _message_handler = require("../shared/message_handler");
39
+ var _worker_stream = require("./worker_stream.js");
40
40
 
41
- var _worker_stream = require("./worker_stream");
42
-
43
- var _core_utils = require("./core_utils");
44
-
45
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
46
-
47
- function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest(); }
48
-
49
- function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance"); }
50
-
51
- 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; }
52
-
53
- function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
54
-
55
- 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
-
57
- 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); }); }; }
41
+ var _core_utils = require("./core_utils.js");
58
42
 
59
43
  var WorkerTask = function WorkerTaskClosure() {
60
44
  function WorkerTask(name) {
@@ -68,26 +52,29 @@ var WorkerTask = function WorkerTaskClosure() {
68
52
  return this._capability.promise;
69
53
  },
70
54
 
71
- finish: function finish() {
55
+ finish() {
72
56
  this._capability.resolve();
73
57
  },
74
- terminate: function terminate() {
58
+
59
+ terminate() {
75
60
  this.terminated = true;
76
61
  },
77
- ensureNotTerminated: function ensureNotTerminated() {
62
+
63
+ ensureNotTerminated() {
78
64
  if (this.terminated) {
79
- throw new Error('Worker task was terminated');
65
+ throw new Error("Worker task was terminated");
80
66
  }
81
67
  }
68
+
82
69
  };
83
70
  return WorkerTask;
84
71
  }();
85
72
 
86
73
  exports.WorkerTask = WorkerTask;
87
74
  var WorkerMessageHandler = {
88
- setup: function setup(handler, port) {
75
+ setup(handler, port) {
89
76
  var testMessageProcessed = false;
90
- handler.on('test', function wphSetupTest(data) {
77
+ handler.on("test", function wphSetupTest(data) {
91
78
  if (testMessageProcessed) {
92
79
  return;
93
80
  }
@@ -95,45 +82,56 @@ var WorkerMessageHandler = {
95
82
  testMessageProcessed = true;
96
83
 
97
84
  if (!(data instanceof Uint8Array)) {
98
- handler.send('test', null);
85
+ handler.send("test", null);
99
86
  return;
100
87
  }
101
88
 
102
- var supportTransfers = data[0] === 255;
89
+ const supportTransfers = data[0] === 255;
103
90
  handler.postMessageTransfers = supportTransfers;
104
- handler.send('test', {
105
- supportTransfers: supportTransfers
91
+ handler.send("test", {
92
+ supportTransfers
106
93
  });
107
94
  });
108
- handler.on('configure', function wphConfigure(data) {
95
+ handler.on("configure", function wphConfigure(data) {
109
96
  (0, _util.setVerbosityLevel)(data.verbosity);
110
97
  });
111
- handler.on('GetDocRequest', function wphSetupDoc(data) {
98
+ handler.on("GetDocRequest", function wphSetupDoc(data) {
112
99
  return WorkerMessageHandler.createDocumentHandler(data, port);
113
100
  });
114
101
  },
115
- createDocumentHandler: function createDocumentHandler(docParams, port) {
102
+
103
+ createDocumentHandler(docParams, port) {
116
104
  var pdfManager;
117
105
  var terminated = false;
118
106
  var cancelXHRs = null;
119
107
  var WorkerTasks = [];
120
- var verbosity = (0, _util.getVerbosityLevel)();
121
- var apiVersion = docParams.apiVersion;
122
- var workerVersion = '2.3.200';
108
+ const verbosity = (0, _util.getVerbosityLevel)();
109
+ const apiVersion = docParams.apiVersion;
110
+ const workerVersion = '2.4.456';
123
111
 
124
112
  if (apiVersion !== workerVersion) {
125
- throw new Error("The API version \"".concat(apiVersion, "\" does not match ") + "the Worker version \"".concat(workerVersion, "\"."));
113
+ throw new Error(`The API version "${apiVersion}" does not match ` + `the Worker version "${workerVersion}".`);
114
+ }
115
+
116
+ const enumerableProperties = [];
117
+
118
+ for (const property in []) {
119
+ enumerableProperties.push(property);
120
+ }
121
+
122
+ if (enumerableProperties.length) {
123
+ throw new Error("The `Array.prototype` contains unexpected enumerable properties: " + enumerableProperties.join(", ") + "; thus breaking e.g. `for...in` iteration of `Array`s.");
126
124
  }
127
125
 
128
126
  var docId = docParams.docId;
129
127
  var docBaseUrl = docParams.docBaseUrl;
130
- var workerHandlerName = docParams.docId + '_worker';
128
+ var workerHandlerName = docParams.docId + "_worker";
131
129
  var handler = new _message_handler.MessageHandler(workerHandlerName, docId, port);
132
130
  handler.postMessageTransfers = docParams.postMessageTransfers;
133
131
 
134
132
  function ensureNotTerminated() {
135
133
  if (terminated) {
136
- throw new Error('Worker was terminated');
134
+ throw new Error("Worker was terminated");
137
135
  }
138
136
  }
139
137
 
@@ -147,62 +145,20 @@ var WorkerMessageHandler = {
147
145
  WorkerTasks.splice(i, 1);
148
146
  }
149
147
 
150
- function loadDocument(_x) {
151
- return _loadDocument.apply(this, arguments);
152
- }
148
+ async function loadDocument(recoveryMode) {
149
+ await pdfManager.ensureDoc("checkHeader");
150
+ await pdfManager.ensureDoc("parseStartXRef");
151
+ await pdfManager.ensureDoc("parse", [recoveryMode]);
153
152
 
154
- function _loadDocument() {
155
- _loadDocument = _asyncToGenerator(
156
- /*#__PURE__*/
157
- _regenerator["default"].mark(function _callee(recoveryMode) {
158
- var _ref4, _ref5, numPages, fingerprint;
159
-
160
- return _regenerator["default"].wrap(function _callee$(_context) {
161
- while (1) {
162
- switch (_context.prev = _context.next) {
163
- case 0:
164
- _context.next = 2;
165
- return pdfManager.ensureDoc('checkHeader');
166
-
167
- case 2:
168
- _context.next = 4;
169
- return pdfManager.ensureDoc('parseStartXRef');
170
-
171
- case 4:
172
- _context.next = 6;
173
- return pdfManager.ensureDoc('parse', [recoveryMode]);
174
-
175
- case 6:
176
- if (recoveryMode) {
177
- _context.next = 9;
178
- break;
179
- }
180
-
181
- _context.next = 9;
182
- return pdfManager.ensureDoc('checkFirstPage');
183
-
184
- case 9:
185
- _context.next = 11;
186
- return Promise.all([pdfManager.ensureDoc('numPages'), pdfManager.ensureDoc('fingerprint')]);
187
-
188
- case 11:
189
- _ref4 = _context.sent;
190
- _ref5 = _slicedToArray(_ref4, 2);
191
- numPages = _ref5[0];
192
- fingerprint = _ref5[1];
193
- return _context.abrupt("return", {
194
- numPages: numPages,
195
- fingerprint: fingerprint
196
- });
197
-
198
- case 16:
199
- case "end":
200
- return _context.stop();
201
- }
202
- }
203
- }, _callee);
204
- }));
205
- return _loadDocument.apply(this, arguments);
153
+ if (!recoveryMode) {
154
+ await pdfManager.ensureDoc("checkFirstPage");
155
+ }
156
+
157
+ const [numPages, fingerprint] = await Promise.all([pdfManager.ensureDoc("numPages"), pdfManager.ensureDoc("fingerprint")]);
158
+ return {
159
+ numPages,
160
+ fingerprint
161
+ };
206
162
  }
207
163
 
208
164
  function getPdfManager(data, evaluatorOptions) {
@@ -242,28 +198,28 @@ var WorkerMessageHandler = {
242
198
  msgHandler: handler,
243
199
  password: source.password,
244
200
  length: fullRequest.contentLength,
245
- disableAutoFetch: disableAutoFetch,
201
+ disableAutoFetch,
246
202
  rangeChunkSize: source.rangeChunkSize
247
203
  }, evaluatorOptions, docBaseUrl);
248
204
 
249
- for (var i = 0; i < cachedChunks.length; i++) {
205
+ for (let i = 0; i < cachedChunks.length; i++) {
250
206
  pdfManager.sendProgressiveData(cachedChunks[i]);
251
207
  }
252
208
 
253
209
  cachedChunks = [];
254
210
  pdfManagerCapability.resolve(pdfManager);
255
211
  cancelXHRs = null;
256
- })["catch"](function (reason) {
212
+ }).catch(function (reason) {
257
213
  pdfManagerCapability.reject(reason);
258
214
  cancelXHRs = null;
259
215
  });
260
216
  var loaded = 0;
261
217
 
262
- var flushChunks = function flushChunks() {
218
+ var flushChunks = function () {
263
219
  var pdfFile = (0, _util.arraysToBytes)(cachedChunks);
264
220
 
265
221
  if (source.length && pdfFile.length !== source.length) {
266
- (0, _util.warn)('reported HTTP length is different from actual');
222
+ (0, _util.warn)("reported HTTP length is different from actual");
267
223
  }
268
224
 
269
225
  try {
@@ -277,7 +233,7 @@ var WorkerMessageHandler = {
277
233
  };
278
234
 
279
235
  var readPromise = new Promise(function (resolve, reject) {
280
- var readChunk = function readChunk(chunk) {
236
+ var readChunk = function (chunk) {
281
237
  try {
282
238
  ensureNotTerminated();
283
239
 
@@ -294,8 +250,8 @@ var WorkerMessageHandler = {
294
250
  loaded += (0, _util.arrayByteLength)(data);
295
251
 
296
252
  if (!fullRequest.isStreamingSupported) {
297
- handler.send('DocProgress', {
298
- loaded: loaded,
253
+ handler.send("DocProgress", {
254
+ loaded,
299
255
  total: Math.max(loaded, fullRequest.contentLength || 0)
300
256
  });
301
257
  }
@@ -314,12 +270,12 @@ var WorkerMessageHandler = {
314
270
 
315
271
  fullRequest.read().then(readChunk, reject);
316
272
  });
317
- readPromise["catch"](function (e) {
273
+ readPromise.catch(function (e) {
318
274
  pdfManagerCapability.reject(e);
319
275
  cancelXHRs = null;
320
276
  });
321
277
 
322
- cancelXHRs = function cancelXHRs(reason) {
278
+ cancelXHRs = function (reason) {
323
279
  pdfStream.cancelAllRequests(reason);
324
280
  };
325
281
 
@@ -329,33 +285,29 @@ var WorkerMessageHandler = {
329
285
  function setupDoc(data) {
330
286
  function onSuccess(doc) {
331
287
  ensureNotTerminated();
332
- handler.send('GetDoc', {
288
+ handler.send("GetDoc", {
333
289
  pdfInfo: doc
334
290
  });
335
291
  }
336
292
 
337
- function onFailure(e) {
293
+ function onFailure(ex) {
338
294
  ensureNotTerminated();
339
295
 
340
- if (e instanceof _util.PasswordException) {
341
- var task = new WorkerTask('PasswordException: response ' + e.code);
296
+ if (ex instanceof _util.PasswordException) {
297
+ var task = new WorkerTask(`PasswordException: response ${ex.code}`);
342
298
  startWorkerTask(task);
343
- handler.sendWithPromise('PasswordRequest', e).then(function (data) {
299
+ handler.sendWithPromise("PasswordRequest", ex).then(function (data) {
344
300
  finishWorkerTask(task);
345
301
  pdfManager.updatePassword(data.password);
346
302
  pdfManagerReady();
347
- })["catch"](function (boundException) {
303
+ }).catch(function () {
348
304
  finishWorkerTask(task);
349
- handler.send('PasswordException', boundException);
350
- }.bind(null, e));
351
- } else if (e instanceof _util.InvalidPDFException) {
352
- handler.send('InvalidPDF', e);
353
- } else if (e instanceof _util.MissingPDFException) {
354
- handler.send('MissingPDF', e);
355
- } else if (e instanceof _util.UnexpectedResponseException) {
356
- handler.send('UnexpectedResponse', e);
305
+ handler.send("DocException", ex);
306
+ });
307
+ } else if (ex instanceof _util.InvalidPDFException || ex instanceof _util.MissingPDFException || ex instanceof _util.UnexpectedResponseException || ex instanceof _util.UnknownErrorException) {
308
+ handler.send("DocException", ex);
357
309
  } else {
358
- handler.send('UnknownError', new _util.UnknownErrorException(e.message, e.toString()));
310
+ handler.send("DocException", new _util.UnknownErrorException(ex.message, ex.toString()));
359
311
  }
360
312
  }
361
313
 
@@ -388,112 +340,107 @@ var WorkerMessageHandler = {
388
340
  };
389
341
  getPdfManager(data, evaluatorOptions).then(function (newPdfManager) {
390
342
  if (terminated) {
391
- newPdfManager.terminate(new _util.AbortException('Worker was terminated.'));
392
- throw new Error('Worker was terminated');
343
+ newPdfManager.terminate(new _util.AbortException("Worker was terminated."));
344
+ throw new Error("Worker was terminated");
393
345
  }
394
346
 
395
347
  pdfManager = newPdfManager;
396
348
  pdfManager.onLoadedStream().then(function (stream) {
397
- handler.send('DataLoaded', {
349
+ handler.send("DataLoaded", {
398
350
  length: stream.bytes.byteLength
399
351
  });
400
352
  });
401
353
  }).then(pdfManagerReady, onFailure);
402
354
  }
403
355
 
404
- handler.on('GetPage', function wphSetupGetPage(data) {
356
+ handler.on("GetPage", function wphSetupGetPage(data) {
405
357
  return pdfManager.getPage(data.pageIndex).then(function (page) {
406
- return Promise.all([pdfManager.ensure(page, 'rotate'), pdfManager.ensure(page, 'ref'), pdfManager.ensure(page, 'userUnit'), pdfManager.ensure(page, 'view')]).then(function (_ref) {
407
- var _ref2 = _slicedToArray(_ref, 4),
408
- rotate = _ref2[0],
409
- ref = _ref2[1],
410
- userUnit = _ref2[2],
411
- view = _ref2[3];
412
-
358
+ return Promise.all([pdfManager.ensure(page, "rotate"), pdfManager.ensure(page, "ref"), pdfManager.ensure(page, "userUnit"), pdfManager.ensure(page, "view")]).then(function ([rotate, ref, userUnit, view]) {
413
359
  return {
414
- rotate: rotate,
415
- ref: ref,
416
- userUnit: userUnit,
417
- view: view
360
+ rotate,
361
+ ref,
362
+ userUnit,
363
+ view
418
364
  };
419
365
  });
420
366
  });
421
367
  });
422
- handler.on('GetPageIndex', function wphSetupGetPageIndex(data) {
368
+ handler.on("GetPageIndex", function wphSetupGetPageIndex(data) {
423
369
  var ref = _primitives.Ref.get(data.ref.num, data.ref.gen);
424
370
 
425
371
  var catalog = pdfManager.pdfDocument.catalog;
426
372
  return catalog.getPageIndex(ref);
427
373
  });
428
- handler.on('GetDestinations', function wphSetupGetDestinations(data) {
429
- return pdfManager.ensureCatalog('destinations');
374
+ handler.on("GetDestinations", function wphSetupGetDestinations(data) {
375
+ return pdfManager.ensureCatalog("destinations");
430
376
  });
431
- handler.on('GetDestination', function wphSetupGetDestination(data) {
432
- return pdfManager.ensureCatalog('getDestination', [data.id]);
377
+ handler.on("GetDestination", function wphSetupGetDestination(data) {
378
+ return pdfManager.ensureCatalog("getDestination", [data.id]);
433
379
  });
434
- handler.on('GetPageLabels', function wphSetupGetPageLabels(data) {
435
- return pdfManager.ensureCatalog('pageLabels');
380
+ handler.on("GetPageLabels", function wphSetupGetPageLabels(data) {
381
+ return pdfManager.ensureCatalog("pageLabels");
436
382
  });
437
- handler.on('GetPageLayout', function wphSetupGetPageLayout(data) {
438
- return pdfManager.ensureCatalog('pageLayout');
383
+ handler.on("GetPageLayout", function wphSetupGetPageLayout(data) {
384
+ return pdfManager.ensureCatalog("pageLayout");
439
385
  });
440
- handler.on('GetPageMode', function wphSetupGetPageMode(data) {
441
- return pdfManager.ensureCatalog('pageMode');
386
+ handler.on("GetPageMode", function wphSetupGetPageMode(data) {
387
+ return pdfManager.ensureCatalog("pageMode");
442
388
  });
443
- handler.on('GetViewerPreferences', function (data) {
444
- return pdfManager.ensureCatalog('viewerPreferences');
389
+ handler.on("GetViewerPreferences", function (data) {
390
+ return pdfManager.ensureCatalog("viewerPreferences");
445
391
  });
446
- handler.on('GetOpenActionDestination', function (data) {
447
- return pdfManager.ensureCatalog('openActionDestination');
392
+ handler.on("GetOpenAction", function (data) {
393
+ return pdfManager.ensureCatalog("openAction");
448
394
  });
449
- handler.on('GetAttachments', function wphSetupGetAttachments(data) {
450
- return pdfManager.ensureCatalog('attachments');
395
+ handler.on("GetAttachments", function wphSetupGetAttachments(data) {
396
+ return pdfManager.ensureCatalog("attachments");
451
397
  });
452
- handler.on('GetJavaScript', function wphSetupGetJavaScript(data) {
453
- return pdfManager.ensureCatalog('javaScript');
398
+ handler.on("GetJavaScript", function wphSetupGetJavaScript(data) {
399
+ return pdfManager.ensureCatalog("javaScript");
454
400
  });
455
- handler.on('GetOutline', function wphSetupGetOutline(data) {
456
- return pdfManager.ensureCatalog('documentOutline');
401
+ handler.on("GetOutline", function wphSetupGetOutline(data) {
402
+ return pdfManager.ensureCatalog("documentOutline");
457
403
  });
458
- handler.on('GetPermissions', function (data) {
459
- return pdfManager.ensureCatalog('permissions');
404
+ handler.on("GetPermissions", function (data) {
405
+ return pdfManager.ensureCatalog("permissions");
460
406
  });
461
- handler.on('GetMetadata', function wphSetupGetMetadata(data) {
462
- return Promise.all([pdfManager.ensureDoc('documentInfo'), pdfManager.ensureCatalog('metadata')]);
407
+ handler.on("GetMetadata", function wphSetupGetMetadata(data) {
408
+ return Promise.all([pdfManager.ensureDoc("documentInfo"), pdfManager.ensureCatalog("metadata")]);
463
409
  });
464
- handler.on('GetData', function wphSetupGetData(data) {
410
+ handler.on("GetData", function wphSetupGetData(data) {
465
411
  pdfManager.requestLoadedStream();
466
412
  return pdfManager.onLoadedStream().then(function (stream) {
467
413
  return stream.bytes;
468
414
  });
469
415
  });
470
- handler.on('GetStats', function wphSetupGetStats(data) {
416
+ handler.on("GetStats", function wphSetupGetStats(data) {
471
417
  return pdfManager.pdfDocument.xref.stats;
472
418
  });
473
- handler.on('GetAnnotations', function (_ref3) {
474
- var pageIndex = _ref3.pageIndex,
475
- intent = _ref3.intent;
419
+ handler.on("GetAnnotations", function ({
420
+ pageIndex,
421
+ intent
422
+ }) {
476
423
  return pdfManager.getPage(pageIndex).then(function (page) {
477
424
  return page.getAnnotationsData(intent);
478
425
  });
479
426
  });
480
- handler.on('GetOperatorList', function wphSetupRenderPage(data, sink) {
427
+ handler.on("GetOperatorList", function wphSetupRenderPage(data, sink) {
481
428
  var pageIndex = data.pageIndex;
482
429
  pdfManager.getPage(pageIndex).then(function (page) {
483
- var task = new WorkerTask("GetOperatorList: page ".concat(pageIndex));
430
+ var task = new WorkerTask(`GetOperatorList: page ${pageIndex}`);
484
431
  startWorkerTask(task);
485
- var start = verbosity >= _util.VerbosityLevel.INFOS ? Date.now() : 0;
432
+ const start = verbosity >= _util.VerbosityLevel.INFOS ? Date.now() : 0;
486
433
  page.getOperatorList({
487
- handler: handler,
488
- sink: sink,
489
- task: task,
434
+ handler,
435
+ sink,
436
+ task,
490
437
  intent: data.intent,
491
438
  renderInteractiveForms: data.renderInteractiveForms
492
439
  }).then(function (operatorListInfo) {
493
440
  finishWorkerTask(task);
494
441
 
495
442
  if (start) {
496
- (0, _util.info)("page=".concat(pageIndex + 1, " - getOperatorList: time=") + "".concat(Date.now() - start, "ms, len=").concat(operatorListInfo.length));
443
+ (0, _util.info)(`page=${pageIndex + 1} - getOperatorList: time=` + `${Date.now() - start}ms, len=${operatorListInfo.length}`);
497
444
  }
498
445
 
499
446
  sink.close();
@@ -504,14 +451,14 @@ var WorkerMessageHandler = {
504
451
  return;
505
452
  }
506
453
 
507
- handler.send('UnsupportedFeature', {
454
+ handler.send("UnsupportedFeature", {
508
455
  featureId: _util.UNSUPPORTED_FEATURES.unknown
509
456
  });
510
457
  sink.error(reason);
511
458
  });
512
459
  });
513
460
  }, this);
514
- handler.on('GetTextContent', function wphExtractText(data, sink) {
461
+ handler.on("GetTextContent", function wphExtractText(data, sink) {
515
462
  var pageIndex = data.pageIndex;
516
463
 
517
464
  sink.onPull = function (desiredSize) {};
@@ -519,20 +466,20 @@ var WorkerMessageHandler = {
519
466
  sink.onCancel = function (reason) {};
520
467
 
521
468
  pdfManager.getPage(pageIndex).then(function (page) {
522
- var task = new WorkerTask('GetTextContent: page ' + pageIndex);
469
+ var task = new WorkerTask("GetTextContent: page " + pageIndex);
523
470
  startWorkerTask(task);
524
- var start = verbosity >= _util.VerbosityLevel.INFOS ? Date.now() : 0;
471
+ const start = verbosity >= _util.VerbosityLevel.INFOS ? Date.now() : 0;
525
472
  page.extractTextContent({
526
- handler: handler,
527
- task: task,
528
- sink: sink,
473
+ handler,
474
+ task,
475
+ sink,
529
476
  normalizeWhitespace: data.normalizeWhitespace,
530
477
  combineTextItems: data.combineTextItems
531
478
  }).then(function () {
532
479
  finishWorkerTask(task);
533
480
 
534
481
  if (start) {
535
- (0, _util.info)("page=".concat(pageIndex + 1, " - getTextContent: time=") + "".concat(Date.now() - start, "ms"));
482
+ (0, _util.info)(`page=${pageIndex + 1} - getTextContent: time=` + `${Date.now() - start}ms`);
536
483
  }
537
484
 
538
485
  sink.close();
@@ -547,26 +494,29 @@ var WorkerMessageHandler = {
547
494
  });
548
495
  });
549
496
  });
550
- handler.on('FontFallback', function (data) {
497
+ handler.on("FontFallback", function (data) {
551
498
  return pdfManager.fontFallback(data.id, handler);
552
499
  });
553
- handler.on('Cleanup', function wphCleanup(data) {
500
+ handler.on("Cleanup", function wphCleanup(data) {
554
501
  return pdfManager.cleanup();
555
502
  });
556
- handler.on('Terminate', function wphTerminate(data) {
503
+ handler.on("Terminate", function wphTerminate(data) {
557
504
  terminated = true;
505
+ const waitOn = [];
558
506
 
559
507
  if (pdfManager) {
560
- pdfManager.terminate(new _util.AbortException('Worker was terminated.'));
508
+ pdfManager.terminate(new _util.AbortException("Worker was terminated."));
509
+ const cleanupPromise = pdfManager.cleanup();
510
+ waitOn.push(cleanupPromise);
561
511
  pdfManager = null;
512
+ } else {
513
+ (0, _primitives.clearPrimitiveCaches)();
562
514
  }
563
515
 
564
516
  if (cancelXHRs) {
565
- cancelXHRs(new _util.AbortException('Worker was terminated.'));
517
+ cancelXHRs(new _util.AbortException("Worker was terminated."));
566
518
  }
567
519
 
568
- (0, _primitives.clearPrimitiveCaches)();
569
- var waitOn = [];
570
520
  WorkerTasks.forEach(function (task) {
571
521
  waitOn.push(task.finished);
572
522
  task.terminate();
@@ -576,24 +526,26 @@ var WorkerMessageHandler = {
576
526
  handler = null;
577
527
  });
578
528
  });
579
- handler.on('Ready', function wphReady(data) {
529
+ handler.on("Ready", function wphReady(data) {
580
530
  setupDoc(docParams);
581
531
  docParams = null;
582
532
  });
583
533
  return workerHandlerName;
584
534
  },
585
- initializeFromPort: function initializeFromPort(port) {
586
- var handler = new _message_handler.MessageHandler('worker', 'main', port);
535
+
536
+ initializeFromPort(port) {
537
+ var handler = new _message_handler.MessageHandler("worker", "main", port);
587
538
  WorkerMessageHandler.setup(handler, port);
588
- handler.send('ready', null);
539
+ handler.send("ready", null);
589
540
  }
541
+
590
542
  };
591
543
  exports.WorkerMessageHandler = WorkerMessageHandler;
592
544
 
593
545
  function isMessagePort(maybePort) {
594
- return typeof maybePort.postMessage === 'function' && 'onmessage' in maybePort;
546
+ return typeof maybePort.postMessage === "function" && "onmessage" in maybePort;
595
547
  }
596
548
 
597
- if (typeof window === 'undefined' && !(0, _is_node["default"])() && typeof self !== 'undefined' && isMessagePort(self)) {
549
+ if (typeof window === "undefined" && !_is_node.isNodeJS && typeof self !== "undefined" && isMessagePort(self)) {
598
550
  WorkerMessageHandler.initializeFromPort(self);
599
551
  }