pdfjs-dist 2.0.489 → 2.2.228

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 (169) hide show
  1. package/CODE_OF_CONDUCT.md +15 -0
  2. package/bower.json +1 -1
  3. package/build/pdf.js +18515 -11402
  4. package/build/pdf.js.map +1 -1
  5. package/build/pdf.min.js +1 -1
  6. package/build/pdf.worker.js +48266 -37137
  7. package/build/pdf.worker.js.map +1 -1
  8. package/build/pdf.worker.min.js +1 -1
  9. package/external/url/url-lib.js +627 -0
  10. package/image_decoders/pdf.image_decoders.js +11350 -0
  11. package/image_decoders/pdf.image_decoders.js.map +1 -0
  12. package/image_decoders/pdf.image_decoders.min.js +1 -0
  13. package/lib/core/annotation.js +587 -242
  14. package/lib/core/arithmetic_decoder.js +275 -245
  15. package/lib/core/bidi.js +65 -6
  16. package/lib/core/ccitt.js +173 -18
  17. package/lib/core/ccitt_stream.js +15 -6
  18. package/lib/core/cff_parser.js +433 -61
  19. package/lib/core/charsets.js +5 -4
  20. package/lib/core/chunked_stream.js +400 -152
  21. package/lib/core/cmap.js +326 -87
  22. package/lib/core/colorspace.js +874 -594
  23. package/lib/core/core_utils.js +147 -0
  24. package/lib/core/crypto.js +290 -45
  25. package/lib/core/document.js +560 -268
  26. package/lib/core/encodings.js +19 -10
  27. package/lib/core/evaluator.js +1005 -360
  28. package/lib/core/font_renderer.js +331 -97
  29. package/lib/core/fonts.js +812 -195
  30. package/lib/core/function.js +284 -71
  31. package/lib/core/glyphlist.js +4 -3
  32. package/lib/core/image.js +169 -62
  33. package/lib/core/image_utils.js +111 -0
  34. package/lib/core/jbig2.js +479 -66
  35. package/lib/core/jbig2_stream.js +19 -8
  36. package/lib/core/jpeg_stream.js +38 -13
  37. package/lib/core/jpg.js +253 -29
  38. package/lib/core/jpx.js +396 -6
  39. package/lib/core/jpx_stream.js +18 -6
  40. package/lib/core/metrics.js +15 -15
  41. package/lib/core/murmurhash3.js +56 -34
  42. package/lib/core/obj.js +1354 -488
  43. package/lib/core/operator_list.js +144 -31
  44. package/lib/core/parser.js +539 -191
  45. package/lib/core/pattern.js +148 -14
  46. package/lib/core/pdf_manager.js +323 -133
  47. package/lib/core/primitives.js +111 -24
  48. package/lib/core/ps_parser.js +134 -45
  49. package/lib/core/standard_fonts.js +17 -17
  50. package/lib/core/stream.js +313 -34
  51. package/lib/core/type1_parser.js +143 -13
  52. package/lib/core/unicode.js +32 -5
  53. package/lib/core/worker.js +217 -190
  54. package/lib/core/worker_stream.js +277 -0
  55. package/lib/display/annotation_layer.js +450 -133
  56. package/lib/display/api.js +1597 -784
  57. package/lib/display/api_compatibility.js +11 -13
  58. package/lib/display/canvas.js +360 -44
  59. package/lib/display/content_disposition.js +83 -32
  60. package/lib/display/display_utils.js +747 -0
  61. package/lib/display/fetch_stream.js +221 -90
  62. package/lib/display/font_loader.js +468 -236
  63. package/lib/display/metadata.js +38 -16
  64. package/lib/display/network.js +635 -428
  65. package/lib/display/network_utils.js +32 -19
  66. package/lib/display/node_stream.js +367 -175
  67. package/lib/display/pattern_helper.js +81 -31
  68. package/lib/display/svg.js +1235 -519
  69. package/lib/display/text_layer.js +153 -29
  70. package/lib/display/transport_stream.js +345 -94
  71. package/lib/display/webgl.js +64 -18
  72. package/lib/display/worker_options.js +5 -4
  73. package/lib/display/xml_parser.js +166 -53
  74. package/lib/examples/node/domstubs.js +60 -4
  75. package/lib/pdf.js +36 -14
  76. package/lib/pdf.worker.js +5 -3
  77. package/lib/shared/compatibility.js +158 -564
  78. package/lib/shared/global_scope.js +2 -2
  79. package/lib/shared/is_node.js +4 -4
  80. package/lib/shared/message_handler.js +521 -0
  81. package/lib/shared/streams_polyfill.js +21 -17
  82. package/lib/shared/url_polyfill.js +56 -0
  83. package/lib/shared/util.js +243 -710
  84. package/lib/test/unit/annotation_spec.js +870 -401
  85. package/lib/test/unit/api_spec.js +657 -345
  86. package/lib/test/unit/bidi_spec.js +7 -7
  87. package/lib/test/unit/cff_parser_spec.js +54 -11
  88. package/lib/test/unit/clitests_helper.js +10 -8
  89. package/lib/test/unit/cmap_spec.js +95 -41
  90. package/lib/test/unit/colorspace_spec.js +115 -63
  91. package/lib/test/unit/core_utils_spec.js +191 -0
  92. package/lib/test/unit/crypto_spec.js +17 -5
  93. package/lib/test/unit/custom_spec.js +43 -55
  94. package/lib/test/unit/display_svg_spec.js +34 -18
  95. package/lib/test/unit/display_utils_spec.js +273 -0
  96. package/lib/test/unit/document_spec.js +8 -13
  97. package/lib/test/unit/encodings_spec.js +25 -45
  98. package/lib/test/unit/evaluator_spec.js +38 -15
  99. package/lib/test/unit/fetch_stream_spec.js +109 -0
  100. package/lib/test/unit/function_spec.js +17 -5
  101. package/lib/test/unit/jasmine-boot.js +33 -20
  102. package/lib/test/unit/{util_stream_spec.js → message_handler_spec.js} +41 -69
  103. package/lib/test/unit/metadata_spec.js +71 -11
  104. package/lib/test/unit/murmurhash3_spec.js +3 -3
  105. package/lib/test/unit/network_spec.js +19 -54
  106. package/lib/test/unit/network_utils_spec.js +91 -14
  107. package/lib/test/unit/node_stream_spec.js +56 -32
  108. package/lib/test/unit/parser_spec.js +162 -71
  109. package/lib/test/unit/pdf_find_controller_spec.js +230 -0
  110. package/lib/test/unit/pdf_find_utils_spec.js +63 -0
  111. package/lib/test/unit/pdf_history_spec.js +21 -9
  112. package/lib/test/unit/primitives_spec.js +53 -20
  113. package/lib/test/unit/stream_spec.js +12 -4
  114. package/lib/test/unit/test_utils.js +273 -56
  115. package/lib/test/unit/testreporter.js +21 -3
  116. package/lib/test/unit/type1_parser_spec.js +8 -6
  117. package/lib/test/unit/ui_utils_spec.js +454 -16
  118. package/lib/test/unit/unicode_spec.js +18 -15
  119. package/lib/test/unit/util_spec.js +87 -128
  120. package/lib/web/annotation_layer_builder.js +39 -22
  121. package/lib/web/app.js +1290 -588
  122. package/lib/web/app_options.js +100 -62
  123. package/lib/web/base_viewer.js +511 -182
  124. package/lib/web/chromecom.js +261 -117
  125. package/lib/web/debugger.js +166 -22
  126. package/lib/web/download_manager.js +32 -13
  127. package/lib/web/firefox_print_service.js +20 -10
  128. package/lib/web/firefoxcom.js +315 -80
  129. package/lib/web/genericcom.js +89 -30
  130. package/lib/web/genericl10n.js +142 -30
  131. package/lib/web/grab_to_pan.js +28 -4
  132. package/lib/web/interfaces.js +170 -47
  133. package/lib/web/overlay_manager.js +235 -85
  134. package/lib/web/password_prompt.js +22 -14
  135. package/lib/web/pdf_attachment_viewer.js +38 -18
  136. package/lib/web/pdf_cursor_tools.js +39 -16
  137. package/lib/web/pdf_document_properties.js +255 -136
  138. package/lib/web/pdf_find_bar.js +84 -40
  139. package/lib/web/pdf_find_controller.js +495 -184
  140. package/lib/web/pdf_find_utils.js +111 -0
  141. package/lib/web/pdf_history.js +190 -53
  142. package/lib/web/pdf_link_service.js +138 -77
  143. package/lib/web/pdf_outline_viewer.js +122 -46
  144. package/lib/web/pdf_page_view.js +191 -67
  145. package/lib/web/pdf_presentation_mode.js +99 -34
  146. package/lib/web/pdf_print_service.js +61 -13
  147. package/lib/web/pdf_rendering_queue.js +28 -9
  148. package/lib/web/pdf_sidebar.js +141 -81
  149. package/lib/web/pdf_sidebar_resizer.js +42 -16
  150. package/lib/web/pdf_single_page_viewer.js +74 -66
  151. package/lib/web/pdf_thumbnail_view.js +104 -33
  152. package/lib/web/pdf_thumbnail_viewer.js +66 -26
  153. package/lib/web/pdf_viewer.component.js +112 -32
  154. package/lib/web/pdf_viewer.js +91 -52
  155. package/lib/web/preferences.js +284 -89
  156. package/lib/web/secondary_toolbar.js +165 -40
  157. package/lib/web/text_layer_builder.js +134 -59
  158. package/lib/web/toolbar.js +78 -43
  159. package/lib/web/ui_utils.js +462 -136
  160. package/lib/web/view_history.js +215 -67
  161. package/lib/web/viewer_compatibility.js +4 -13
  162. package/package.json +5 -4
  163. package/web/pdf_viewer.css +79 -11
  164. package/web/pdf_viewer.js +6107 -3748
  165. package/web/pdf_viewer.js.map +1 -1
  166. package/lib/display/dom_utils.js +0 -309
  167. package/lib/test/unit/dom_utils_spec.js +0 -89
  168. package/lib/test/unit/fonts_spec.js +0 -81
  169. 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,32 +19,45 @@
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.PDFFetchStream = undefined;
27
+ exports.PDFFetchStream = void 0;
28
28
 
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; }; }();
29
+ var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
30
30
 
