pdfjs-dist 2.0.487 → 2.1.266
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/bower.json +1 -1
- package/build/pdf.js +15564 -9476
- package/build/pdf.js.map +1 -1
- package/build/pdf.min.js +1 -1
- package/build/pdf.worker.js +46644 -36309
- 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 +11430 -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 +406 -131
- 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 +376 -53
- package/lib/core/charsets.js +5 -4
- package/lib/core/chunked_stream.js +387 -149
- package/lib/core/cmap.js +310 -75
- package/lib/core/colorspace.js +874 -594
- package/lib/core/crypto.js +290 -45
- package/lib/core/document.js +545 -260
- package/lib/core/encodings.js +19 -10
- package/lib/core/evaluator.js +725 -147
- package/lib/core/font_renderer.js +360 -91
- package/lib/core/fonts.js +791 -186
- package/lib/core/function.js +284 -71
- package/lib/core/glyphlist.js +3 -2
- package/lib/core/image.js +168 -61
- 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 +252 -29
- package/lib/core/jpx.js +396 -6
- package/lib/core/jpx_stream.js +18 -6
- package/lib/core/metrics.js +4 -4
- package/lib/core/murmurhash3.js +24 -6
- package/lib/core/obj.js +1137 -475
- package/lib/core/operator_list.js +108 -6
- package/lib/core/parser.js +321 -68
- package/lib/core/pattern.js +145 -13
- package/lib/core/pdf_manager.js +321 -133
- package/lib/core/primitives.js +75 -22
- package/lib/core/ps_parser.js +134 -45
- package/lib/core/standard_fonts.js +10 -10
- package/lib/core/stream.js +313 -34
- package/lib/core/type1_parser.js +143 -13
- package/lib/core/unicode.js +31 -4
- package/lib/core/worker.js +210 -66
- package/lib/display/annotation_layer.js +361 -123
- package/lib/display/api.js +1454 -729
- package/lib/display/api_compatibility.js +11 -13
- package/lib/display/canvas.js +324 -29
- package/lib/display/content_disposition.js +83 -32
- package/lib/display/dom_utils.js +226 -41
- package/lib/display/fetch_stream.js +208 -84
- package/lib/display/font_loader.js +465 -236
- package/lib/display/metadata.js +38 -16
- package/lib/display/network.js +216 -51
- package/lib/display/network_utils.js +32 -19
- package/lib/display/node_stream.js +352 -169
- package/lib/display/pattern_helper.js +58 -7
- package/lib/display/svg.js +242 -29
- package/lib/display/text_layer.js +132 -18
- package/lib/display/transport_stream.js +171 -42
- 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 +57 -4
- package/lib/pdf.js +21 -4
- 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 +295 -650
- package/lib/test/unit/annotation_spec.js +629 -345
- package/lib/test/unit/api_spec.js +555 -253
- package/lib/test/unit/bidi_spec.js +7 -7
- package/lib/test/unit/cff_parser_spec.js +40 -11
- package/lib/test/unit/clitests_helper.js +9 -7
- package/lib/test/unit/cmap_spec.js +80 -26
- package/lib/test/unit/colorspace_spec.js +99 -52
- package/lib/test/unit/crypto_spec.js +17 -5
- package/lib/test/unit/custom_spec.js +41 -53
- package/lib/test/unit/display_svg_spec.js +33 -17
- package/lib/test/unit/document_spec.js +3 -3
- package/lib/test/unit/dom_utils_spec.js +9 -9
- package/lib/test/unit/encodings_spec.js +25 -45
- package/lib/test/unit/evaluator_spec.js +34 -9
- package/lib/test/unit/function_spec.js +17 -5
- package/lib/test/unit/jasmine-boot.js +31 -18
- 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 +20 -5
- package/lib/test/unit/network_utils_spec.js +41 -14
- package/lib/test/unit/node_stream_spec.js +51 -27
- package/lib/test/unit/parser_spec.js +35 -8
- 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 +24 -4
- package/lib/test/unit/stream_spec.js +12 -4
- package/lib/test/unit/test_utils.js +90 -27
- 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 +452 -14
- package/lib/test/unit/unicode_spec.js +14 -11
- package/lib/test/unit/util_spec.js +131 -9
- package/lib/web/annotation_layer_builder.js +39 -22
- package/lib/web/app.js +1240 -582
- package/lib/web/app_options.js +71 -41
- package/lib/web/base_viewer.js +508 -179
- package/lib/web/chromecom.js +261 -117
- package/lib/web/debugger.js +166 -22
- package/lib/web/download_manager.js +31 -13
- package/lib/web/firefox_print_service.js +17 -9
- package/lib/web/firefoxcom.js +283 -79
- package/lib/web/genericcom.js +89 -30
- package/lib/web/genericl10n.js +142 -30
- package/lib/web/grab_to_pan.js +26 -4
- package/lib/web/interfaces.js +170 -47
- package/lib/web/overlay_manager.js +235 -85
- package/lib/web/password_prompt.js +21 -13
- 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 +80 -30
- 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 +137 -76
- package/lib/web/pdf_outline_viewer.js +73 -22
- package/lib/web/pdf_page_view.js +196 -63
- package/lib/web/pdf_presentation_mode.js +99 -34
- package/lib/web/pdf_print_service.js +57 -11
- package/lib/web/pdf_rendering_queue.js +27 -5
- package/lib/web/pdf_sidebar.js +120 -67
- 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 +103 -32
- package/lib/web/pdf_thumbnail_viewer.js +64 -24
- package/lib/web/pdf_viewer.component.js +112 -32
- package/lib/web/pdf_viewer.js +91 -52
- package/lib/web/preferences.js +275 -80
- package/lib/web/secondary_toolbar.js +165 -40
- package/lib/web/text_layer_builder.js +162 -65
- 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 +58 -1
- package/web/pdf_viewer.js +6346 -3919
- package/web/pdf_viewer.js.map +1 -1
- 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 2018 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,19 +19,22 @@
|
|
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.PDFPrintService =
|
27
|
+
exports.PDFPrintService = PDFPrintService;
|
28
28
|
|
29
|
-
var _ui_utils = require(
|
29
|
+
var _ui_utils = require("./ui_utils");
|
30
30
|
|
31
|
-
var _app = require(
|
31
|
+
var _app = require("./app");
|
32
|
+
|
33
|
+
var _pdf = require("../pdf");
|
32
34
|
|
33
35
|
var activeService = null;
|
34
36
|
var overlayManager = null;
|
37
|
+
|
35
38
|
function renderPage(activeServiceOnEntry, pdfDocument, pageNumber, size) {
|
36
39
|
var scratchCanvas = activeService.scratchCanvas;
|
37
40
|
var PRINT_RESOLUTION = 150;
|
@@ -49,7 +52,10 @@ function renderPage(activeServiceOnEntry, pdfDocument, pageNumber, size) {
|
|
49
52
|
var renderContext = {
|
50
53
|
canvasContext: ctx,
|
51
54
|
transform: [PRINT_UNITS, 0, 0, PRINT_UNITS, 0, 0],
|
52
|
-
viewport: pdfPage.getViewport(
|
55
|
+
viewport: pdfPage.getViewport({
|
56
|
+
scale: 1,
|
57
|
+
rotation: size.rotation
|
58
|
+
}),
|
53
59
|
intent: 'print'
|
54
60
|
};
|
55
61
|
return pdfPage.render(renderContext).promise;
|
@@ -60,6 +66,7 @@ function renderPage(activeServiceOnEntry, pdfDocument, pageNumber, size) {
|
|
60
66
|
};
|
61
67
|
});
|
62
68
|
}
|
69
|
+
|
63
70
|
function PDFPrintService(pdfDocument, pagesOverview, printContainer, l10n) {
|
64
71
|
this.pdfDocument = pdfDocument;
|
65
72
|
this.pagesOverview = pagesOverview;
|
@@ -69,6 +76,7 @@ function PDFPrintService(pdfDocument, pagesOverview, printContainer, l10n) {
|
|
69
76
|
this.currentPage = -1;
|
70
77
|
this.scratchCanvas = document.createElement('canvas');
|
71
78
|
}
|
79
|
+
|
72
80
|
PDFPrintService.prototype = {
|
73
81
|
layout: function layout() {
|
74
82
|
this.throwIfInactive();
|
@@ -77,9 +85,11 @@ PDFPrintService.prototype = {
|
|
77
85
|
var hasEqualPageSizes = this.pagesOverview.every(function (size) {
|
78
86
|
return size.width === this.pagesOverview[0].width && size.height === this.pagesOverview[0].height;
|
79
87
|
}, this);
|
88
|
+
|
80
89
|
if (!hasEqualPageSizes) {
|
81
90
|
console.warn('Not all pages have the same size. The printed ' + 'result may be incorrect!');
|
82
91
|
}
|
92
|
+
|
83
93
|
this.pageStyleSheet = document.createElement('style');
|
84
94
|
var pageSize = this.pagesOverview[0];
|
85
95
|
this.pageStyleSheet.textContent = '@supports ((size:A4) and (size:1pt 1pt)) {' + '@page { size: ' + pageSize.width + 'pt ' + pageSize.height + 'pt;}' + '}';
|
@@ -89,11 +99,14 @@ PDFPrintService.prototype = {
|
|
89
99
|
if (activeService !== this) {
|
90
100
|
return;
|
91
101
|
}
|
102
|
+
|
92
103
|
this.printContainer.textContent = '';
|
104
|
+
|
93
105
|
if (this.pageStyleSheet) {
|
94
106
|
this.pageStyleSheet.remove();
|
95
107
|
this.pageStyleSheet = null;
|
96
108
|
}
|
109
|
+
|
97
110
|
this.scratchCanvas.width = this.scratchCanvas.height = 0;
|
98
111
|
this.scratchCanvas = null;
|
99
112
|
activeService = null;
|
@@ -101,6 +114,7 @@ PDFPrintService.prototype = {
|
|
101
114
|
if (overlayManager.active !== 'printServiceOverlay') {
|
102
115
|
return;
|
103
116
|
}
|
117
|
+
|
104
118
|
overlayManager.close('printServiceOverlay');
|
105
119
|
});
|
106
120
|
},
|
@@ -108,19 +122,23 @@ PDFPrintService.prototype = {
|
|
108
122
|
var _this = this;
|
109
123
|
|
110
124
|
var pageCount = this.pagesOverview.length;
|
125
|
+
|
111
126
|
var renderNextPage = function renderNextPage(resolve, reject) {
|
112
127
|
_this.throwIfInactive();
|
128
|
+
|
113
129
|
if (++_this.currentPage >= pageCount) {
|
114
130
|
renderProgress(pageCount, pageCount, _this.l10n);
|
115
131
|
resolve();
|
116
132
|
return;
|
117
133
|
}
|
134
|
+
|
118
135
|
var index = _this.currentPage;
|
119
136
|
renderProgress(index, pageCount, _this.l10n);
|
120
137
|
renderPage(_this, _this.pdfDocument, index + 1, _this.pagesOverview[index]).then(_this.useRenderedPage.bind(_this)).then(function () {
|
121
138
|
renderNextPage(resolve, reject);
|
122
139
|
}, reject);
|
123
140
|
};
|
141
|
+
|
124
142
|
return new Promise(renderNextPage);
|
125
143
|
},
|
126
144
|
useRenderedPage: function useRenderedPage(printItem) {
|
@@ -129,13 +147,15 @@ PDFPrintService.prototype = {
|
|
129
147
|
img.style.width = printItem.width;
|
130
148
|
img.style.height = printItem.height;
|
131
149
|
var scratchCanvas = this.scratchCanvas;
|
150
|
+
|
132
151
|
if ('toBlob' in scratchCanvas && !this.disableCreateObjectURL) {
|
133
152
|
scratchCanvas.toBlob(function (blob) {
|
134
|
-
img.src = URL.createObjectURL(blob);
|
153
|
+
img.src = _pdf.URL.createObjectURL(blob);
|
135
154
|
});
|
136
155
|
} else {
|
137
156
|
img.src = scratchCanvas.toDataURL();
|
138
157
|
}
|
158
|
+
|
139
159
|
var wrapper = document.createElement('div');
|
140
160
|
wrapper.appendChild(img);
|
141
161
|
this.printContainer.appendChild(wrapper);
|
@@ -154,6 +174,7 @@ PDFPrintService.prototype = {
|
|
154
174
|
resolve();
|
155
175
|
return;
|
156
176
|
}
|
177
|
+
|
157
178
|
print.call(window);
|
158
179
|
setTimeout(resolve, 20);
|
159
180
|
}, 0);
|
@@ -163,6 +184,7 @@ PDFPrintService.prototype = {
|
|
163
184
|
get active() {
|
164
185
|
return this === activeService;
|
165
186
|
},
|
187
|
+
|
166
188
|
throwIfInactive: function throwIfInactive() {
|
167
189
|
if (!this.active) {
|
168
190
|
throw new Error('This print request was cancelled or completed.');
|
@@ -170,16 +192,19 @@ PDFPrintService.prototype = {
|
|
170
192
|
}
|
171
193
|
};
|
172
194
|
var print = window.print;
|
195
|
+
|
173
196
|
window.print = function print() {
|
174
197
|
if (activeService) {
|
175
198
|
console.warn('Ignored window.print() because of a pending print job.');
|
176
199
|
return;
|
177
200
|
}
|
201
|
+
|
178
202
|
ensureOverlay().then(function () {
|
179
203
|
if (activeService) {
|
180
204
|
overlayManager.open('printServiceOverlay');
|
181
205
|
}
|
182
206
|
});
|
207
|
+
|
183
208
|
try {
|
184
209
|
dispatchEvent('beforeprint');
|
185
210
|
} finally {
|
@@ -192,6 +217,7 @@ window.print = function print() {
|
|
192
217
|
});
|
193
218
|
return;
|
194
219
|
}
|
220
|
+
|
195
221
|
var activeServiceOnEntry = activeService;
|
196
222
|
activeService.renderPages().then(function () {
|
197
223
|
return activeServiceOnEntry.performPrint();
|
@@ -202,81 +228,101 @@ window.print = function print() {
|
|
202
228
|
});
|
203
229
|
}
|
204
230
|
};
|
231
|
+
|
205
232
|
function dispatchEvent(eventType) {
|
206
233
|
var event = document.createEvent('CustomEvent');
|
207
234
|
event.initCustomEvent(eventType, false, false, 'custom');
|
208
235
|
window.dispatchEvent(event);
|
209
236
|
}
|
237
|
+
|
210
238
|
function abort() {
|
211
239
|
if (activeService) {
|
212
240
|
activeService.destroy();
|
213
241
|
dispatchEvent('afterprint');
|
214
242
|
}
|
215
243
|
}
|
244
|
+
|
216
245
|
function renderProgress(index, total, l10n) {
|
217
246
|
var progressContainer = document.getElementById('printServiceOverlay');
|
218
247
|
var progress = Math.round(100 * index / total);
|
219
248
|
var progressBar = progressContainer.querySelector('progress');
|
220
249
|
var progressPerc = progressContainer.querySelector('.relative-progress');
|
221
250
|
progressBar.value = progress;
|
222
|
-
l10n.get('print_progress_percent', {
|
251
|
+
l10n.get('print_progress_percent', {
|
252
|
+
progress: progress
|
253
|
+
}, progress + '%').then(function (msg) {
|
223
254
|
progressPerc.textContent = msg;
|
224
255
|
});
|
225
256
|
}
|
257
|
+
|
226
258
|
var hasAttachEvent = !!document.attachEvent;
|
227
259
|
window.addEventListener('keydown', function (event) {
|
228
260
|
if (event.keyCode === 80 && (event.ctrlKey || event.metaKey) && !event.altKey && (!event.shiftKey || window.chrome || window.opera)) {
|
229
261
|
window.print();
|
262
|
+
|
230
263
|
if (hasAttachEvent) {
|
231
264
|
return;
|
232
265
|
}
|
266
|
+
|
233
267
|
event.preventDefault();
|
268
|
+
|
234
269
|
if (event.stopImmediatePropagation) {
|
235
270
|
event.stopImmediatePropagation();
|
236
271
|
} else {
|
237
272
|
event.stopPropagation();
|
238
273
|
}
|
274
|
+
|
239
275
|
return;
|
240
276
|
}
|
241
277
|
}, true);
|
278
|
+
|
242
279
|
if (hasAttachEvent) {
|
243
280
|
document.attachEvent('onkeydown', function (event) {
|
244
281
|
event = event || window.event;
|
282
|
+
|
245
283
|
if (event.keyCode === 80 && event.ctrlKey) {
|
246
284
|
event.keyCode = 0;
|
247
285
|
return false;
|
248
286
|
}
|
249
287
|
});
|
250
288
|
}
|
289
|
+
|
251
290
|
if ('onbeforeprint' in window) {
|
252
291
|
var stopPropagationIfNeeded = function stopPropagationIfNeeded(event) {
|
253
292
|
if (event.detail !== 'custom' && event.stopImmediatePropagation) {
|
254
293
|
event.stopImmediatePropagation();
|
255
294
|
}
|
256
295
|
};
|
296
|
+
|
257
297
|
window.addEventListener('beforeprint', stopPropagationIfNeeded);
|
258
298
|
window.addEventListener('afterprint', stopPropagationIfNeeded);
|
259
299
|
}
|
260
|
-
|
300
|
+
|
301
|
+
var overlayPromise;
|
302
|
+
|
261
303
|
function ensureOverlay() {
|
262
304
|
if (!overlayPromise) {
|
263
305
|
overlayManager = _app.PDFViewerApplication.overlayManager;
|
306
|
+
|
264
307
|
if (!overlayManager) {
|
265
308
|
throw new Error('The overlay manager has not yet been initialized.');
|
266
309
|
}
|
310
|
+
|
267
311
|
overlayPromise = overlayManager.register('printServiceOverlay', document.getElementById('printServiceOverlay'), abort, true);
|
268
312
|
document.getElementById('printCancel').onclick = abort;
|
269
313
|
}
|
314
|
+
|
270
315
|
return overlayPromise;
|
271
316
|
}
|
317
|
+
|
272
318
|
_app.PDFPrintServiceFactory.instance = {
|
273
319
|
supportsPrinting: true,
|
274
320
|
createPrintService: function createPrintService(pdfDocument, pagesOverview, printContainer, l10n) {
|
275
321
|
if (activeService) {
|
276
322
|
throw new Error('The print service is created and active.');
|
277
323
|
}
|
324
|
+
|
278
325
|
activeService = new PDFPrintService(pdfDocument, pagesOverview, printContainer, l10n);
|
279
326
|
return activeService;
|
280
327
|
}
|
281
|
-
};
|
282
|
-
exports.PDFPrintService = PDFPrintService;
|
328
|
+
};
|
@@ -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 2018 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.
|
@@ -24,11 +24,14 @@
|
|
24
24
|
Object.defineProperty(exports, "__esModule", {
|
25
25
|
value: true
|
26
26
|
});
|
27
|
-
|
28
|
-
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; }; }();
|
27
|
+
exports.PDFRenderingQueue = exports.RenderingStates = void 0;
|
29
28
|
|
30
29
|
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
|
31
30
|
|
31
|
+
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); } }
|
32
|
+
|
33
|
+
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
|
34
|
+
|
32
35
|
var CLEANUP_TIMEOUT = 30000;
|
33
36
|
var RenderingStates = {
|
34
37
|
INITIAL: 0,
|
@@ -36,8 +39,11 @@ var RenderingStates = {
|
|
36
39
|
PAUSED: 2,
|
37
40
|
FINISHED: 3
|
38
41
|
};
|
42
|
+
exports.RenderingStates = RenderingStates;
|
39
43
|
|
40
|
-
var PDFRenderingQueue =
|
44
|
+
var PDFRenderingQueue =
|
45
|
+
/*#__PURE__*/
|
46
|
+
function () {
|
41
47
|
function PDFRenderingQueue() {
|
42
48
|
_classCallCheck(this, PDFRenderingQueue);
|
43
49
|
|
@@ -72,17 +78,21 @@ var PDFRenderingQueue = function () {
|
|
72
78
|
clearTimeout(this.idleTimeout);
|
73
79
|
this.idleTimeout = null;
|
74
80
|
}
|
81
|
+
|
75
82
|
if (this.pdfViewer.forceRendering(currentlyVisiblePages)) {
|
76
83
|
return;
|
77
84
|
}
|
85
|
+
|
78
86
|
if (this.pdfThumbnailViewer && this.isThumbnailViewEnabled) {
|
79
87
|
if (this.pdfThumbnailViewer.forceRendering()) {
|
80
88
|
return;
|
81
89
|
}
|
82
90
|
}
|
91
|
+
|
83
92
|
if (this.printing) {
|
84
93
|
return;
|
85
94
|
}
|
95
|
+
|
86
96
|
if (this.onIdle) {
|
87
97
|
this.idleTimeout = setTimeout(this.onIdle.bind(this), CLEANUP_TIMEOUT);
|
88
98
|
}
|
@@ -92,26 +102,33 @@ var PDFRenderingQueue = function () {
|
|
92
102
|
value: function getHighestPriority(visible, views, scrolledDown) {
|
93
103
|
var visibleViews = visible.views;
|
94
104
|
var numVisible = visibleViews.length;
|
105
|
+
|
95
106
|
if (numVisible === 0) {
|
96
107
|
return false;
|
97
108
|
}
|
109
|
+
|
98
110
|
for (var i = 0; i < numVisible; ++i) {
|
99
111
|
var view = visibleViews[i].view;
|
112
|
+
|
100
113
|
if (!this.isViewFinished(view)) {
|
101
114
|
return view;
|
102
115
|
}
|
103
116
|
}
|
117
|
+
|
104
118
|
if (scrolledDown) {
|
105
119
|
var nextPageIndex = visible.last.id;
|
120
|
+
|
106
121
|
if (views[nextPageIndex] && !this.isViewFinished(views[nextPageIndex])) {
|
107
122
|
return views[nextPageIndex];
|
108
123
|
}
|
109
124
|
} else {
|
110
125
|
var previousPageIndex = visible.first.id - 2;
|
126
|
+
|
111
127
|
if (views[previousPageIndex] && !this.isViewFinished(views[previousPageIndex])) {
|
112
128
|
return views[previousPageIndex];
|
113
129
|
}
|
114
130
|
}
|
131
|
+
|
115
132
|
return null;
|
116
133
|
}
|
117
134
|
}, {
|
@@ -127,21 +144,27 @@ var PDFRenderingQueue = function () {
|
|
127
144
|
switch (view.renderingState) {
|
128
145
|
case RenderingStates.FINISHED:
|
129
146
|
return false;
|
147
|
+
|
130
148
|
case RenderingStates.PAUSED:
|
131
149
|
this.highestPriorityPage = view.renderingId;
|
132
150
|
view.resume();
|
133
151
|
break;
|
152
|
+
|
134
153
|
case RenderingStates.RUNNING:
|
135
154
|
this.highestPriorityPage = view.renderingId;
|
136
155
|
break;
|
156
|
+
|
137
157
|
case RenderingStates.INITIAL:
|
138
158
|
this.highestPriorityPage = view.renderingId;
|
159
|
+
|
139
160
|
var continueRendering = function continueRendering() {
|
140
161
|
_this.renderHighestPriority();
|
141
162
|
};
|
163
|
+
|
142
164
|
view.draw().then(continueRendering, continueRendering);
|
143
165
|
break;
|
144
166
|
}
|
167
|
+
|
145
168
|
return true;
|
146
169
|
}
|
147
170
|
}]);
|
@@ -149,5 +172,4 @@ var PDFRenderingQueue = function () {
|
|
149
172
|
return PDFRenderingQueue;
|
150
173
|
}();
|
151
174
|
|
152
|
-
exports.RenderingStates = RenderingStates;
|
153
175
|
exports.PDFRenderingQueue = PDFRenderingQueue;
|