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.

Files changed (185) hide show
  1. package/README.md +4 -0
  2. package/bower.json +1 -1
  3. package/build/pdf.js +6499 -17971
  4. package/build/pdf.js.map +1 -1
  5. package/build/pdf.min.js +22 -1
  6. package/build/pdf.worker.entry.js +5 -3
  7. package/build/pdf.worker.js +19303 -29896
  8. package/build/pdf.worker.js.map +1 -1
  9. package/build/pdf.worker.min.js +22 -1
  10. package/es5/build/pdf.js +25473 -0
  11. package/es5/build/pdf.js.map +1 -0
  12. package/{lib/shared/global_scope.js → es5/build/pdf.worker.entry.js} +5 -10
  13. package/es5/build/pdf.worker.js +57878 -0
  14. package/es5/build/pdf.worker.js.map +1 -0
  15. package/es5/web/images/annotation-check.svg +11 -0
  16. package/es5/web/images/annotation-comment.svg +16 -0
  17. package/es5/web/images/annotation-help.svg +26 -0
  18. package/es5/web/images/annotation-insert.svg +10 -0
  19. package/es5/web/images/annotation-key.svg +11 -0
  20. package/es5/web/images/annotation-newparagraph.svg +11 -0
  21. package/es5/web/images/annotation-noicon.svg +7 -0
  22. package/es5/web/images/annotation-note.svg +42 -0
  23. package/es5/web/images/annotation-paragraph.svg +16 -0
  24. package/es5/web/images/loading-icon.gif +0 -0
  25. package/es5/web/images/shadow.png +0 -0
  26. package/es5/web/images/texture.png +0 -0
  27. package/es5/web/pdf_viewer.css +407 -0
  28. package/es5/web/pdf_viewer.js +7757 -0
  29. package/es5/web/pdf_viewer.js.map +1 -0
  30. package/image_decoders/pdf.image_decoders.js +1333 -4839
  31. package/image_decoders/pdf.image_decoders.js.map +1 -1
  32. package/image_decoders/pdf.image_decoders.min.js +22 -1
  33. package/lib/README.md +7 -0
  34. package/lib/core/annotation.js +683 -1066
  35. package/lib/core/arithmetic_decoder.js +81 -97
  36. package/lib/core/bidi.js +54 -46
  37. package/lib/core/ccitt.js +88 -81
  38. package/lib/core/ccitt_stream.js +15 -14
  39. package/lib/core/cff_parser.js +196 -193
  40. package/lib/core/charsets.js +4 -4
  41. package/lib/core/chunked_stream.js +441 -569
  42. package/lib/core/cmap.js +220 -279
  43. package/lib/core/colorspace.js +699 -863
  44. package/lib/core/core_utils.js +59 -80
  45. package/lib/core/crypto.js +379 -437
  46. package/lib/core/document.js +564 -673
  47. package/lib/core/encodings.js +15 -15
  48. package/lib/core/evaluator.js +983 -889
  49. package/lib/core/font_renderer.js +128 -171
  50. package/lib/core/fonts.js +451 -400
  51. package/lib/core/function.js +289 -285
  52. package/lib/core/glyphlist.js +4527 -4527
  53. package/lib/core/image.js +138 -117
  54. package/lib/core/image_utils.js +46 -63
  55. package/lib/core/jbig2.js +324 -332
  56. package/lib/core/jbig2_stream.js +18 -17
  57. package/lib/core/jpeg_stream.js +133 -24
  58. package/lib/core/jpg.js +238 -210
  59. package/lib/core/jpx.js +158 -157
  60. package/lib/core/jpx_stream.js +28 -28
  61. package/lib/core/metrics.js +2928 -2928
  62. package/lib/core/murmurhash3.js +87 -102
  63. package/lib/core/obj.js +1111 -1302
  64. package/lib/core/operator_list.js +55 -42
  65. package/lib/core/parser.js +956 -987
  66. package/lib/core/pattern.js +69 -69
  67. package/lib/core/pdf_manager.js +149 -316
  68. package/lib/core/primitives.js +45 -77
  69. package/lib/core/ps_parser.js +175 -214
  70. package/lib/core/standard_fonts.js +237 -236
  71. package/lib/core/stream.js +83 -77
  72. package/lib/core/type1_parser.js +78 -68
  73. package/lib/core/unicode.js +1654 -1654
  74. package/lib/core/worker.js +148 -196
  75. package/lib/core/worker_stream.js +101 -210
  76. package/lib/display/annotation_layer.js +733 -1155
  77. package/lib/display/api.js +1539 -1928
  78. package/lib/display/api_compatibility.js +10 -8
  79. package/lib/display/canvas.js +159 -158
  80. package/lib/display/content_disposition.js +36 -55
  81. package/lib/display/display_utils.js +298 -551
  82. package/lib/display/fetch_stream.js +181 -305
  83. package/lib/display/font_loader.js +273 -416
  84. package/lib/display/metadata.js +86 -98
  85. package/lib/display/network.js +376 -511
  86. package/lib/display/network_utils.js +20 -19
  87. package/lib/display/node_stream.js +276 -460
  88. package/lib/display/pattern_helper.js +76 -44
  89. package/lib/display/svg.js +1137 -1405
  90. package/lib/display/text_layer.js +75 -82
  91. package/lib/display/transport_stream.js +236 -374
  92. package/lib/display/webgl.js +70 -83
  93. package/lib/display/worker_options.js +3 -3
  94. package/lib/display/xml_parser.js +303 -392
  95. package/lib/examples/node/domstubs.js +37 -37
  96. package/lib/pdf.js +22 -21
  97. package/lib/pdf.worker.js +5 -5
  98. package/lib/shared/compatibility.js +2 -251
  99. package/lib/shared/is_node.js +7 -6
  100. package/lib/shared/message_handler.js +222 -194
  101. package/lib/shared/util.js +269 -405
  102. package/lib/test/unit/annotation_spec.js +1089 -1014
  103. package/lib/test/unit/api_spec.js +617 -544
  104. package/lib/test/unit/bidi_spec.js +7 -7
  105. package/lib/test/unit/cff_parser_spec.js +63 -62
  106. package/lib/test/unit/clitests_helper.js +7 -9
  107. package/lib/test/unit/cmap_spec.js +84 -86
  108. package/lib/test/unit/colorspace_spec.js +154 -154
  109. package/lib/test/unit/core_utils_spec.js +125 -105
  110. package/lib/test/unit/crypto_spec.js +181 -181
  111. package/lib/test/unit/custom_spec.js +22 -24
  112. package/lib/test/unit/display_svg_spec.js +35 -36
  113. package/lib/test/unit/display_utils_spec.js +139 -149
  114. package/lib/test/unit/document_spec.js +16 -16
  115. package/lib/test/unit/encodings_spec.js +12 -34
  116. package/lib/test/unit/evaluator_spec.js +81 -95
  117. package/lib/test/unit/fetch_stream_spec.js +30 -30
  118. package/lib/test/unit/function_spec.js +206 -204
  119. package/lib/test/unit/jasmine-boot.js +48 -32
  120. package/lib/test/unit/message_handler_spec.js +172 -162
  121. package/lib/test/unit/metadata_spec.js +69 -69
  122. package/lib/test/unit/murmurhash3_spec.js +12 -12
  123. package/lib/test/unit/network_spec.js +12 -12
  124. package/lib/test/unit/network_utils_spec.js +152 -152
  125. package/lib/test/unit/node_stream_spec.js +74 -90
  126. package/lib/test/unit/parser_spec.js +107 -113
  127. package/lib/test/unit/pdf_find_controller_spec.js +55 -86
  128. package/lib/test/unit/pdf_find_utils_spec.js +32 -32
  129. package/lib/test/unit/pdf_history_spec.js +32 -32
  130. package/lib/test/unit/primitives_spec.js +117 -115
  131. package/lib/test/unit/stream_spec.js +16 -14
  132. package/lib/test/unit/test_utils.js +119 -285
  133. package/lib/test/unit/testreporter.js +19 -19
  134. package/lib/test/unit/type1_parser_spec.js +41 -41
  135. package/lib/test/unit/ui_utils_spec.js +318 -426
  136. package/lib/test/unit/unicode_spec.js +42 -42
  137. package/lib/test/unit/util_spec.js +122 -143
  138. package/lib/web/annotation_layer_builder.js +66 -103
  139. package/lib/web/app.js +1166 -1196
  140. package/lib/web/app_options.js +61 -77
  141. package/lib/web/base_viewer.js +804 -850
  142. package/lib/web/chromecom.js +164 -249
  143. package/lib/web/debugger.js +149 -205
  144. package/lib/web/download_manager.js +38 -57
  145. package/lib/web/firefox_print_service.js +35 -30
  146. package/lib/web/firefoxcom.js +175 -374
  147. package/lib/web/genericcom.js +26 -108
  148. package/lib/web/genericl10n.js +24 -153
  149. package/lib/web/grab_to_pan.js +30 -30
  150. package/lib/web/interfaces.js +80 -258
  151. package/lib/web/overlay_manager.js +70 -246
  152. package/lib/web/password_prompt.js +38 -64
  153. package/lib/web/pdf_attachment_viewer.js +105 -130
  154. package/lib/web/pdf_cursor_tools.js +75 -102
  155. package/lib/web/pdf_document_properties.js +227 -376
  156. package/lib/web/pdf_find_bar.js +137 -171
  157. package/lib/web/pdf_find_controller.js +492 -549
  158. package/lib/web/pdf_find_utils.js +13 -13
  159. package/lib/web/pdf_history.js +395 -406
  160. package/lib/web/pdf_link_service.js +302 -349
  161. package/lib/web/pdf_outline_viewer.js +148 -209
  162. package/lib/web/pdf_page_view.js +449 -507
  163. package/lib/web/pdf_presentation_mode.js +304 -357
  164. package/lib/web/pdf_print_service.js +90 -104
  165. package/lib/web/pdf_rendering_queue.js +87 -108
  166. package/lib/web/pdf_sidebar.js +264 -304
  167. package/lib/web/pdf_sidebar_resizer.js +92 -119
  168. package/lib/web/pdf_single_page_viewer.js +77 -126
  169. package/lib/web/pdf_thumbnail_view.js +276 -297
  170. package/lib/web/pdf_thumbnail_viewer.js +186 -206
  171. package/lib/web/pdf_viewer.component.js +20 -21
  172. package/lib/web/pdf_viewer.js +55 -115
  173. package/lib/web/preferences.js +66 -273
  174. package/lib/web/secondary_toolbar.js +164 -196
  175. package/lib/web/text_layer_builder.js +284 -317
  176. package/lib/web/toolbar.js +216 -211
  177. package/lib/web/ui_utils.js +303 -404
  178. package/lib/web/view_history.js +49 -222
  179. package/lib/web/viewer_compatibility.js +7 -5
  180. package/package.json +2 -9
  181. package/web/pdf_viewer.css +25 -18
  182. package/web/pdf_viewer.js +3481 -4764
  183. package/web/pdf_viewer.js.map +1 -1
  184. package/webpack.js +14 -5
  185. 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 2019 Mozilla Foundation
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,43 +26,43 @@ Object.defineProperty(exports, "__esModule", {
26
26
  });