31
- var _util = require('../shared/util');
31
+ var _util = require("../shared/util");
32
32
 
33
- var _network_utils = require('./network_utils');
33
+ var _network_utils = require("./network_utils");
34
+
35
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
36
+
37
+ 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); } }
38
+
39
+ 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); }); }; }
34
40
 
35
41
  function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
36
42
 
37
- function createFetchOptions(headers, withCredentials) {
43
+ 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); } }
44
+
45
+ function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
46
+
47
+ function createFetchOptions(headers, withCredentials, abortController) {
38
48
  return {
39
49
  method: 'GET',
40
50
  headers: headers,
51
+ signal: abortController && abortController.signal,
41
52
  mode: 'cors',
42
53
  credentials: withCredentials ? 'include' : 'same-origin',
43
54
  redirect: 'follow'
44
55
  };
45
56
  }
46
57
 
47
- var PDFFetchStream = function () {
58
+ var PDFFetchStream =
59
+ /*#__PURE__*/
60
+ function () {
48
61
  function PDFFetchStream(source) {
49
62
  _classCallCheck(this, PDFFetchStream);
50
63
 
@@ -56,36 +69,53 @@ var PDFFetchStream = function () {
56
69
  }
57
70
 
58
71
  _createClass(PDFFetchStream, [{
59
- key: 'getFullReader',
72
+ key: "getFullReader",
60
73
  value: function getFullReader() {
61
74
  (0, _util.assert)(!this._fullRequestReader);
62
75
  this._fullRequestReader = new PDFFetchStreamReader(this);
63
76
  return this._fullRequestReader;
64
77
  }
65
78
  }, {
66
- key: 'getRangeReader',
79
+ key: "getRangeReader",
67
80
  value: function getRangeReader(begin, end) {
81
+ if (end <= this._progressiveDataLength) {
82
+ return null;
83
+ }
84
+
68
85
  var reader = new PDFFetchStreamRangeReader(this, begin, end);
86
+
69
87
  this._rangeRequestReaders.push(reader);
88
+
70
89
  return reader;
71
90
  }
72
91
  }, {
73
- key: 'cancelAllRequests',
92
+ key: "cancelAllRequests",
74
93
  value: function cancelAllRequests(reason) {
75
94
  if (this._fullRequestReader) {
76
95
  this._fullRequestReader.cancel(reason);
77
96
  }
97
+
78
98
  var readers = this._rangeRequestReaders.slice(0);
99
+
79
100
  readers.forEach(function (reader) {
80
101
  reader.cancel(reason);
81
102
  });
82
103
  }
104
+ }, {
105
+ key: "_progressiveDataLength",
106
+ get: function get() {
107
+ return this._fullRequestReader ? this._fullRequestReader._loaded : 0;
108
+ }
83
109
  }]);
84
110
 
85
111
  return PDFFetchStream;
86
112
  }();
87
113
 
88
- var PDFFetchStreamReader = function () {
114
+ exports.PDFFetchStream = PDFFetchStream;
115
+
116
+ var PDFFetchStreamReader =
117
+ /*#__PURE__*/
118
+ function () {
89
119
  function PDFFetchStreamReader(stream) {
90
120
  var _this = this;
91
121
 
@@ -96,31 +126,44 @@ var PDFFetchStreamReader = function () {
96
126
  this._loaded = 0;
97
127
  this._filename = null;
98
128
  var source = stream.source;
99
- this._withCredentials = source.withCredentials;
129
+ this._withCredentials = source.withCredentials || false;
100
130
  this._contentLength = source.length;
101
131
  this._headersCapability = (0, _util.createPromiseCapability)();
102
132
  this._disableRange = source.disableRange || false;
103
133
  this._rangeChunkSize = source.rangeChunkSize;
134
+
104
135
  if (!this._rangeChunkSize && !this._disableRange) {
105
136
  this._disableRange = true;
106
137
  }
138
+
139
+ if (typeof AbortController !== 'undefined') {
140
+ this._abortController = new AbortController();
141
+ }
142
+
107
143
  this._isStreamingSupported = !source.disableStream;
108
144
  this._isRangeSupported = !source.disableRange;
109
145
  this._headers = new Headers();
146
+
110
147
  for (var property in this._stream.httpHeaders) {
111
148
  var value = this._stream.httpHeaders[property];
149
+
112
150
  if (typeof value === 'undefined') {
113
151
  continue;
114
152
  }
153
+
115
154
  this._headers.append(property, value);
116
155
  }
156
+
117
157
  var url = source.url;
118
- fetch(url, createFetchOptions(this._headers, this._withCredentials)).then(function (response) {
158
+ fetch(url, createFetchOptions(this._headers, this._withCredentials, this._abortController)).then(function (response) {
119
159
  if (!(0, _network_utils.validateResponseStatus)(response.status)) {
120
160
  throw (0, _network_utils.createResponseStatusError)(response.status, url);
121
161
  }
162
+
122
163
  _this._reader = response.body.getReader();
164
+
123
165
  _this._headersCapability.resolve();
166
+
124
167
  var getResponseHeader = function getResponseHeader(name) {
125
168
  return response.headers.get(name);
126
169
  };
@@ -137,73 +180,111 @@ var PDFFetchStreamReader = function () {
137
180
  _this._isRangeSupported = allowRangeRequests;
138
181
  _this._contentLength = suggestedLength || _this._contentLength;
139
182
  _this._filename = (0, _network_utils.extractFilenameFromHeader)(getResponseHeader);
183
+
140
184
  if (!_this._isStreamingSupported && _this._isRangeSupported) {
141
- _this.cancel(new _util.AbortException('streaming is disabled'));
185
+ _this.cancel(new _util.AbortException('Streaming is disabled.'));
142
186
  }
143
- }).catch(this._headersCapability.reject);
187
+ })["catch"](this._headersCapability.reject);
144
188
  this.onProgress = null;
145
189
  }
146
190
 
147
191
  _createClass(PDFFetchStreamReader, [{
148
- key: 'read',
149
- value: function read() {
150
- var _this2 = this;
151
-
152
- return this._headersCapability.promise.then(function () {
153
- return _this2._reader.read().then(function (_ref) {
154
- var value = _ref.value,
155
- done = _ref.done;
156
-
157
- if (done) {
158
- return Promise.resolve({
159
- value: value,
160
- done: done
161
- });
162
- }
163
- _this2._loaded += value.byteLength;
164
- if (_this2.onProgress) {
165
- _this2.onProgress({
166
- loaded: _this2._loaded,
167
- total: _this2._contentLength
168
- });
192
+ key: "read",
193
+ value: function () {
194
+ var _read = _asyncToGenerator(
195
+ /*#__PURE__*/
196
+ _regenerator["default"].mark(function _callee() {
197
+ var _ref, value, done, buffer;
198
+
199
+ return _regenerator["default"].wrap(function _callee$(_context) {
200
+ while (1) {
201
+ switch (_context.prev = _context.next) {
202
+ case 0:
203
+ _context.next = 2;
204
+ return this._headersCapability.promise;
205
+
206
+ case 2:
207
+ _context.next = 4;
208
+ return this._reader.read();
209
+
210
+ case 4:
211
+ _ref = _context.sent;
212
+ value = _ref.value;
213
+ done = _ref.done;
214
+
215
+ if (!done) {
216
+ _context.next = 9;
217
+ break;
218
+ }
219
+
220
+ return _context.abrupt("return", {
221
+ value: value,
222
+ done: done
223
+ });
224
+
225
+ case 9:
226
+ this._loaded += value.byteLength;
227
+
228
+ if (this.onProgress) {
229
+ this.onProgress({
230
+ loaded: this._loaded,
231
+ total: this._contentLength
232
+ });
233
+ }
234
+
235
+ buffer = new Uint8Array(value).buffer;
236
+ return _context.abrupt("return", {
237
+ value: buffer,
238
+ done: false
239
+ });
240
+
241
+ case 13:
242
+ case "end":
243
+ return _context.stop();
244
+ }
169
245
  }
170
- var buffer = new Uint8Array(value).buffer;
171
- return Promise.resolve({
172
- value: buffer,
173
- done: false
174
- });
175
- });
176
- });
177
- }
246
+ }, _callee, this);
247
+ }));
248
+
249
+ function read() {
250
+ return _read.apply(this, arguments);
251
+ }
252
+
253
+ return read;
254
+ }()
178
255
  }, {
179
- key: 'cancel',
256
+ key: "cancel",
180
257
  value: function cancel(reason) {
181
258
  if (this._reader) {
182
259
  this._reader.cancel(reason);
183
260
  }
261
+
262
+ if (this._abortController) {
263
+ this._abortController.abort();
264
+ }
184
265
  }
185
266
  }, {
186
- key: 'headersReady',
267
+ key: "headersReady",
187
268
  get: function get() {
188
269
  return this._headersCapability.promise;
189
270
  }
190
271
  }, {
191
- key: 'filename',
272
+ key: "filename",
192
273
  get: function get() {
193
274
  return this._filename;
194
275
  }
195
276
  }, {
196
- key: 'contentLength',
277
+ key: "contentLength",
197
278
  get: function get() {
198
279
  return this._contentLength;
199
280
  }
200
281
  }, {
201
- key: 'isRangeSupported',
282
+ key: "isRangeSupported",
202
283
  get: function get() {
203
284
  return this._isRangeSupported;
204
285
  }
205
286
  }, {
206
- key: 'isStreamingSupported',
287
+ key: "isStreamingSupported",
207
288
  get: function get() {
208
289
  return this._isStreamingSupported;
209
290
  }
@@ -212,9 +293,11 @@ var PDFFetchStreamReader = function () {
212
293
  return PDFFetchStreamReader;
213
294
  }();
214
295
 
215
- var PDFFetchStreamRangeReader = function () {
296
+ var PDFFetchStreamRangeReader =
297
+ /*#__PURE__*/
298
+ function () {
216
299
  function PDFFetchStreamRangeReader(stream, begin, end) {
217
- var _this3 = this;
300
+ var _this2 = this;
218
301
 
219
302
  _classCallCheck(this, PDFFetchStreamRangeReader);
220
303
 
@@ -222,73 +305,121 @@ var PDFFetchStreamRangeReader = function () {
222
305
  this._reader = null;
223
306
  this._loaded = 0;
224
307
  var source = stream.source;
225
- this._withCredentials = source.withCredentials;
308
+ this._withCredentials = source.withCredentials || false;
226
309
  this._readCapability = (0, _util.createPromiseCapability)();
227
310
  this._isStreamingSupported = !source.disableStream;
311
+
312
+ if (typeof AbortController !== 'undefined') {
313
+ this._abortController = new AbortController();
314
+ }
315
+
228
316
  this._headers = new Headers();
317
+
229
318
  for (var property in this._stream.httpHeaders) {
230
319
  var value = this._stream.httpHeaders[property];
320
+
231
321
  if (typeof value === 'undefined') {
232
322
  continue;
233
323
  }
324
+
234
325
  this._headers.append(property, value);
235
326
  }
236
- var rangeStr = begin + '-' + (end - 1);
237
- this._headers.append('Range', 'bytes=' + rangeStr);
327
+
328
+ this._headers.append('Range', "bytes=".concat(begin, "-").concat(end - 1));
329
+
238
330
  var url = source.url;
239
- fetch(url, createFetchOptions(this._headers, this._withCredentials)).then(function (response) {
331
+ fetch(url, createFetchOptions(this._headers, this._withCredentials, this._abortController)).then(function (response) {
240
332
  if (!(0, _network_utils.validateResponseStatus)(response.status)) {
241
333
  throw (0, _network_utils.createResponseStatusError)(response.status, url);
242
334
  }
243
- _this3._readCapability.resolve();
244
- _this3._reader = response.body.getReader();
335
+
336
+ _this2._readCapability.resolve();
337
+
338
+ _this2._reader = response.body.getReader();
245
339
  });
246
340
  this.onProgress = null;
247
341
  }
248
342
 
249
343
  _createClass(PDFFetchStreamRangeReader, [{
250
- key: 'read',
251
- value: function read() {
252
- var _this4 = this;
253
-
254
- return this._readCapability.promise.then(function () {
255
- return _this4._reader.read().then(function (_ref2) {
256
- var value = _ref2.value,
257
- done = _ref2.done;
258
-
259
- if (done) {
260
- return Promise.resolve({
261
- value: value,
262
- done: done
263
- });
264
- }
265
- _this4._loaded += value.byteLength;
266
- if (_this4.onProgress) {
267
- _this4.onProgress({ loaded: _this4._loaded });
344
+ key: "read",
345
+ value: function () {
346
+ var _read2 = _asyncToGenerator(
347
+ /*#__PURE__*/
348
+ _regenerator["default"].mark(function _callee2() {
349
+ var _ref2, value, done, buffer;
350
+
351
+ return _regenerator["default"].wrap(function _callee2$(_context2) {
352
+ while (1) {
353
+ switch (_context2.prev = _context2.next) {
354
+ case 0:
355
+ _context2.next = 2;
356
+ return this._readCapability.promise;
357
+
358
+ case 2:
359
+ _context2.next = 4;
360
+ return this._reader.read();
361
+
362
+ case 4:
363
+ _ref2 = _context2.sent;
364
+ value = _ref2.value;
365
+ done = _ref2.done;
366
+
367
+ if (!done) {
368
+ _context2.next = 9;
369
+ break;
370
+ }
371
+
372
+ return _context2.abrupt("return", {
373
+ value: value,
374
+ done: done
375
+ });
376
+
377
+ case 9:
378
+ this._loaded += value.byteLength;
379
+
380
+ if (this.onProgress) {
381
+ this.onProgress({
382
+ loaded: this._loaded
383
+ });
384
+ }
385
+
386
+ buffer = new Uint8Array(value).buffer;
387
+ return _context2.abrupt("return", {
388
+ value: buffer,
389
+ done: false
390
+ });
391
+
392
+ case 13:
393
+ case "end":
394
+ return _context2.stop();
395
+ }
268
396
  }
269
- var buffer = new Uint8Array(value).buffer;
270
- return Promise.resolve({
271
- value: buffer,
272
- done: false
273
- });
274
- });
275
- });
276
- }
397
+ }, _callee2, this);
398
+ }));
399
+
400
+ function read() {
401
+ return _read2.apply(this, arguments);
402
+ }
403
+
404
+ return read;
405
+ }()
277
406
  }, {
278
- key: 'cancel',
407
+ key: "cancel",
279
408
  value: function cancel(reason) {
280
409
  if (this._reader) {
281
410
  this._reader.cancel(reason);
282
411
  }
412
+
413
+ if (this._abortController) {
414
+ this._abortController.abort();
415
+ }
283
416
  }
284
417
  }, {
285
- key: 'isStreamingSupported',
418
+ key: "isStreamingSupported",
286
419
  get: function get() {
287
420
  return this._isStreamingSupported;
288
421
  }
289
422
  }]);
290
423
 
291
424
  return PDFFetchStreamRangeReader;
292
- }();
293
-
294
- exports.PDFFetchStream = PDFFetchStream;
425
+ }();