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.
- package/CODE_OF_CONDUCT.md +15 -0
- package/bower.json +1 -1
- package/build/pdf.js +18515 -11402
- package/build/pdf.js.map +1 -1
- package/build/pdf.min.js +1 -1
- package/build/pdf.worker.js +48266 -37137
- package/build/pdf.worker.js.map +1 -1
- package/build/pdf.worker.min.js +1 -1
- package/external/url/url-lib.js +627 -0
- package/image_decoders/pdf.image_decoders.js +11350 -0
- package/image_decoders/pdf.image_decoders.js.map +1 -0
- package/image_decoders/pdf.image_decoders.min.js +1 -0
- package/lib/core/annotation.js +587 -242
- package/lib/core/arithmetic_decoder.js +275 -245
- package/lib/core/bidi.js +65 -6
- package/lib/core/ccitt.js +173 -18
- package/lib/core/ccitt_stream.js +15 -6
- package/lib/core/cff_parser.js +433 -61
- package/lib/core/charsets.js +5 -4
- package/lib/core/chunked_stream.js +400 -152
- package/lib/core/cmap.js +326 -87
- package/lib/core/colorspace.js +874 -594
- package/lib/core/core_utils.js +147 -0
- package/lib/core/crypto.js +290 -45
- package/lib/core/document.js +560 -268
- package/lib/core/encodings.js +19 -10
- package/lib/core/evaluator.js +1005 -360
- package/lib/core/font_renderer.js +331 -97
- package/lib/core/fonts.js +812 -195
- package/lib/core/function.js +284 -71
- package/lib/core/glyphlist.js +4 -3
- package/lib/core/image.js +169 -62
- package/lib/core/image_utils.js +111 -0
- package/lib/core/jbig2.js +479 -66
- package/lib/core/jbig2_stream.js +19 -8
- package/lib/core/jpeg_stream.js +38 -13
- package/lib/core/jpg.js +253 -29
- package/lib/core/jpx.js +396 -6
- package/lib/core/jpx_stream.js +18 -6
- package/lib/core/metrics.js +15 -15
- package/lib/core/murmurhash3.js +56 -34
- package/lib/core/obj.js +1354 -488
- package/lib/core/operator_list.js +144 -31
- package/lib/core/parser.js +539 -191
- package/lib/core/pattern.js +148 -14
- package/lib/core/pdf_manager.js +323 -133
- package/lib/core/primitives.js +111 -24
- package/lib/core/ps_parser.js +134 -45
- package/lib/core/standard_fonts.js +17 -17
- package/lib/core/stream.js +313 -34
- package/lib/core/type1_parser.js +143 -13
- package/lib/core/unicode.js +32 -5
- package/lib/core/worker.js +217 -190
- package/lib/core/worker_stream.js +277 -0
- package/lib/display/annotation_layer.js +450 -133
- package/lib/display/api.js +1597 -784
- package/lib/display/api_compatibility.js +11 -13
- package/lib/display/canvas.js +360 -44
- package/lib/display/content_disposition.js +83 -32
- package/lib/display/display_utils.js +747 -0
- package/lib/display/fetch_stream.js +221 -90
- package/lib/display/font_loader.js +468 -236
- package/lib/display/metadata.js +38 -16
- package/lib/display/network.js +635 -428
- package/lib/display/network_utils.js +32 -19
- package/lib/display/node_stream.js +367 -175
- package/lib/display/pattern_helper.js +81 -31
- package/lib/display/svg.js +1235 -519
- package/lib/display/text_layer.js +153 -29
- package/lib/display/transport_stream.js +345 -94
- package/lib/display/webgl.js +64 -18
- package/lib/display/worker_options.js +5 -4
- package/lib/display/xml_parser.js +166 -53
- package/lib/examples/node/domstubs.js +60 -4
- package/lib/pdf.js +36 -14
- package/lib/pdf.worker.js +5 -3
- package/lib/shared/compatibility.js +158 -564
- package/lib/shared/global_scope.js +2 -2
- package/lib/shared/is_node.js +4 -4
- package/lib/shared/message_handler.js +521 -0
- package/lib/shared/streams_polyfill.js +21 -17
- package/lib/shared/url_polyfill.js +56 -0
- package/lib/shared/util.js +243 -710
- package/lib/test/unit/annotation_spec.js +870 -401
- package/lib/test/unit/api_spec.js +657 -345
- package/lib/test/unit/bidi_spec.js +7 -7
- package/lib/test/unit/cff_parser_spec.js +54 -11
- package/lib/test/unit/clitests_helper.js +10 -8
- package/lib/test/unit/cmap_spec.js +95 -41
- package/lib/test/unit/colorspace_spec.js +115 -63
- package/lib/test/unit/core_utils_spec.js +191 -0
- package/lib/test/unit/crypto_spec.js +17 -5
- package/lib/test/unit/custom_spec.js +43 -55
- package/lib/test/unit/display_svg_spec.js +34 -18
- package/lib/test/unit/display_utils_spec.js +273 -0
- package/lib/test/unit/document_spec.js +8 -13
- package/lib/test/unit/encodings_spec.js +25 -45
- package/lib/test/unit/evaluator_spec.js +38 -15
- package/lib/test/unit/fetch_stream_spec.js +109 -0
- package/lib/test/unit/function_spec.js +17 -5
- package/lib/test/unit/jasmine-boot.js +33 -20
- package/lib/test/unit/{util_stream_spec.js → message_handler_spec.js} +41 -69
- package/lib/test/unit/metadata_spec.js +71 -11
- package/lib/test/unit/murmurhash3_spec.js +3 -3
- package/lib/test/unit/network_spec.js +19 -54
- package/lib/test/unit/network_utils_spec.js +91 -14
- package/lib/test/unit/node_stream_spec.js +56 -32
- package/lib/test/unit/parser_spec.js +162 -71
- package/lib/test/unit/pdf_find_controller_spec.js +230 -0
- package/lib/test/unit/pdf_find_utils_spec.js +63 -0
- package/lib/test/unit/pdf_history_spec.js +21 -9
- package/lib/test/unit/primitives_spec.js +53 -20
- package/lib/test/unit/stream_spec.js +12 -4
- package/lib/test/unit/test_utils.js +273 -56
- package/lib/test/unit/testreporter.js +21 -3
- package/lib/test/unit/type1_parser_spec.js +8 -6
- package/lib/test/unit/ui_utils_spec.js +454 -16
- package/lib/test/unit/unicode_spec.js +18 -15
- package/lib/test/unit/util_spec.js +87 -128
- package/lib/web/annotation_layer_builder.js +39 -22
- package/lib/web/app.js +1290 -588
- package/lib/web/app_options.js +100 -62
- package/lib/web/base_viewer.js +511 -182
- package/lib/web/chromecom.js +261 -117
- package/lib/web/debugger.js +166 -22
- package/lib/web/download_manager.js +32 -13
- package/lib/web/firefox_print_service.js +20 -10
- package/lib/web/firefoxcom.js +315 -80
- package/lib/web/genericcom.js +89 -30
- package/lib/web/genericl10n.js +142 -30
- package/lib/web/grab_to_pan.js +28 -4
- package/lib/web/interfaces.js +170 -47
- package/lib/web/overlay_manager.js +235 -85
- package/lib/web/password_prompt.js +22 -14
- package/lib/web/pdf_attachment_viewer.js +38 -18
- package/lib/web/pdf_cursor_tools.js +39 -16
- package/lib/web/pdf_document_properties.js +255 -136
- package/lib/web/pdf_find_bar.js +84 -40
- package/lib/web/pdf_find_controller.js +495 -184
- package/lib/web/pdf_find_utils.js +111 -0
- package/lib/web/pdf_history.js +190 -53
- package/lib/web/pdf_link_service.js +138 -77
- package/lib/web/pdf_outline_viewer.js +122 -46
- package/lib/web/pdf_page_view.js +191 -67
- package/lib/web/pdf_presentation_mode.js +99 -34
- package/lib/web/pdf_print_service.js +61 -13
- package/lib/web/pdf_rendering_queue.js +28 -9
- package/lib/web/pdf_sidebar.js +141 -81
- package/lib/web/pdf_sidebar_resizer.js +42 -16
- package/lib/web/pdf_single_page_viewer.js +74 -66
- package/lib/web/pdf_thumbnail_view.js +104 -33
- package/lib/web/pdf_thumbnail_viewer.js +66 -26
- package/lib/web/pdf_viewer.component.js +112 -32
- package/lib/web/pdf_viewer.js +91 -52
- package/lib/web/preferences.js +284 -89
- package/lib/web/secondary_toolbar.js +165 -40
- package/lib/web/text_layer_builder.js +134 -59
- package/lib/web/toolbar.js +78 -43
- package/lib/web/ui_utils.js +462 -136
- package/lib/web/view_history.js +215 -67
- package/lib/web/viewer_compatibility.js +4 -13
- package/package.json +5 -4
- package/web/pdf_viewer.css +79 -11
- package/web/pdf_viewer.js +6107 -3748
- package/web/pdf_viewer.js.map +1 -1
- package/lib/display/dom_utils.js +0 -309
- package/lib/test/unit/dom_utils_spec.js +0 -89
- package/lib/test/unit/fonts_spec.js +0 -81
- 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
|
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
|
-
|
22
|
+
"use strict";
|
23
23
|
|
24
24
|
Object.defineProperty(exports, "__esModule", {
|
25
25
|
value: true
|
26
26
|
});
|
27
|
-
exports.PDFFetchStream =
|
27
|
+
exports.PDFFetchStream = void 0;
|
28
28
|
|
29
|
-
var
|
29
|
+
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
30
30
|
|
31
|
-
var _util = require(
|
31
|
+
var _util = require("../shared/util");
|
32
32
|
|
33
|
-
var _network_utils = require(
|
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
|
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 =
|
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:
|
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:
|
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:
|
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
|
-
|
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('
|
185
|
+
_this.cancel(new _util.AbortException('Streaming is disabled.'));
|
142
186
|
}
|
143
|
-
})
|
187
|
+
})["catch"](this._headersCapability.reject);
|
144
188
|
this.onProgress = null;
|
145
189
|
}
|
146
190
|
|
147
191
|
_createClass(PDFFetchStreamReader, [{
|
148
|
-
key:
|
149
|
-
value: function
|
150
|
-
var
|
151
|
-
|
152
|
-
|
153
|
-
|
154
|
-
|
155
|
-
|
156
|
-
|
157
|
-
|
158
|
-
|
159
|
-
|
160
|
-
|
161
|
-
|
162
|
-
|
163
|
-
|
164
|
-
|
165
|
-
|
166
|
-
|
167
|
-
|
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
|
-
|
171
|
-
|
172
|
-
|
173
|
-
|
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:
|
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:
|
267
|
+
key: "headersReady",
|
187
268
|
get: function get() {
|
188
269
|
return this._headersCapability.promise;
|
189
270
|
}
|
190
271
|
}, {
|
191
|
-
key:
|
272
|
+
key: "filename",
|
192
273
|
get: function get() {
|
193
274
|
return this._filename;
|
194
275
|
}
|
195
276
|
}, {
|
196
|
-
key:
|
277
|
+
key: "contentLength",
|
197
278
|
get: function get() {
|
198
279
|
return this._contentLength;
|
199
280
|
}
|
200
281
|
}, {
|
201
|
-
key:
|
282
|
+
key: "isRangeSupported",
|
202
283
|
get: function get() {
|
203
284
|
return this._isRangeSupported;
|
204
285
|
}
|
205
286
|
}, {
|
206
|
-
key:
|
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 =
|
296
|
+
var PDFFetchStreamRangeReader =
|
297
|
+
/*#__PURE__*/
|
298
|
+
function () {
|
216
299
|
function PDFFetchStreamRangeReader(stream, begin, end) {
|
217
|
-
var
|
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
|
-
|
237
|
-
this._headers.append('Range',
|
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
|
-
|
244
|
-
|
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:
|
251
|
-
value: function
|
252
|
-
var
|
253
|
-
|
254
|
-
|
255
|
-
|
256
|
-
|
257
|
-
|
258
|
-
|
259
|
-
|
260
|
-
|
261
|
-
|
262
|
-
|
263
|
-
|
264
|
-
|
265
|
-
|
266
|
-
|
267
|
-
|
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
|
-
|
270
|
-
|
271
|
-
|
272
|
-
|
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:
|
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:
|
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
|
+
}();
|