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.
- package/README.md +4 -0
- package/bower.json +1 -1
- package/build/pdf.js +6499 -17971
- package/build/pdf.js.map +1 -1
- package/build/pdf.min.js +22 -1
- package/build/pdf.worker.entry.js +5 -3
- package/build/pdf.worker.js +19303 -29896
- package/build/pdf.worker.js.map +1 -1
- package/build/pdf.worker.min.js +22 -1
- package/es5/build/pdf.js +25473 -0
- package/es5/build/pdf.js.map +1 -0
- package/{lib/shared/global_scope.js → es5/build/pdf.worker.entry.js} +5 -10
- package/es5/build/pdf.worker.js +57878 -0
- package/es5/build/pdf.worker.js.map +1 -0
- package/es5/web/images/annotation-check.svg +11 -0
- package/es5/web/images/annotation-comment.svg +16 -0
- package/es5/web/images/annotation-help.svg +26 -0
- package/es5/web/images/annotation-insert.svg +10 -0
- package/es5/web/images/annotation-key.svg +11 -0
- package/es5/web/images/annotation-newparagraph.svg +11 -0
- package/es5/web/images/annotation-noicon.svg +7 -0
- package/es5/web/images/annotation-note.svg +42 -0
- package/es5/web/images/annotation-paragraph.svg +16 -0
- package/es5/web/images/loading-icon.gif +0 -0
- package/es5/web/images/shadow.png +0 -0
- package/es5/web/images/texture.png +0 -0
- package/es5/web/pdf_viewer.css +407 -0
- package/es5/web/pdf_viewer.js +7757 -0
- package/es5/web/pdf_viewer.js.map +1 -0
- package/image_decoders/pdf.image_decoders.js +1333 -4839
- package/image_decoders/pdf.image_decoders.js.map +1 -1
- package/image_decoders/pdf.image_decoders.min.js +22 -1
- package/lib/README.md +7 -0
- package/lib/core/annotation.js +683 -1066
- package/lib/core/arithmetic_decoder.js +81 -97
- package/lib/core/bidi.js +54 -46
- package/lib/core/ccitt.js +88 -81
- package/lib/core/ccitt_stream.js +15 -14
- package/lib/core/cff_parser.js +196 -193
- package/lib/core/charsets.js +4 -4
- package/lib/core/chunked_stream.js +441 -569
- package/lib/core/cmap.js +220 -279
- package/lib/core/colorspace.js +699 -863
- package/lib/core/core_utils.js +59 -80
- package/lib/core/crypto.js +379 -437
- package/lib/core/document.js +564 -673
- package/lib/core/encodings.js +15 -15
- package/lib/core/evaluator.js +983 -889
- package/lib/core/font_renderer.js +128 -171
- package/lib/core/fonts.js +451 -400
- package/lib/core/function.js +289 -285
- package/lib/core/glyphlist.js +4527 -4527
- package/lib/core/image.js +138 -117
- package/lib/core/image_utils.js +46 -63
- package/lib/core/jbig2.js +324 -332
- package/lib/core/jbig2_stream.js +18 -17
- package/lib/core/jpeg_stream.js +133 -24
- package/lib/core/jpg.js +238 -210
- package/lib/core/jpx.js +158 -157
- package/lib/core/jpx_stream.js +28 -28
- package/lib/core/metrics.js +2928 -2928
- package/lib/core/murmurhash3.js +87 -102
- package/lib/core/obj.js +1111 -1302
- package/lib/core/operator_list.js +55 -42
- package/lib/core/parser.js +956 -987
- package/lib/core/pattern.js +69 -69
- package/lib/core/pdf_manager.js +149 -316
- package/lib/core/primitives.js +45 -77
- package/lib/core/ps_parser.js +175 -214
- package/lib/core/standard_fonts.js +237 -236
- package/lib/core/stream.js +83 -77
- package/lib/core/type1_parser.js +78 -68
- package/lib/core/unicode.js +1654 -1654
- package/lib/core/worker.js +148 -196
- package/lib/core/worker_stream.js +101 -210
- package/lib/display/annotation_layer.js +733 -1155
- package/lib/display/api.js +1539 -1928
- package/lib/display/api_compatibility.js +10 -8
- package/lib/display/canvas.js +159 -158
- package/lib/display/content_disposition.js +36 -55
- package/lib/display/display_utils.js +298 -551
- package/lib/display/fetch_stream.js +181 -305
- package/lib/display/font_loader.js +273 -416
- package/lib/display/metadata.js +86 -98
- package/lib/display/network.js +376 -511
- package/lib/display/network_utils.js +20 -19
- package/lib/display/node_stream.js +276 -460
- package/lib/display/pattern_helper.js +76 -44
- package/lib/display/svg.js +1137 -1405
- package/lib/display/text_layer.js +75 -82
- package/lib/display/transport_stream.js +236 -374
- package/lib/display/webgl.js +70 -83
- package/lib/display/worker_options.js +3 -3
- package/lib/display/xml_parser.js +303 -392
- package/lib/examples/node/domstubs.js +37 -37
- package/lib/pdf.js +22 -21
- package/lib/pdf.worker.js +5 -5
- package/lib/shared/compatibility.js +2 -251
- package/lib/shared/is_node.js +7 -6
- package/lib/shared/message_handler.js +222 -194
- package/lib/shared/util.js +269 -405
- package/lib/test/unit/annotation_spec.js +1089 -1014
- package/lib/test/unit/api_spec.js +617 -544
- package/lib/test/unit/bidi_spec.js +7 -7
- package/lib/test/unit/cff_parser_spec.js +63 -62
- package/lib/test/unit/clitests_helper.js +7 -9
- package/lib/test/unit/cmap_spec.js +84 -86
- package/lib/test/unit/colorspace_spec.js +154 -154
- package/lib/test/unit/core_utils_spec.js +125 -105
- package/lib/test/unit/crypto_spec.js +181 -181
- package/lib/test/unit/custom_spec.js +22 -24
- package/lib/test/unit/display_svg_spec.js +35 -36
- package/lib/test/unit/display_utils_spec.js +139 -149
- package/lib/test/unit/document_spec.js +16 -16
- package/lib/test/unit/encodings_spec.js +12 -34
- package/lib/test/unit/evaluator_spec.js +81 -95
- package/lib/test/unit/fetch_stream_spec.js +30 -30
- package/lib/test/unit/function_spec.js +206 -204
- package/lib/test/unit/jasmine-boot.js +48 -32
- package/lib/test/unit/message_handler_spec.js +172 -162
- package/lib/test/unit/metadata_spec.js +69 -69
- package/lib/test/unit/murmurhash3_spec.js +12 -12
- package/lib/test/unit/network_spec.js +12 -12
- package/lib/test/unit/network_utils_spec.js +152 -152
- package/lib/test/unit/node_stream_spec.js +74 -90
- package/lib/test/unit/parser_spec.js +107 -113
- package/lib/test/unit/pdf_find_controller_spec.js +55 -86
- package/lib/test/unit/pdf_find_utils_spec.js +32 -32
- package/lib/test/unit/pdf_history_spec.js +32 -32
- package/lib/test/unit/primitives_spec.js +117 -115
- package/lib/test/unit/stream_spec.js +16 -14
- package/lib/test/unit/test_utils.js +119 -285
- package/lib/test/unit/testreporter.js +19 -19
- package/lib/test/unit/type1_parser_spec.js +41 -41
- package/lib/test/unit/ui_utils_spec.js +318 -426
- package/lib/test/unit/unicode_spec.js +42 -42
- package/lib/test/unit/util_spec.js +122 -143
- package/lib/web/annotation_layer_builder.js +66 -103
- package/lib/web/app.js +1166 -1196
- package/lib/web/app_options.js +61 -77
- package/lib/web/base_viewer.js +804 -850
- package/lib/web/chromecom.js +164 -249
- package/lib/web/debugger.js +149 -205
- package/lib/web/download_manager.js +38 -57
- package/lib/web/firefox_print_service.js +35 -30
- package/lib/web/firefoxcom.js +175 -374
- package/lib/web/genericcom.js +26 -108
- package/lib/web/genericl10n.js +24 -153
- package/lib/web/grab_to_pan.js +30 -30
- package/lib/web/interfaces.js +80 -258
- package/lib/web/overlay_manager.js +70 -246
- package/lib/web/password_prompt.js +38 -64
- package/lib/web/pdf_attachment_viewer.js +105 -130
- package/lib/web/pdf_cursor_tools.js +75 -102
- package/lib/web/pdf_document_properties.js +227 -376
- package/lib/web/pdf_find_bar.js +137 -171
- package/lib/web/pdf_find_controller.js +492 -549
- package/lib/web/pdf_find_utils.js +13 -13
- package/lib/web/pdf_history.js +395 -406
- package/lib/web/pdf_link_service.js +302 -349
- package/lib/web/pdf_outline_viewer.js +148 -209
- package/lib/web/pdf_page_view.js +449 -507
- package/lib/web/pdf_presentation_mode.js +304 -357
- package/lib/web/pdf_print_service.js +90 -104
- package/lib/web/pdf_rendering_queue.js +87 -108
- package/lib/web/pdf_sidebar.js +264 -304
- package/lib/web/pdf_sidebar_resizer.js +92 -119
- package/lib/web/pdf_single_page_viewer.js +77 -126
- package/lib/web/pdf_thumbnail_view.js +276 -297
- package/lib/web/pdf_thumbnail_viewer.js +186 -206
- package/lib/web/pdf_viewer.component.js +20 -21
- package/lib/web/pdf_viewer.js +55 -115
- package/lib/web/preferences.js +66 -273
- package/lib/web/secondary_toolbar.js +164 -196
- package/lib/web/text_layer_builder.js +284 -317
- package/lib/web/toolbar.js +216 -211
- package/lib/web/ui_utils.js +303 -404
- package/lib/web/view_history.js +49 -222
- package/lib/web/viewer_compatibility.js +7 -5
- package/package.json +2 -9
- package/web/pdf_viewer.css +25 -18
- package/web/pdf_viewer.js +3481 -4764
- package/web/pdf_viewer.js.map +1 -1
- package/webpack.js +14 -5
- 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
|
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,41 +26,39 @@ Object.defineProperty(exports, "__esModule", {
|
|
26
26
|
});
|
27
27
|
exports.PDFFetchStream = void 0;
|
28
28
|
|
29
|
-
var
|
29
|
+
var _util = require("../shared/util.js");
|
30
30
|
|
31
|
-
var
|
32
|
-
|
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); }); }; }
|
40
|
-
|
41
|
-
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
|
42
|
-
|
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; }
|
31
|
+
var _network_utils = require("./network_utils.js");
|
46
32
|
|
47
33
|
function createFetchOptions(headers, withCredentials, abortController) {
|
48
34
|
return {
|
49
|
-
method:
|
50
|
-
headers
|
35
|
+
method: "GET",
|
36
|
+
headers,
|
51
37
|
signal: abortController && abortController.signal,
|
52
|
-
mode:
|
53
|
-
credentials: withCredentials ?
|
54
|
-
redirect:
|
38
|
+
mode: "cors",
|
39
|
+
credentials: withCredentials ? "include" : "same-origin",
|
40
|
+
redirect: "follow"
|
55
41
|
};
|
56
42
|
}
|
57
43
|
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
44
|
+
function createHeaders(httpHeaders) {
|
45
|
+
const headers = new Headers();
|
46
|
+
|
47
|
+
for (const property in httpHeaders) {
|
48
|
+
const value = httpHeaders[property];
|
63
49
|
|
50
|
+
if (typeof value === "undefined") {
|
51
|
+
continue;
|
52
|
+
}
|
53
|
+
|
54
|
+
headers.append(property, value);
|
55
|
+
}
|
56
|
+
|
57
|
+
return headers;
|
58
|
+
}
|
59
|
+
|
60
|
+
class PDFFetchStream {
|
61
|
+
constructor(source) {
|
64
62
|
this.source = source;
|
65
63
|
this.isHttp = /^https?:/i.test(source.url);
|
66
64
|
this.httpHeaders = this.isHttp && source.httpHeaders || {};
|
@@ -68,64 +66,51 @@ function () {
|
|
68
66
|
this._rangeRequestReaders = [];
|
69
67
|
}
|
70
68
|
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
(0, _util.assert)(!this._fullRequestReader);
|
75
|
-
this._fullRequestReader = new PDFFetchStreamReader(this);
|
76
|
-
return this._fullRequestReader;
|
77
|
-
}
|
78
|
-
}, {
|
79
|
-
key: "getRangeReader",
|
80
|
-
value: function getRangeReader(begin, end) {
|
81
|
-
if (end <= this._progressiveDataLength) {
|
82
|
-
return null;
|
83
|
-
}
|
84
|
-
|
85
|
-
var reader = new PDFFetchStreamRangeReader(this, begin, end);
|
69
|
+
get _progressiveDataLength() {
|
70
|
+
return this._fullRequestReader ? this._fullRequestReader._loaded : 0;
|
71
|
+
}
|
86
72
|
|
87
|
-
|
73
|
+
getFullReader() {
|
74
|
+
(0, _util.assert)(!this._fullRequestReader);
|
75
|
+
this._fullRequestReader = new PDFFetchStreamReader(this);
|
76
|
+
return this._fullRequestReader;
|
77
|
+
}
|
88
78
|
|
89
|
-
|
79
|
+
getRangeReader(begin, end) {
|
80
|
+
if (end <= this._progressiveDataLength) {
|
81
|
+
return null;
|
90
82
|
}
|
91
|
-
}, {
|
92
|
-
key: "cancelAllRequests",
|
93
|
-
value: function cancelAllRequests(reason) {
|
94
|
-
if (this._fullRequestReader) {
|
95
|
-
this._fullRequestReader.cancel(reason);
|
96
|
-
}
|
97
83
|
|
98
|
-
|
84
|
+
const reader = new PDFFetchStreamRangeReader(this, begin, end);
|
99
85
|
|
100
|
-
|
101
|
-
|
102
|
-
|
103
|
-
|
104
|
-
|
105
|
-
|
106
|
-
|
107
|
-
|
86
|
+
this._rangeRequestReaders.push(reader);
|
87
|
+
|
88
|
+
return reader;
|
89
|
+
}
|
90
|
+
|
91
|
+
cancelAllRequests(reason) {
|
92
|
+
if (this._fullRequestReader) {
|
93
|
+
this._fullRequestReader.cancel(reason);
|
108
94
|
}
|
109
|
-
}]);
|
110
95
|
|
111
|
-
|
112
|
-
}();
|
96
|
+
const readers = this._rangeRequestReaders.slice(0);
|
113
97
|
|
114
|
-
|
98
|
+
readers.forEach(function (reader) {
|
99
|
+
reader.cancel(reason);
|
100
|
+
});
|
101
|
+
}
|
115
102
|
|
116
|
-
|
117
|
-
/*#__PURE__*/
|
118
|
-
function () {
|
119
|
-
function PDFFetchStreamReader(stream) {
|
120
|
-
var _this = this;
|
103
|
+
}
|
121
104
|
|
122
|
-
|
105
|
+
exports.PDFFetchStream = PDFFetchStream;
|
123
106
|
|
107
|
+
class PDFFetchStreamReader {
|
108
|
+
constructor(stream) {
|
124
109
|
this._stream = stream;
|
125
110
|
this._reader = null;
|
126
111
|
this._loaded = 0;
|
127
112
|
this._filename = null;
|
128
|
-
|
113
|
+
const source = stream.source;
|
129
114
|
this._withCredentials = source.withCredentials || false;
|
130
115
|
this._contentLength = source.length;
|
131
116
|
this._headersCapability = (0, _util.createPromiseCapability)();
|
@@ -136,290 +121,181 @@ function () {
|
|
136
121
|
this._disableRange = true;
|
137
122
|
}
|
138
123
|
|
139
|
-
if (typeof AbortController !==
|
124
|
+
if (typeof AbortController !== "undefined") {
|
140
125
|
this._abortController = new AbortController();
|
141
126
|
}
|
142
127
|
|
143
128
|
this._isStreamingSupported = !source.disableStream;
|
144
129
|
this._isRangeSupported = !source.disableRange;
|
145
|
-
this._headers =
|
146
|
-
|
147
|
-
|
148
|
-
var value = this._stream.httpHeaders[property];
|
149
|
-
|
150
|
-
if (typeof value === 'undefined') {
|
151
|
-
continue;
|
152
|
-
}
|
153
|
-
|
154
|
-
this._headers.append(property, value);
|
155
|
-
}
|
156
|
-
|
157
|
-
var url = source.url;
|
158
|
-
fetch(url, createFetchOptions(this._headers, this._withCredentials, this._abortController)).then(function (response) {
|
130
|
+
this._headers = createHeaders(this._stream.httpHeaders);
|
131
|
+
const url = source.url;
|
132
|
+
fetch(url, createFetchOptions(this._headers, this._withCredentials, this._abortController)).then(response => {
|
159
133
|
if (!(0, _network_utils.validateResponseStatus)(response.status)) {
|
160
134
|
throw (0, _network_utils.createResponseStatusError)(response.status, url);
|
161
135
|
}
|
162
136
|
|
163
|
-
|
137
|
+
this._reader = response.body.getReader();
|
164
138
|
|
165
|
-
|
139
|
+
this._headersCapability.resolve();
|
166
140
|
|
167
|
-
|
141
|
+
const getResponseHeader = name => {
|
168
142
|
return response.headers.get(name);
|
169
143
|
};
|
170
144
|
|
171
|
-
|
172
|
-
|
173
|
-
|
174
|
-
|
175
|
-
|
176
|
-
|
177
|
-
|
178
|
-
|
179
|
-
|
180
|
-
|
181
|
-
|
182
|
-
|
183
|
-
|
184
|
-
if (!
|
185
|
-
|
145
|
+
const {
|
146
|
+
allowRangeRequests,
|
147
|
+
suggestedLength
|
148
|
+
} = (0, _network_utils.validateRangeRequestCapabilities)({
|
149
|
+
getResponseHeader,
|
150
|
+
isHttp: this._stream.isHttp,
|
151
|
+
rangeChunkSize: this._rangeChunkSize,
|
152
|
+
disableRange: this._disableRange
|
153
|
+
});
|
154
|
+
this._isRangeSupported = allowRangeRequests;
|
155
|
+
this._contentLength = suggestedLength || this._contentLength;
|
156
|
+
this._filename = (0, _network_utils.extractFilenameFromHeader)(getResponseHeader);
|
157
|
+
|
158
|
+
if (!this._isStreamingSupported && this._isRangeSupported) {
|
159
|
+
this.cancel(new _util.AbortException("Streaming is disabled."));
|
186
160
|
}
|
187
|
-
})
|
161
|
+
}).catch(this._headersCapability.reject);
|
188
162
|
this.onProgress = null;
|
189
163
|
}
|
190
164
|
|
191
|
-
|
192
|
-
|
193
|
-
|
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
|
-
}
|
245
|
-
}
|
246
|
-
}, _callee, this);
|
247
|
-
}));
|
248
|
-
|
249
|
-
function read() {
|
250
|
-
return _read.apply(this, arguments);
|
251
|
-
}
|
165
|
+
get headersReady() {
|
166
|
+
return this._headersCapability.promise;
|
167
|
+
}
|
252
168
|
|
253
|
-
|
254
|
-
|
255
|
-
}
|
256
|
-
key: "cancel",
|
257
|
-
value: function cancel(reason) {
|
258
|
-
if (this._reader) {
|
259
|
-
this._reader.cancel(reason);
|
260
|
-
}
|
169
|
+
get filename() {
|
170
|
+
return this._filename;
|
171
|
+
}
|
261
172
|
|
262
|
-
|
263
|
-
|
264
|
-
|
265
|
-
|
266
|
-
|
267
|
-
|
268
|
-
|
269
|
-
|
270
|
-
|
271
|
-
|
272
|
-
|
273
|
-
|
274
|
-
|
275
|
-
|
276
|
-
|
277
|
-
|
278
|
-
|
279
|
-
|
280
|
-
|
281
|
-
|
282
|
-
|
283
|
-
|
284
|
-
|
173
|
+
get contentLength() {
|
174
|
+
return this._contentLength;
|
175
|
+
}
|
176
|
+
|
177
|
+
get isRangeSupported() {
|
178
|
+
return this._isRangeSupported;
|
179
|
+
}
|
180
|
+
|
181
|
+
get isStreamingSupported() {
|
182
|
+
return this._isStreamingSupported;
|
183
|
+
}
|
184
|
+
|
185
|
+
async read() {
|
186
|
+
await this._headersCapability.promise;
|
187
|
+
const {
|
188
|
+
value,
|
189
|
+
done
|
190
|
+
} = await this._reader.read();
|
191
|
+
|
192
|
+
if (done) {
|
193
|
+
return {
|
194
|
+
value,
|
195
|
+
done
|
196
|
+
};
|
285
197
|
}
|
286
|
-
|
287
|
-
|
288
|
-
|
289
|
-
|
198
|
+
|
199
|
+
this._loaded += value.byteLength;
|
200
|
+
|
201
|
+
if (this.onProgress) {
|
202
|
+
this.onProgress({
|
203
|
+
loaded: this._loaded,
|
204
|
+
total: this._contentLength
|
205
|
+
});
|
290
206
|
}
|
291
|
-
}]);
|
292
207
|
|
293
|
-
|
294
|
-
|
208
|
+
const buffer = new Uint8Array(value).buffer;
|
209
|
+
return {
|
210
|
+
value: buffer,
|
211
|
+
done: false
|
212
|
+
};
|
213
|
+
}
|
295
214
|
|
296
|
-
|
297
|
-
|
298
|
-
|
299
|
-
|
300
|
-
var _this2 = this;
|
215
|
+
cancel(reason) {
|
216
|
+
if (this._reader) {
|
217
|
+
this._reader.cancel(reason);
|
218
|
+
}
|
301
219
|
|
302
|
-
|
220
|
+
if (this._abortController) {
|
221
|
+
this._abortController.abort();
|
222
|
+
}
|
223
|
+
}
|
303
224
|
|
225
|
+
}
|
226
|
+
|
227
|
+
class PDFFetchStreamRangeReader {
|
228
|
+
constructor(stream, begin, end) {
|
304
229
|
this._stream = stream;
|
305
230
|
this._reader = null;
|
306
231
|
this._loaded = 0;
|
307
|
-
|
232
|
+
const source = stream.source;
|
308
233
|
this._withCredentials = source.withCredentials || false;
|
309
234
|
this._readCapability = (0, _util.createPromiseCapability)();
|
310
235
|
this._isStreamingSupported = !source.disableStream;
|
311
236
|
|
312
|
-
if (typeof AbortController !==
|
237
|
+
if (typeof AbortController !== "undefined") {
|
313
238
|
this._abortController = new AbortController();
|
314
239
|
}
|
315
240
|
|
316
|
-
this._headers =
|
317
|
-
|
318
|
-
for (var property in this._stream.httpHeaders) {
|
319
|
-
var value = this._stream.httpHeaders[property];
|
320
|
-
|
321
|
-
if (typeof value === 'undefined') {
|
322
|
-
continue;
|
323
|
-
}
|
324
|
-
|
325
|
-
this._headers.append(property, value);
|
326
|
-
}
|
241
|
+
this._headers = createHeaders(this._stream.httpHeaders);
|
327
242
|
|
328
|
-
this._headers.append(
|
243
|
+
this._headers.append("Range", `bytes=${begin}-${end - 1}`);
|
329
244
|
|
330
|
-
|
331
|
-
fetch(url, createFetchOptions(this._headers, this._withCredentials, this._abortController)).then(
|
245
|
+
const url = source.url;
|
246
|
+
fetch(url, createFetchOptions(this._headers, this._withCredentials, this._abortController)).then(response => {
|
332
247
|
if (!(0, _network_utils.validateResponseStatus)(response.status)) {
|
333
248
|
throw (0, _network_utils.createResponseStatusError)(response.status, url);
|
334
249
|
}
|
335
250
|
|
336
|
-
|
251
|
+
this._readCapability.resolve();
|
337
252
|
|
338
|
-
|
253
|
+
this._reader = response.body.getReader();
|
339
254
|
});
|
340
255
|
this.onProgress = null;
|
341
256
|
}
|
342
257
|
|
343
|
-
|
344
|
-
|
345
|
-
|
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
|
-
}
|
396
|
-
}
|
397
|
-
}, _callee2, this);
|
398
|
-
}));
|
399
|
-
|
400
|
-
function read() {
|
401
|
-
return _read2.apply(this, arguments);
|
402
|
-
}
|
258
|
+
get isStreamingSupported() {
|
259
|
+
return this._isStreamingSupported;
|
260
|
+
}
|
403
261
|
|
404
|
-
|
405
|
-
|
406
|
-
|
407
|
-
|
408
|
-
|
409
|
-
|
410
|
-
|
411
|
-
|
262
|
+
async read() {
|
263
|
+
await this._readCapability.promise;
|
264
|
+
const {
|
265
|
+
value,
|
266
|
+
done
|
267
|
+
} = await this._reader.read();
|
268
|
+
|
269
|
+
if (done) {
|
270
|
+
return {
|
271
|
+
value,
|
272
|
+
done
|
273
|
+
};
|
274
|
+
}
|
412
275
|
|
413
|
-
|
414
|
-
|
415
|
-
|
276
|
+
this._loaded += value.byteLength;
|
277
|
+
|
278
|
+
if (this.onProgress) {
|
279
|
+
this.onProgress({
|
280
|
+
loaded: this._loaded
|
281
|
+
});
|
282
|
+
}
|
283
|
+
|
284
|
+
const buffer = new Uint8Array(value).buffer;
|
285
|
+
return {
|
286
|
+
value: buffer,
|
287
|
+
done: false
|
288
|
+
};
|
289
|
+
}
|
290
|
+
|
291
|
+
cancel(reason) {
|
292
|
+
if (this._reader) {
|
293
|
+
this._reader.cancel(reason);
|
416
294
|
}
|
417
|
-
|
418
|
-
|
419
|
-
|
420
|
-
return this._isStreamingSupported;
|
295
|
+
|
296
|
+
if (this._abortController) {
|
297
|
+
this._abortController.abort();
|
421
298
|
}
|
422
|
-
}
|
299
|
+
}
|
423
300
|
|
424
|
-
|
425
|
-
}();
|
301
|
+
}
|