27
27
  exports.PDFPrintService = PDFPrintService;
28
28
 
29
- var _ui_utils = require("./ui_utils");
29
+ var _ui_utils = require("./ui_utils.js");
30
30
 
31
- var _app = require("./app");
31
+ var _app = require("./app.js");
32
32
 
33
- var _app_options = require("./app_options");
33
+ var _app_options = require("./app_options.js");
34
34
 
35
- var activeService = null;
36
- var overlayManager = null;
35
+ let activeService = null;
36
+ let overlayManager = null;
37
37
 
38
38
  function renderPage(activeServiceOnEntry, pdfDocument, pageNumber, size) {
39
- var scratchCanvas = activeService.scratchCanvas;
40
- var PRINT_RESOLUTION = _app_options.AppOptions.get('printResolution') || 150;
41
- var PRINT_UNITS = PRINT_RESOLUTION / 72.0;
39
+ const scratchCanvas = activeService.scratchCanvas;
40
+ const PRINT_RESOLUTION = _app_options.AppOptions.get("printResolution") || 150;
41
+ const PRINT_UNITS = PRINT_RESOLUTION / 72.0;
42
42
  scratchCanvas.width = Math.floor(size.width * PRINT_UNITS);
43
43
  scratchCanvas.height = Math.floor(size.height * PRINT_UNITS);
44
- var width = Math.floor(size.width * _ui_utils.CSS_UNITS) + 'px';
45
- var height = Math.floor(size.height * _ui_utils.CSS_UNITS) + 'px';
46
- var ctx = scratchCanvas.getContext('2d');
44
+ const width = Math.floor(size.width * _ui_utils.CSS_UNITS) + "px";
45
+ const height = Math.floor(size.height * _ui_utils.CSS_UNITS) + "px";
46
+ const ctx = scratchCanvas.getContext("2d");
47
47
  ctx.save();
48
- ctx.fillStyle = 'rgb(255, 255, 255)';
48
+ ctx.fillStyle = "rgb(255, 255, 255)";
49
49
  ctx.fillRect(0, 0, scratchCanvas.width, scratchCanvas.height);
50
50
  ctx.restore();
51
51
  return pdfDocument.getPage(pageNumber).then(function (pdfPage) {
52
- var renderContext = {
52
+ const renderContext = {
53
53
  canvasContext: ctx,
54
54
  transform: [PRINT_UNITS, 0, 0, PRINT_UNITS, 0, 0],
55
55
  viewport: pdfPage.getViewport({
56
56
  scale: 1,
57
57
  rotation: size.rotation
58
58
  }),
59
- intent: 'print'
59
+ intent: "print"
60
60
  };
61
61
  return pdfPage.render(renderContext).promise;
62
62
  }).then(function () {
63
63
  return {
64
- width: width,
65
- height: height
64
+ width,
65
+ height
66
66
  };
67
67
  });
68
68
  }
@@ -72,37 +72,38 @@ function PDFPrintService(pdfDocument, pagesOverview, printContainer, l10n) {
72
72
  this.pagesOverview = pagesOverview;
73
73
  this.printContainer = printContainer;
74
74
  this.l10n = l10n || _ui_utils.NullL10n;
75
- this.disableCreateObjectURL = pdfDocument.loadingParams['disableCreateObjectURL'];
75
+ this.disableCreateObjectURL = pdfDocument.loadingParams["disableCreateObjectURL"];
76
76
  this.currentPage = -1;
77
- this.scratchCanvas = document.createElement('canvas');
77
+ this.scratchCanvas = document.createElement("canvas");
78
78
  }
79
79
 
80
80
  PDFPrintService.prototype = {
81
- layout: function layout() {
81
+ layout() {
82
82
  this.throwIfInactive();
83
- var body = document.querySelector('body');
84
- body.setAttribute('data-pdfjsprinting', true);
85
- var hasEqualPageSizes = this.pagesOverview.every(function (size) {
83
+ const body = document.querySelector("body");
84
+ body.setAttribute("data-pdfjsprinting", true);
85
+ const hasEqualPageSizes = this.pagesOverview.every(function (size) {
86
86
  return size.width === this.pagesOverview[0].width && size.height === this.pagesOverview[0].height;
87
87
  }, this);
88
88
 
89
89
  if (!hasEqualPageSizes) {
90
- console.warn('Not all pages have the same size. The printed ' + 'result may be incorrect!');
90
+ console.warn("Not all pages have the same size. The printed " + "result may be incorrect!");
91
91
  }
92
92
 
93
- this.pageStyleSheet = document.createElement('style');
94
- var pageSize = this.pagesOverview[0];
95
- this.pageStyleSheet.textContent = '@supports ((size:A4) and (size:1pt 1pt)) {' + '@page { size: ' + pageSize.width + 'pt ' + pageSize.height + 'pt;}' + '}';
93
+ this.pageStyleSheet = document.createElement("style");
94
+ const pageSize = this.pagesOverview[0];
95
+ this.pageStyleSheet.textContent = "@supports ((size:A4) and (size:1pt 1pt)) {" + "@page { size: " + pageSize.width + "pt " + pageSize.height + "pt;}" + "}";
96
96
  body.appendChild(this.pageStyleSheet);
97
97
  },
98
- destroy: function destroy() {
98
+
99
+ destroy() {
99
100
  if (activeService !== this) {
100
101
  return;
101
102
  }
102
103
 
103
- this.printContainer.textContent = '';
104
- var body = document.querySelector('body');
105
- body.removeAttribute('data-pdfjsprinting');
104
+ this.printContainer.textContent = "";
105
+ const body = document.querySelector("body");
106
+ body.removeAttribute("data-pdfjsprinting");
106
107
 
107
108
  if (this.pageStyleSheet) {
108
109
  this.pageStyleSheet.remove();
@@ -113,44 +114,44 @@ PDFPrintService.prototype = {
113
114
  this.scratchCanvas = null;
114
115
  activeService = null;
115
116
  ensureOverlay().then(function () {
116
- if (overlayManager.active !== 'printServiceOverlay') {
117
+ if (overlayManager.active !== "printServiceOverlay") {
117
118
  return;
118
119
  }
119
120
 
120
- overlayManager.close('printServiceOverlay');
121
+ overlayManager.close("printServiceOverlay");
121
122
  });
122
123
  },
123
- renderPages: function renderPages() {
124
- var _this = this;
125
124
 
126
- var pageCount = this.pagesOverview.length;
125
+ renderPages() {
126
+ const pageCount = this.pagesOverview.length;
127
127
 
128
- var renderNextPage = function renderNextPage(resolve, reject) {
129
- _this.throwIfInactive();
128
+ const renderNextPage = (resolve, reject) => {
129
+ this.throwIfInactive();
130
130
 
131
- if (++_this.currentPage >= pageCount) {
132
- renderProgress(pageCount, pageCount, _this.l10n);
131
+ if (++this.currentPage >= pageCount) {
132
+ renderProgress(pageCount, pageCount, this.l10n);
133
133
  resolve();
134
134
  return;
135
135
  }
136
136
 
137
- var index = _this.currentPage;
138
- renderProgress(index, pageCount, _this.l10n);
139
- renderPage(_this, _this.pdfDocument, index + 1, _this.pagesOverview[index]).then(_this.useRenderedPage.bind(_this)).then(function () {
137
+ const index = this.currentPage;
138
+ renderProgress(index, pageCount, this.l10n);
139
+ renderPage(this, this.pdfDocument, index + 1, this.pagesOverview[index]).then(this.useRenderedPage.bind(this)).then(function () {
140
140
  renderNextPage(resolve, reject);
141
141
  }, reject);
142
142
  };
143
143
 
144
144
  return new Promise(renderNextPage);
145
145
  },
146
- useRenderedPage: function useRenderedPage(printItem) {
146
+
147
+ useRenderedPage(printItem) {
147
148
  this.throwIfInactive();
148
- var img = document.createElement('img');
149
+ const img = document.createElement("img");
149
150
  img.style.width = printItem.width;
150
151
  img.style.height = printItem.height;
151
- var scratchCanvas = this.scratchCanvas;
152
+ const scratchCanvas = this.scratchCanvas;
152
153
 
153
- if ('toBlob' in scratchCanvas && !this.disableCreateObjectURL) {
154
+ if ("toBlob" in scratchCanvas && !this.disableCreateObjectURL) {
154
155
  scratchCanvas.toBlob(function (blob) {
155
156
  img.src = URL.createObjectURL(blob);
156
157
  });
@@ -158,7 +159,7 @@ PDFPrintService.prototype = {
158
159
  img.src = scratchCanvas.toDataURL();
159
160
  }
160
161
 
161
- var wrapper = document.createElement('div');
162
+ const wrapper = document.createElement("div");
162
163
  wrapper.appendChild(img);
163
164
  this.printContainer.appendChild(wrapper);
164
165
  return new Promise(function (resolve, reject) {
@@ -166,13 +167,12 @@ PDFPrintService.prototype = {
166
167
  img.onerror = reject;
167
168
  });
168
169
  },
169
- performPrint: function performPrint() {
170
- var _this2 = this;
171
170
 
171
+ performPrint() {
172
172
  this.throwIfInactive();
173
- return new Promise(function (resolve) {
174
- setTimeout(function () {
175
- if (!_this2.active) {
173
+ return new Promise(resolve => {
174
+ setTimeout(() => {
175
+ if (!this.active) {
176
176
  resolve();
177
177
  return;
178
178
  }
@@ -187,43 +187,44 @@ PDFPrintService.prototype = {
187
187
  return this === activeService;
188
188
  },
189
189
 
190
- throwIfInactive: function throwIfInactive() {
190
+ throwIfInactive() {
191
191
  if (!this.active) {
192
- throw new Error('This print request was cancelled or completed.');
192
+ throw new Error("This print request was cancelled or completed.");
193
193
  }
194
194
  }
195
+
195
196
  };
196
- var print = window.print;
197
+ const print = window.print;
197
198
 
198
- window.print = function print() {
199
+ window.print = function () {
199
200
  if (activeService) {
200
- console.warn('Ignored window.print() because of a pending print job.');
201
+ console.warn("Ignored window.print() because of a pending print job.");
201
202
  return;
202
203
  }
203
204
 
204
205
  ensureOverlay().then(function () {
205
206
  if (activeService) {
206
- overlayManager.open('printServiceOverlay');
207
+ overlayManager.open("printServiceOverlay");
207
208
  }
208
209
  });
209
210
 
210
211
  try {
211
- dispatchEvent('beforeprint');
212
+ dispatchEvent("beforeprint");
212
213
  } finally {
213
214
  if (!activeService) {
214
- console.error('Expected print service to be initialized.');
215
+ console.error("Expected print service to be initialized.");
215
216
  ensureOverlay().then(function () {
216
- if (overlayManager.active === 'printServiceOverlay') {
217
- overlayManager.close('printServiceOverlay');
217
+ if (overlayManager.active === "printServiceOverlay") {
218
+ overlayManager.close("printServiceOverlay");
218
219
  }
219
220
  });
220
221
  return;
221
222
  }
222
223
 
223
- var activeServiceOnEntry = activeService;
224
+ const activeServiceOnEntry = activeService;
224
225
  activeService.renderPages().then(function () {
225
226
  return activeServiceOnEntry.performPrint();
226
- })["catch"](function () {}).then(function () {
227
+ }).catch(function () {}).then(function () {
227
228
  if (activeServiceOnEntry.active) {
228
229
  abort();
229
230
  }
@@ -232,40 +233,34 @@ window.print = function print() {
232
233
  };
233
234
 
234
235
  function dispatchEvent(eventType) {
235
- var event = document.createEvent('CustomEvent');
236
- event.initCustomEvent(eventType, false, false, 'custom');
236
+ const event = document.createEvent("CustomEvent");
237
+ event.initCustomEvent(eventType, false, false, "custom");
237
238
  window.dispatchEvent(event);
238
239
  }
239
240
 
240
241
  function abort() {
241
242
  if (activeService) {
242
243
  activeService.destroy();
243
- dispatchEvent('afterprint');
244
+ dispatchEvent("afterprint");
244
245
  }
245
246
  }
246
247
 
247
248
  function renderProgress(index, total, l10n) {
248
- var progressContainer = document.getElementById('printServiceOverlay');
249
- var progress = Math.round(100 * index / total);
250
- var progressBar = progressContainer.querySelector('progress');
251
- var progressPerc = progressContainer.querySelector('.relative-progress');
249
+ const progressContainer = document.getElementById("printServiceOverlay");
250
+ const progress = Math.round(100 * index / total);
251
+ const progressBar = progressContainer.querySelector("progress");
252
+ const progressPerc = progressContainer.querySelector(".relative-progress");
252
253
  progressBar.value = progress;
253
- l10n.get('print_progress_percent', {
254
- progress: progress
255
- }, progress + '%').then(function (msg) {
254
+ l10n.get("print_progress_percent", {
255
+ progress
256
+ }, progress + "%").then(msg => {
256
257
  progressPerc.textContent = msg;
257
258
  });
258
259
  }
259
260
 
260
- var hasAttachEvent = !!document.attachEvent;
261
- window.addEventListener('keydown', function (event) {
261
+ window.addEventListener("keydown", function (event) {
262
262
  if (event.keyCode === 80 && (event.ctrlKey || event.metaKey) && !event.altKey && (!event.shiftKey || window.chrome || window.opera)) {
263
263
  window.print();
264
-
265
- if (hasAttachEvent) {
266
- return;
267
- }
268
-
269
264
  event.preventDefault();
270
265
 
271
266
  if (event.stopImmediatePropagation) {
@@ -276,40 +271,29 @@ window.addEventListener('keydown', function (event) {
276
271
  }
277
272
  }, true);
278
273
 
279
- if (hasAttachEvent) {
280
- document.attachEvent('onkeydown', function (event) {
281
- event = event || window.event;
282
-
283
- if (event.keyCode === 80 && event.ctrlKey) {
284
- event.keyCode = 0;
285
- return false;
286
- }
287
- });
288
- }
289
-
290
- if ('onbeforeprint' in window) {
291
- var stopPropagationIfNeeded = function stopPropagationIfNeeded(event) {
292
- if (event.detail !== 'custom' && event.stopImmediatePropagation) {
274
+ if ("onbeforeprint" in window) {
275
+ const stopPropagationIfNeeded = function (event) {
276
+ if (event.detail !== "custom" && event.stopImmediatePropagation) {
293
277
  event.stopImmediatePropagation();
294
278
  }
295
279
  };
296
280
 
297
- window.addEventListener('beforeprint', stopPropagationIfNeeded);
298
- window.addEventListener('afterprint', stopPropagationIfNeeded);
281
+ window.addEventListener("beforeprint", stopPropagationIfNeeded);
282
+ window.addEventListener("afterprint", stopPropagationIfNeeded);
299
283
  }
300
284
 
301
- var overlayPromise;
285
+ let overlayPromise;
302
286
 
303
287
  function ensureOverlay() {
304
288
  if (!overlayPromise) {
305
289
  overlayManager = _app.PDFViewerApplication.overlayManager;
306
290
 
307
291
  if (!overlayManager) {
308
- throw new Error('The overlay manager has not yet been initialized.');
292
+ throw new Error("The overlay manager has not yet been initialized.");
309
293
  }
310
294
 
311
- overlayPromise = overlayManager.register('printServiceOverlay', document.getElementById('printServiceOverlay'), abort, true);
312
- document.getElementById('printCancel').onclick = abort;
295
+ overlayPromise = overlayManager.register("printServiceOverlay", document.getElementById("printServiceOverlay"), abort, true);
296
+ document.getElementById("printCancel").onclick = abort;
313
297
  }
314
298
 
315
299
  return overlayPromise;
@@ -317,12 +301,14 @@ function ensureOverlay() {
317
301
 
318
302
  _app.PDFPrintServiceFactory.instance = {
319
303
  supportsPrinting: true,
320
- createPrintService: function createPrintService(pdfDocument, pagesOverview, printContainer, l10n) {
304
+
305
+ createPrintService(pdfDocument, pagesOverview, printContainer, l10n) {
321
306
  if (activeService) {
322
- throw new Error('The print service is created and active.');
307
+ throw new Error("The print service is created and active.");
323
308
  }
324
309
 
325
310
  activeService = new PDFPrintService(pdfDocument, pagesOverview, printContainer, l10n);
326
311
  return activeService;
327
312
  }
313
+
328
314
  };
@@ -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 2019 Mozilla Foundation
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.
@@ -25,15 +25,8 @@ Object.defineProperty(exports, "__esModule", {
25
25
  value: true
26
26
  });
27
27
  exports.PDFRenderingQueue = exports.RenderingStates = void 0;
28
-
29
- function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
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
-
35
- var CLEANUP_TIMEOUT = 30000;
36
- var RenderingStates = {
28
+ const CLEANUP_TIMEOUT = 30000;
29
+ const RenderingStates = {
37
30
  INITIAL: 0,
38
31
  RUNNING: 1,
39
32
  PAUSED: 2,
@@ -41,12 +34,8 @@ var RenderingStates = {
41
34
  };
42
35
  exports.RenderingStates = RenderingStates;
43
36
 
44
- var PDFRenderingQueue =
45
- /*#__PURE__*/
46
- function () {
47
- function PDFRenderingQueue() {
48
- _classCallCheck(this, PDFRenderingQueue);
49
-
37
+ class PDFRenderingQueue {
38
+ constructor() {
50
39
  this.pdfViewer = null;
51
40
  this.pdfThumbnailViewer = null;
52
41
  this.onIdle = null;
@@ -56,117 +45,107 @@ function () {
56
45
  this.isThumbnailViewEnabled = false;
57
46
  }
58
47
 
59
- _createClass(PDFRenderingQueue, [{
60
- key: "setViewer",
61
- value: function setViewer(pdfViewer) {
62
- this.pdfViewer = pdfViewer;
63
- }
64
- }, {
65
- key: "setThumbnailViewer",
66
- value: function setThumbnailViewer(pdfThumbnailViewer) {
67
- this.pdfThumbnailViewer = pdfThumbnailViewer;
48
+ setViewer(pdfViewer) {
49
+ this.pdfViewer = pdfViewer;
50
+ }
51
+
52
+ setThumbnailViewer(pdfThumbnailViewer) {
53
+ this.pdfThumbnailViewer = pdfThumbnailViewer;
54
+ }
55
+
56
+ isHighestPriority(view) {
57
+ return this.highestPriorityPage === view.renderingId;
58
+ }
59
+
60
+ renderHighestPriority(currentlyVisiblePages) {
61
+ if (this.idleTimeout) {
62
+ clearTimeout(this.idleTimeout);
63
+ this.idleTimeout = null;
68
64
  }
69
- }, {
70
- key: "isHighestPriority",
71
- value: function isHighestPriority(view) {
72
- return this.highestPriorityPage === view.renderingId;
65
+
66
+ if (this.pdfViewer.forceRendering(currentlyVisiblePages)) {
67
+ return;
73
68
  }
74
- }, {
75
- key: "renderHighestPriority",
76
- value: function renderHighestPriority(currentlyVisiblePages) {
77
- if (this.idleTimeout) {
78
- clearTimeout(this.idleTimeout);
79
- this.idleTimeout = null;
80
- }
81
69
 
82
- if (this.pdfViewer.forceRendering(currentlyVisiblePages)) {
70
+ if (this.pdfThumbnailViewer && this.isThumbnailViewEnabled) {
71
+ if (this.pdfThumbnailViewer.forceRendering()) {
83
72
  return;
84
73
  }
74
+ }
85
75
 
86
- if (this.pdfThumbnailViewer && this.isThumbnailViewEnabled) {
87
- if (this.pdfThumbnailViewer.forceRendering()) {
88
- return;
89
- }
90
- }
76
+ if (this.printing) {
77
+ return;
78
+ }
91
79
 
92
- if (this.printing) {
93
- return;
94
- }
80
+ if (this.onIdle) {
81
+ this.idleTimeout = setTimeout(this.onIdle.bind(this), CLEANUP_TIMEOUT);
82
+ }
83
+ }
95
84
 
96
- if (this.onIdle) {
97
- this.idleTimeout = setTimeout(this.onIdle.bind(this), CLEANUP_TIMEOUT);
98
- }
85
+ getHighestPriority(visible, views, scrolledDown) {
86
+ const visibleViews = visible.views;
87
+ const numVisible = visibleViews.length;
88
+
89
+ if (numVisible === 0) {
90
+ return null;
99
91
  }
100
- }, {
101
- key: "getHighestPriority",
102
- value: function getHighestPriority(visible, views, scrolledDown) {
103
- var visibleViews = visible.views;
104
- var numVisible = visibleViews.length;
105
-
106
- if (numVisible === 0) {
107
- return null;
108
- }
109
92
 
110
- for (var i = 0; i < numVisible; ++i) {
111
- var view = visibleViews[i].view;
93
+ for (let i = 0; i < numVisible; ++i) {
94
+ const view = visibleViews[i].view;
112
95
 
113
- if (!this.isViewFinished(view)) {
114
- return view;
115
- }
96
+ if (!this.isViewFinished(view)) {
97
+ return view;
116
98
  }
99
+ }
117
100
 
118
- if (scrolledDown) {
119
- var nextPageIndex = visible.last.id;
120
-
121
- if (views[nextPageIndex] && !this.isViewFinished(views[nextPageIndex])) {
122
- return views[nextPageIndex];
123
- }
124
- } else {
125
- var previousPageIndex = visible.first.id - 2;
101
+ if (scrolledDown) {
102
+ const nextPageIndex = visible.last.id;
126
103
 
127
- if (views[previousPageIndex] && !this.isViewFinished(views[previousPageIndex])) {
128
- return views[previousPageIndex];
129
- }
104
+ if (views[nextPageIndex] && !this.isViewFinished(views[nextPageIndex])) {
105
+ return views[nextPageIndex];
130
106
  }
107
+ } else {
108
+ const previousPageIndex = visible.first.id - 2;
131
109
 
132
- return null;
133
- }
134
- }, {
135
- key: "isViewFinished",
136
- value: function isViewFinished(view) {
137
- return view.renderingState === RenderingStates.FINISHED;
138
- }
139
- }, {
140
- key: "renderView",
141
- value: function renderView(view) {
142
- var _this = this;
143
-
144
- switch (view.renderingState) {
145
- case RenderingStates.FINISHED:
146
- return false;
147
-
148
- case RenderingStates.PAUSED:
149
- this.highestPriorityPage = view.renderingId;
150
- view.resume();
151
- break;
152
-
153
- case RenderingStates.RUNNING:
154
- this.highestPriorityPage = view.renderingId;
155
- break;
156
-
157
- case RenderingStates.INITIAL:
158
- this.highestPriorityPage = view.renderingId;
159
- view.draw()["finally"](function () {
160
- _this.renderHighestPriority();
161
- });
162
- break;
110
+ if (views[previousPageIndex] && !this.isViewFinished(views[previousPageIndex])) {
111
+ return views[previousPageIndex];
163
112
  }
113
+ }
114
+
115
+ return null;
116
+ }
164
117
 
165
- return true;
118
+ isViewFinished(view) {
119
+ return view.renderingState === RenderingStates.FINISHED;
120
+ }
121
+
122
+ renderView(view) {
123
+ switch (view.renderingState) {
124
+ case RenderingStates.FINISHED:
125
+ return false;
126
+
127
+ case RenderingStates.PAUSED:
128
+ this.highestPriorityPage = view.renderingId;
129
+ view.resume();
130
+ break;
131
+
132
+ case RenderingStates.RUNNING:
133
+ this.highestPriorityPage = view.renderingId;
134
+ break;
135
+
136
+ case RenderingStates.INITIAL:
137
+ this.highestPriorityPage = view.renderingId;
138
+ view.draw().finally(() => {
139
+ this.renderHighestPriority();
140
+ }).catch(reason => {
141
+ console.error(`renderView: "${reason}"`);
142
+ });
143
+ break;
166
144
  }
167
- }]);
168
145
 
169
- return PDFRenderingQueue;
170
- }();
146
+ return true;
147
+ }
148
+
149
+ }
171
150
 
172
151
  exports.PDFRenderingQueue = PDFRenderingQueue;