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.

Files changed (161) hide show
  1. package/bower.json +1 -1
  2. package/build/pdf.js +15564 -9476
  3. package/build/pdf.js.map +1 -1
  4. package/build/pdf.min.js +1 -1
  5. package/build/pdf.worker.js +46644 -36309
  6. package/build/pdf.worker.js.map +1 -1
  7. package/build/pdf.worker.min.js +1 -1
  8. package/external/url/url-lib.js +627 -0
  9. package/image_decoders/pdf.image_decoders.js +11430 -0
  10. package/image_decoders/pdf.image_decoders.js.map +1 -0
  11. package/image_decoders/pdf.image_decoders.min.js +1 -0
  12. package/lib/core/annotation.js +406 -131
  13. package/lib/core/arithmetic_decoder.js +275 -245
  14. package/lib/core/bidi.js +65 -6
  15. package/lib/core/ccitt.js +173 -18
  16. package/lib/core/ccitt_stream.js +15 -6
  17. package/lib/core/cff_parser.js +376 -53
  18. package/lib/core/charsets.js +5 -4
  19. package/lib/core/chunked_stream.js +387 -149
  20. package/lib/core/cmap.js +310 -75
  21. package/lib/core/colorspace.js +874 -594
  22. package/lib/core/crypto.js +290 -45
  23. package/lib/core/document.js +545 -260
  24. package/lib/core/encodings.js +19 -10
  25. package/lib/core/evaluator.js +725 -147
  26. package/lib/core/font_renderer.js +360 -91
  27. package/lib/core/fonts.js +791 -186
  28. package/lib/core/function.js +284 -71
  29. package/lib/core/glyphlist.js +3 -2
  30. package/lib/core/image.js +168 -61
  31. package/lib/core/jbig2.js +479 -66
  32. package/lib/core/jbig2_stream.js +19 -8
  33. package/lib/core/jpeg_stream.js +38 -13
  34. package/lib/core/jpg.js +252 -29
  35. package/lib/core/jpx.js +396 -6
  36. package/lib/core/jpx_stream.js +18 -6
  37. package/lib/core/metrics.js +4 -4
  38. package/lib/core/murmurhash3.js +24 -6
  39. package/lib/core/obj.js +1137 -475
  40. package/lib/core/operator_list.js +108 -6
  41. package/lib/core/parser.js +321 -68
  42. package/lib/core/pattern.js +145 -13
  43. package/lib/core/pdf_manager.js +321 -133
  44. package/lib/core/primitives.js +75 -22
  45. package/lib/core/ps_parser.js +134 -45
  46. package/lib/core/standard_fonts.js +10 -10
  47. package/lib/core/stream.js +313 -34
  48. package/lib/core/type1_parser.js +143 -13
  49. package/lib/core/unicode.js +31 -4
  50. package/lib/core/worker.js +210 -66
  51. package/lib/display/annotation_layer.js +361 -123
  52. package/lib/display/api.js +1454 -729
  53. package/lib/display/api_compatibility.js +11 -13
  54. package/lib/display/canvas.js +324 -29
  55. package/lib/display/content_disposition.js +83 -32
  56. package/lib/display/dom_utils.js +226 -41
  57. package/lib/display/fetch_stream.js +208 -84
  58. package/lib/display/font_loader.js +465 -236
  59. package/lib/display/metadata.js +38 -16
  60. package/lib/display/network.js +216 -51
  61. package/lib/display/network_utils.js +32 -19
  62. package/lib/display/node_stream.js +352 -169
  63. package/lib/display/pattern_helper.js +58 -7
  64. package/lib/display/svg.js +242 -29
  65. package/lib/display/text_layer.js +132 -18
  66. package/lib/display/transport_stream.js +171 -42
  67. package/lib/display/webgl.js +64 -18
  68. package/lib/display/worker_options.js +5 -4
  69. package/lib/display/xml_parser.js +166 -53
  70. package/lib/examples/node/domstubs.js +57 -4
  71. package/lib/pdf.js +21 -4
  72. package/lib/pdf.worker.js +5 -3
  73. package/lib/shared/compatibility.js +158 -564
  74. package/lib/shared/global_scope.js +2 -2
  75. package/lib/shared/is_node.js +4 -4
  76. package/lib/shared/message_handler.js +521 -0
  77. package/lib/shared/streams_polyfill.js +21 -17
  78. package/lib/shared/url_polyfill.js +56 -0
  79. package/lib/shared/util.js +295 -650
  80. package/lib/test/unit/annotation_spec.js +629 -345
  81. package/lib/test/unit/api_spec.js +555 -253
  82. package/lib/test/unit/bidi_spec.js +7 -7
  83. package/lib/test/unit/cff_parser_spec.js +40 -11
  84. package/lib/test/unit/clitests_helper.js +9 -7
  85. package/lib/test/unit/cmap_spec.js +80 -26
  86. package/lib/test/unit/colorspace_spec.js +99 -52
  87. package/lib/test/unit/crypto_spec.js +17 -5
  88. package/lib/test/unit/custom_spec.js +41 -53
  89. package/lib/test/unit/display_svg_spec.js +33 -17
  90. package/lib/test/unit/document_spec.js +3 -3
  91. package/lib/test/unit/dom_utils_spec.js +9 -9
  92. package/lib/test/unit/encodings_spec.js +25 -45
  93. package/lib/test/unit/evaluator_spec.js +34 -9
  94. package/lib/test/unit/function_spec.js +17 -5
  95. package/lib/test/unit/jasmine-boot.js +31 -18
  96. package/lib/test/unit/{util_stream_spec.js → message_handler_spec.js} +41 -69
  97. package/lib/test/unit/metadata_spec.js +71 -11
  98. package/lib/test/unit/murmurhash3_spec.js +3 -3
  99. package/lib/test/unit/network_spec.js +20 -5
  100. package/lib/test/unit/network_utils_spec.js +41 -14
  101. package/lib/test/unit/node_stream_spec.js +51 -27
  102. package/lib/test/unit/parser_spec.js +35 -8
  103. package/lib/test/unit/pdf_find_controller_spec.js +230 -0
  104. package/lib/test/unit/pdf_find_utils_spec.js +63 -0
  105. package/lib/test/unit/pdf_history_spec.js +21 -9
  106. package/lib/test/unit/primitives_spec.js +24 -4
  107. package/lib/test/unit/stream_spec.js +12 -4
  108. package/lib/test/unit/test_utils.js +90 -27
  109. package/lib/test/unit/testreporter.js +21 -3
  110. package/lib/test/unit/type1_parser_spec.js +8 -6
  111. package/lib/test/unit/ui_utils_spec.js +452 -14
  112. package/lib/test/unit/unicode_spec.js +14 -11
  113. package/lib/test/unit/util_spec.js +131 -9
  114. package/lib/web/annotation_layer_builder.js +39 -22
  115. package/lib/web/app.js +1240 -582
  116. package/lib/web/app_options.js +71 -41
  117. package/lib/web/base_viewer.js +508 -179
  118. package/lib/web/chromecom.js +261 -117
  119. package/lib/web/debugger.js +166 -22
  120. package/lib/web/download_manager.js +31 -13
  121. package/lib/web/firefox_print_service.js +17 -9
  122. package/lib/web/firefoxcom.js +283 -79
  123. package/lib/web/genericcom.js +89 -30
  124. package/lib/web/genericl10n.js +142 -30
  125. package/lib/web/grab_to_pan.js +26 -4
  126. package/lib/web/interfaces.js +170 -47
  127. package/lib/web/overlay_manager.js +235 -85
  128. package/lib/web/password_prompt.js +21 -13
  129. package/lib/web/pdf_attachment_viewer.js +38 -18
  130. package/lib/web/pdf_cursor_tools.js +39 -16
  131. package/lib/web/pdf_document_properties.js +80 -30
  132. package/lib/web/pdf_find_bar.js +84 -40
  133. package/lib/web/pdf_find_controller.js +495 -184
  134. package/lib/web/pdf_find_utils.js +111 -0
  135. package/lib/web/pdf_history.js +190 -53
  136. package/lib/web/pdf_link_service.js +137 -76
  137. package/lib/web/pdf_outline_viewer.js +73 -22
  138. package/lib/web/pdf_page_view.js +196 -63
  139. package/lib/web/pdf_presentation_mode.js +99 -34
  140. package/lib/web/pdf_print_service.js +57 -11
  141. package/lib/web/pdf_rendering_queue.js +27 -5
  142. package/lib/web/pdf_sidebar.js +120 -67
  143. package/lib/web/pdf_sidebar_resizer.js +42 -16
  144. package/lib/web/pdf_single_page_viewer.js +74 -66
  145. package/lib/web/pdf_thumbnail_view.js +103 -32
  146. package/lib/web/pdf_thumbnail_viewer.js +64 -24
  147. package/lib/web/pdf_viewer.component.js +112 -32
  148. package/lib/web/pdf_viewer.js +91 -52
  149. package/lib/web/preferences.js +275 -80
  150. package/lib/web/secondary_toolbar.js +165 -40
  151. package/lib/web/text_layer_builder.js +162 -65
  152. package/lib/web/toolbar.js +78 -43
  153. package/lib/web/ui_utils.js +462 -136
  154. package/lib/web/view_history.js +215 -67
  155. package/lib/web/viewer_compatibility.js +4 -13
  156. package/package.json +5 -4
  157. package/web/pdf_viewer.css +58 -1
  158. package/web/pdf_viewer.js +6346 -3919
  159. package/web/pdf_viewer.js.map +1 -1
  160. package/lib/test/unit/fonts_spec.js +0 -81
  161. package/lib/web/dom_events.js +0 -137
@@ -2,7 +2,7 @@
2
2
  * @licstart The following is the entire license notice for the
3
3
  * Javascript code in this page
4
4
  *
5
- * Copyright 2017 Mozilla Foundation
5
+ * Copyright 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
- 'use strict';
22
+ "use strict";
23
23
 
24
24
  Object.defineProperty(exports, "__esModule", {
25
25
  value: true
26
26
  });
27
- exports.PDFPrintService = undefined;
27
+ exports.PDFPrintService = PDFPrintService;
28
28
 
29
- var _ui_utils = require('./ui_utils');
29
+ var _ui_utils = require("./ui_utils");
30
30
 
31
- var _app = require('./app');
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(1, size.rotation),
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', { progress: progress }, progress + '%').then(function (msg) {
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
- var overlayPromise = void 0;
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 2017 Mozilla Foundation
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 = function () {
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;