pdfjs-dist 2.0.943 → 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 +15329 -11095
- package/build/pdf.js.map +1 -1
- package/build/pdf.min.js +1 -1
- package/build/pdf.worker.js +12497 -4184
- package/build/pdf.worker.js.map +1 -1
- package/build/pdf.worker.min.js +1 -1
- package/image_decoders/pdf.image_decoders.js +3438 -1209
- package/image_decoders/pdf.image_decoders.js.map +1 -1
- package/image_decoders/pdf.image_decoders.min.js +1 -1
- package/lib/core/annotation.js +335 -109
- package/lib/core/arithmetic_decoder.js +274 -244
- package/lib/core/bidi.js +64 -5
- package/lib/core/ccitt.js +172 -17
- package/lib/core/ccitt_stream.js +14 -5
- package/lib/core/cff_parser.js +304 -28
- package/lib/core/charsets.js +4 -3
- package/lib/core/chunked_stream.js +379 -149
- package/lib/core/cmap.js +210 -40
- package/lib/core/colorspace.js +332 -187
- package/lib/core/crypto.js +289 -44
- package/lib/core/document.js +508 -249
- package/lib/core/encodings.js +18 -9
- package/lib/core/evaluator.js +657 -119
- package/lib/core/font_renderer.js +217 -34
- package/lib/core/fonts.js +632 -41
- package/lib/core/function.js +252 -26
- package/lib/core/glyphlist.js +2 -1
- package/lib/core/image.js +124 -27
- package/lib/core/jbig2.js +425 -65
- package/lib/core/jbig2_stream.js +18 -7
- package/lib/core/jpeg_stream.js +24 -8
- package/lib/core/jpg.js +208 -16
- package/lib/core/jpx.js +395 -5
- package/lib/core/jpx_stream.js +17 -5
- package/lib/core/metrics.js +3 -3
- package/lib/core/murmurhash3.js +23 -5
- package/lib/core/obj.js +625 -132
- package/lib/core/operator_list.js +104 -3
- package/lib/core/parser.js +262 -25
- package/lib/core/pattern.js +144 -12
- package/lib/core/pdf_manager.js +104 -70
- package/lib/core/primitives.js +74 -21
- package/lib/core/ps_parser.js +133 -44
- package/lib/core/standard_fonts.js +9 -9
- package/lib/core/stream.js +283 -31
- package/lib/core/type1_parser.js +138 -6
- package/lib/core/unicode.js +28 -1
- package/lib/core/worker.js +192 -57
- package/lib/display/annotation_layer.js +303 -123
- package/lib/display/api.js +1073 -574
- package/lib/display/api_compatibility.js +4 -1
- package/lib/display/canvas.js +314 -18
- package/lib/display/content_disposition.js +70 -23
- package/lib/display/dom_utils.js +112 -59
- package/lib/display/fetch_stream.js +95 -50
- package/lib/display/font_loader.js +250 -132
- package/lib/display/metadata.js +37 -15
- package/lib/display/network.js +123 -34
- package/lib/display/network_utils.js +23 -10
- package/lib/display/node_stream.js +162 -65
- package/lib/display/pattern_helper.js +57 -6
- package/lib/display/svg.js +194 -18
- package/lib/display/text_layer.js +128 -14
- package/lib/display/transport_stream.js +83 -27
- package/lib/display/webgl.js +63 -17
- package/lib/display/worker_options.js +4 -3
- package/lib/display/xml_parser.js +162 -52
- package/lib/examples/node/domstubs.js +56 -3
- package/lib/pdf.js +15 -2
- package/lib/pdf.worker.js +4 -2
- package/lib/shared/compatibility.js +129 -26
- package/lib/shared/global_scope.js +1 -1
- package/lib/shared/is_node.js +3 -3
- package/lib/shared/message_handler.js +103 -45
- package/lib/shared/streams_polyfill.js +20 -16
- package/lib/shared/url_polyfill.js +8 -2
- package/lib/shared/util.js +246 -84
- package/lib/test/unit/annotation_spec.js +99 -73
- package/lib/test/unit/api_spec.js +347 -113
- package/lib/test/unit/bidi_spec.js +6 -6
- package/lib/test/unit/cff_parser_spec.js +17 -5
- package/lib/test/unit/clitests_helper.js +7 -8
- package/lib/test/unit/cmap_spec.js +79 -25
- package/lib/test/unit/colorspace_spec.js +65 -18
- package/lib/test/unit/crypto_spec.js +16 -4
- package/lib/test/unit/custom_spec.js +40 -52
- package/lib/test/unit/display_svg_spec.js +32 -16
- package/lib/test/unit/document_spec.js +2 -2
- package/lib/test/unit/dom_utils_spec.js +8 -8
- package/lib/test/unit/encodings_spec.js +24 -44
- package/lib/test/unit/evaluator_spec.js +15 -8
- package/lib/test/unit/function_spec.js +16 -4
- package/lib/test/unit/jasmine-boot.js +29 -16
- package/lib/test/unit/message_handler_spec.js +19 -6
- package/lib/test/unit/metadata_spec.js +64 -11
- package/lib/test/unit/murmurhash3_spec.js +2 -2
- package/lib/test/unit/network_spec.js +19 -4
- package/lib/test/unit/network_utils_spec.js +6 -4
- package/lib/test/unit/node_stream_spec.js +50 -26
- package/lib/test/unit/parser_spec.js +13 -29
- package/lib/test/unit/pdf_find_controller_spec.js +144 -32
- package/lib/test/unit/pdf_find_utils_spec.js +10 -9
- package/lib/test/unit/pdf_history_spec.js +20 -8
- package/lib/test/unit/primitives_spec.js +23 -3
- package/lib/test/unit/stream_spec.js +8 -3
- package/lib/test/unit/test_utils.js +89 -26
- package/lib/test/unit/testreporter.js +19 -1
- package/lib/test/unit/type1_parser_spec.js +7 -5
- package/lib/test/unit/ui_utils_spec.js +162 -38
- package/lib/test/unit/unicode_spec.js +13 -10
- package/lib/test/unit/util_spec.js +89 -9
- package/lib/web/annotation_layer_builder.js +38 -21
- package/lib/web/app.js +610 -245
- package/lib/web/app_options.js +54 -34
- package/lib/web/base_viewer.js +359 -162
- package/lib/web/chromecom.js +159 -80
- package/lib/web/debugger.js +161 -17
- package/lib/web/download_manager.js +29 -11
- package/lib/web/firefox_print_service.js +16 -8
- package/lib/web/firefoxcom.js +127 -91
- package/lib/web/genericcom.js +50 -31
- package/lib/web/genericl10n.js +46 -34
- package/lib/web/grab_to_pan.js +25 -3
- package/lib/web/interfaces.js +108 -61
- package/lib/web/overlay_manager.js +67 -45
- package/lib/web/password_prompt.js +20 -12
- package/lib/web/pdf_attachment_viewer.js +37 -17
- package/lib/web/pdf_cursor_tools.js +38 -15
- package/lib/web/pdf_document_properties.js +65 -24
- package/lib/web/pdf_find_bar.js +48 -20
- package/lib/web/pdf_find_controller.js +290 -89
- package/lib/web/pdf_find_utils.js +19 -3
- package/lib/web/pdf_history.js +186 -49
- package/lib/web/pdf_link_service.js +127 -52
- package/lib/web/pdf_outline_viewer.js +71 -21
- package/lib/web/pdf_page_view.js +188 -63
- package/lib/web/pdf_presentation_mode.js +98 -33
- package/lib/web/pdf_print_service.js +54 -10
- package/lib/web/pdf_rendering_queue.js +26 -4
- package/lib/web/pdf_sidebar.js +116 -62
- package/lib/web/pdf_sidebar_resizer.js +41 -15
- package/lib/web/pdf_single_page_viewer.js +65 -68
- package/lib/web/pdf_thumbnail_view.js +102 -31
- package/lib/web/pdf_thumbnail_viewer.js +62 -22
- package/lib/web/pdf_viewer.component.js +111 -31
- package/lib/web/pdf_viewer.js +80 -60
- package/lib/web/preferences.js +61 -39
- package/lib/web/secondary_toolbar.js +101 -82
- package/lib/web/text_layer_builder.js +124 -69
- package/lib/web/toolbar.js +67 -27
- package/lib/web/ui_utils.js +284 -128
- package/lib/web/view_history.js +75 -51
- package/lib/web/viewer_compatibility.js +2 -1
- package/package.json +1 -1
- package/web/pdf_viewer.css +1 -1
- package/web/pdf_viewer.js +2200 -973
- package/web/pdf_viewer.js.map +1 -1
- package/lib/web/dom_events.js +0 -140
@@ -19,21 +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
32
|
|
33
|
-
var _pdf = require(
|
33
|
+
var _pdf = require("../pdf");
|
34
34
|
|
35
35
|
var activeService = null;
|
36
36
|
var overlayManager = null;
|
37
|
+
|
37
38
|
function renderPage(activeServiceOnEntry, pdfDocument, pageNumber, size) {
|
38
39
|
var scratchCanvas = activeService.scratchCanvas;
|
39
40
|
var PRINT_RESOLUTION = 150;
|
@@ -51,7 +52,10 @@ function renderPage(activeServiceOnEntry, pdfDocument, pageNumber, size) {
|
|
51
52
|
var renderContext = {
|
52
53
|
canvasContext: ctx,
|
53
54
|
transform: [PRINT_UNITS, 0, 0, PRINT_UNITS, 0, 0],
|
54
|
-
viewport: pdfPage.getViewport(
|
55
|
+
viewport: pdfPage.getViewport({
|
56
|
+
scale: 1,
|
57
|
+
rotation: size.rotation
|
58
|
+
}),
|
55
59
|
intent: 'print'
|
56
60
|
};
|
57
61
|
return pdfPage.render(renderContext).promise;
|
@@ -62,6 +66,7 @@ function renderPage(activeServiceOnEntry, pdfDocument, pageNumber, size) {
|
|
62
66
|
};
|
63
67
|
});
|
64
68
|
}
|
69
|
+
|
65
70
|
function PDFPrintService(pdfDocument, pagesOverview, printContainer, l10n) {
|
66
71
|
this.pdfDocument = pdfDocument;
|
67
72
|
this.pagesOverview = pagesOverview;
|
@@ -71,6 +76,7 @@ function PDFPrintService(pdfDocument, pagesOverview, printContainer, l10n) {
|
|
71
76
|
this.currentPage = -1;
|
72
77
|
this.scratchCanvas = document.createElement('canvas');
|
73
78
|
}
|
79
|
+
|
74
80
|
PDFPrintService.prototype = {
|
75
81
|
layout: function layout() {
|
76
82
|
this.throwIfInactive();
|
@@ -79,9 +85,11 @@ PDFPrintService.prototype = {
|
|
79
85
|
var hasEqualPageSizes = this.pagesOverview.every(function (size) {
|
80
86
|
return size.width === this.pagesOverview[0].width && size.height === this.pagesOverview[0].height;
|
81
87
|
}, this);
|
88
|
+
|
82
89
|
if (!hasEqualPageSizes) {
|
83
90
|
console.warn('Not all pages have the same size. The printed ' + 'result may be incorrect!');
|
84
91
|
}
|
92
|
+
|
85
93
|
this.pageStyleSheet = document.createElement('style');
|
86
94
|
var pageSize = this.pagesOverview[0];
|
87
95
|
this.pageStyleSheet.textContent = '@supports ((size:A4) and (size:1pt 1pt)) {' + '@page { size: ' + pageSize.width + 'pt ' + pageSize.height + 'pt;}' + '}';
|
@@ -91,11 +99,14 @@ PDFPrintService.prototype = {
|
|
91
99
|
if (activeService !== this) {
|
92
100
|
return;
|
93
101
|
}
|
102
|
+
|
94
103
|
this.printContainer.textContent = '';
|
104
|
+
|
95
105
|
if (this.pageStyleSheet) {
|
96
106
|
this.pageStyleSheet.remove();
|
97
107
|
this.pageStyleSheet = null;
|
98
108
|
}
|
109
|
+
|
99
110
|
this.scratchCanvas.width = this.scratchCanvas.height = 0;
|
100
111
|
this.scratchCanvas = null;
|
101
112
|
activeService = null;
|
@@ -103,6 +114,7 @@ PDFPrintService.prototype = {
|
|
103
114
|
if (overlayManager.active !== 'printServiceOverlay') {
|
104
115
|
return;
|
105
116
|
}
|
117
|
+
|
106
118
|
overlayManager.close('printServiceOverlay');
|
107
119
|
});
|
108
120
|
},
|
@@ -110,19 +122,23 @@ PDFPrintService.prototype = {
|
|
110
122
|
var _this = this;
|
111
123
|
|
112
124
|
var pageCount = this.pagesOverview.length;
|
125
|
+
|
113
126
|
var renderNextPage = function renderNextPage(resolve, reject) {
|
114
127
|
_this.throwIfInactive();
|
128
|
+
|
115
129
|
if (++_this.currentPage >= pageCount) {
|
116
130
|
renderProgress(pageCount, pageCount, _this.l10n);
|
117
131
|
resolve();
|
118
132
|
return;
|
119
133
|
}
|
134
|
+
|
120
135
|
var index = _this.currentPage;
|
121
136
|
renderProgress(index, pageCount, _this.l10n);
|
122
137
|
renderPage(_this, _this.pdfDocument, index + 1, _this.pagesOverview[index]).then(_this.useRenderedPage.bind(_this)).then(function () {
|
123
138
|
renderNextPage(resolve, reject);
|
124
139
|
}, reject);
|
125
140
|
};
|
141
|
+
|
126
142
|
return new Promise(renderNextPage);
|
127
143
|
},
|
128
144
|
useRenderedPage: function useRenderedPage(printItem) {
|
@@ -131,6 +147,7 @@ PDFPrintService.prototype = {
|
|
131
147
|
img.style.width = printItem.width;
|
132
148
|
img.style.height = printItem.height;
|
133
149
|
var scratchCanvas = this.scratchCanvas;
|
150
|
+
|
134
151
|
if ('toBlob' in scratchCanvas && !this.disableCreateObjectURL) {
|
135
152
|
scratchCanvas.toBlob(function (blob) {
|
136
153
|
img.src = _pdf.URL.createObjectURL(blob);
|
@@ -138,6 +155,7 @@ PDFPrintService.prototype = {
|
|
138
155
|
} else {
|
139
156
|
img.src = scratchCanvas.toDataURL();
|
140
157
|
}
|
158
|
+
|
141
159
|
var wrapper = document.createElement('div');
|
142
160
|
wrapper.appendChild(img);
|
143
161
|
this.printContainer.appendChild(wrapper);
|
@@ -156,6 +174,7 @@ PDFPrintService.prototype = {
|
|
156
174
|
resolve();
|
157
175
|
return;
|
158
176
|
}
|
177
|
+
|
159
178
|
print.call(window);
|
160
179
|
setTimeout(resolve, 20);
|
161
180
|
}, 0);
|
@@ -165,6 +184,7 @@ PDFPrintService.prototype = {
|
|
165
184
|
get active() {
|
166
185
|
return this === activeService;
|
167
186
|
},
|
187
|
+
|
168
188
|
throwIfInactive: function throwIfInactive() {
|
169
189
|
if (!this.active) {
|
170
190
|
throw new Error('This print request was cancelled or completed.');
|
@@ -172,16 +192,19 @@ PDFPrintService.prototype = {
|
|
172
192
|
}
|
173
193
|
};
|
174
194
|
var print = window.print;
|
195
|
+
|
175
196
|
window.print = function print() {
|
176
197
|
if (activeService) {
|
177
198
|
console.warn('Ignored window.print() because of a pending print job.');
|
178
199
|
return;
|
179
200
|
}
|
201
|
+
|
180
202
|
ensureOverlay().then(function () {
|
181
203
|
if (activeService) {
|
182
204
|
overlayManager.open('printServiceOverlay');
|
183
205
|
}
|
184
206
|
});
|
207
|
+
|
185
208
|
try {
|
186
209
|
dispatchEvent('beforeprint');
|
187
210
|
} finally {
|
@@ -194,6 +217,7 @@ window.print = function print() {
|
|
194
217
|
});
|
195
218
|
return;
|
196
219
|
}
|
220
|
+
|
197
221
|
var activeServiceOnEntry = activeService;
|
198
222
|
activeService.renderPages().then(function () {
|
199
223
|
return activeServiceOnEntry.performPrint();
|
@@ -204,81 +228,101 @@ window.print = function print() {
|
|
204
228
|
});
|
205
229
|
}
|
206
230
|
};
|
231
|
+
|
207
232
|
function dispatchEvent(eventType) {
|
208
233
|
var event = document.createEvent('CustomEvent');
|
209
234
|
event.initCustomEvent(eventType, false, false, 'custom');
|
210
235
|
window.dispatchEvent(event);
|
211
236
|
}
|
237
|
+
|
212
238
|
function abort() {
|
213
239
|
if (activeService) {
|
214
240
|
activeService.destroy();
|
215
241
|
dispatchEvent('afterprint');
|
216
242
|
}
|
217
243
|
}
|
244
|
+
|
218
245
|
function renderProgress(index, total, l10n) {
|
219
246
|
var progressContainer = document.getElementById('printServiceOverlay');
|
220
247
|
var progress = Math.round(100 * index / total);
|
221
248
|
var progressBar = progressContainer.querySelector('progress');
|
222
249
|
var progressPerc = progressContainer.querySelector('.relative-progress');
|
223
250
|
progressBar.value = progress;
|
224
|
-
l10n.get('print_progress_percent', {
|
251
|
+
l10n.get('print_progress_percent', {
|
252
|
+
progress: progress
|
253
|
+
}, progress + '%').then(function (msg) {
|
225
254
|
progressPerc.textContent = msg;
|
226
255
|
});
|
227
256
|
}
|
257
|
+
|
228
258
|
var hasAttachEvent = !!document.attachEvent;
|
229
259
|
window.addEventListener('keydown', function (event) {
|
230
260
|
if (event.keyCode === 80 && (event.ctrlKey || event.metaKey) && !event.altKey && (!event.shiftKey || window.chrome || window.opera)) {
|
231
261
|
window.print();
|
262
|
+
|
232
263
|
if (hasAttachEvent) {
|
233
264
|
return;
|
234
265
|
}
|
266
|
+
|
235
267
|
event.preventDefault();
|
268
|
+
|
236
269
|
if (event.stopImmediatePropagation) {
|
237
270
|
event.stopImmediatePropagation();
|
238
271
|
} else {
|
239
272
|
event.stopPropagation();
|
240
273
|
}
|
274
|
+
|
241
275
|
return;
|
242
276
|
}
|
243
277
|
}, true);
|
278
|
+
|
244
279
|
if (hasAttachEvent) {
|
245
280
|
document.attachEvent('onkeydown', function (event) {
|
246
281
|
event = event || window.event;
|
282
|
+
|
247
283
|
if (event.keyCode === 80 && event.ctrlKey) {
|
248
284
|
event.keyCode = 0;
|
249
285
|
return false;
|
250
286
|
}
|
251
287
|
});
|
252
288
|
}
|
289
|
+
|
253
290
|
if ('onbeforeprint' in window) {
|
254
291
|
var stopPropagationIfNeeded = function stopPropagationIfNeeded(event) {
|
255
292
|
if (event.detail !== 'custom' && event.stopImmediatePropagation) {
|
256
293
|
event.stopImmediatePropagation();
|
257
294
|
}
|
258
295
|
};
|
296
|
+
|
259
297
|
window.addEventListener('beforeprint', stopPropagationIfNeeded);
|
260
298
|
window.addEventListener('afterprint', stopPropagationIfNeeded);
|
261
299
|
}
|
262
|
-
|
300
|
+
|
301
|
+
var overlayPromise;
|
302
|
+
|
263
303
|
function ensureOverlay() {
|
264
304
|
if (!overlayPromise) {
|
265
305
|
overlayManager = _app.PDFViewerApplication.overlayManager;
|
306
|
+
|
266
307
|
if (!overlayManager) {
|
267
308
|
throw new Error('The overlay manager has not yet been initialized.');
|
268
309
|
}
|
310
|
+
|
269
311
|
overlayPromise = overlayManager.register('printServiceOverlay', document.getElementById('printServiceOverlay'), abort, true);
|
270
312
|
document.getElementById('printCancel').onclick = abort;
|
271
313
|
}
|
314
|
+
|
272
315
|
return overlayPromise;
|
273
316
|
}
|
317
|
+
|
274
318
|
_app.PDFPrintServiceFactory.instance = {
|
275
319
|
supportsPrinting: true,
|
276
320
|
createPrintService: function createPrintService(pdfDocument, pagesOverview, printContainer, l10n) {
|
277
321
|
if (activeService) {
|
278
322
|
throw new Error('The print service is created and active.');
|
279
323
|
}
|
324
|
+
|
280
325
|
activeService = new PDFPrintService(pdfDocument, pagesOverview, printContainer, l10n);
|
281
326
|
return activeService;
|
282
327
|
}
|
283
|
-
};
|
284
|
-
exports.PDFPrintService = PDFPrintService;
|
328
|
+
};
|
@@ -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;
|