pdfjs-dist 2.1.266 → 2.5.207

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 (191) hide show
  1. package/CODE_OF_CONDUCT.md +15 -0
  2. package/README.md +4 -0
  3. package/bower.json +1 -1
  4. package/build/pdf.js +8382 -18492
  5. package/build/pdf.js.map +1 -1
  6. package/build/pdf.min.js +22 -1
  7. package/build/pdf.worker.entry.js +5 -3
  8. package/build/pdf.worker.js +20417 -29816
  9. package/build/pdf.worker.js.map +1 -1
  10. package/build/pdf.worker.min.js +22 -1
  11. package/es5/build/pdf.js +25688 -0
  12. package/es5/build/pdf.js.map +1 -0
  13. package/{lib/shared/global_scope.js → es5/build/pdf.worker.entry.js} +5 -10
  14. package/es5/build/pdf.worker.js +58239 -0
  15. package/es5/build/pdf.worker.js.map +1 -0
  16. package/es5/web/images/annotation-check.svg +11 -0
  17. package/es5/web/images/annotation-comment.svg +16 -0
  18. package/es5/web/images/annotation-help.svg +26 -0
  19. package/es5/web/images/annotation-insert.svg +10 -0
  20. package/es5/web/images/annotation-key.svg +11 -0
  21. package/es5/web/images/annotation-newparagraph.svg +11 -0
  22. package/es5/web/images/annotation-noicon.svg +7 -0
  23. package/es5/web/images/annotation-note.svg +42 -0
  24. package/es5/web/images/annotation-paragraph.svg +16 -0
  25. package/es5/web/images/loading-icon.gif +0 -0
  26. package/es5/web/images/shadow.png +0 -0
  27. package/es5/web/images/texture.png +0 -0
  28. package/es5/web/pdf_viewer.css +403 -0
  29. package/es5/web/pdf_viewer.js +7742 -0
  30. package/es5/web/pdf_viewer.js.map +1 -0
  31. package/image_decoders/pdf.image_decoders.js +1475 -4897
  32. package/image_decoders/pdf.image_decoders.js.map +1 -1
  33. package/image_decoders/pdf.image_decoders.min.js +22 -1
  34. package/lib/README.md +7 -0
  35. package/lib/core/annotation.js +750 -899
  36. package/lib/core/arithmetic_decoder.js +81 -97
  37. package/lib/core/bidi.js +54 -46
  38. package/lib/core/ccitt.js +88 -81
  39. package/lib/core/ccitt_stream.js +15 -14
  40. package/lib/core/cff_parser.js +235 -183
  41. package/lib/core/charsets.js +4 -4
  42. package/lib/core/chunked_stream.js +447 -542
  43. package/lib/core/cmap.js +222 -264
  44. package/lib/core/colorspace.js +699 -863
  45. package/lib/core/core_utils.js +152 -0
  46. package/lib/core/crypto.js +379 -437
  47. package/lib/core/document.js +573 -660
  48. package/lib/core/encodings.js +15 -15
  49. package/lib/core/evaluator.js +1103 -868
  50. package/lib/core/font_renderer.js +135 -178
  51. package/lib/core/fonts.js +570 -491
  52. package/lib/core/function.js +291 -288
  53. package/lib/core/glyphlist.js +4527 -4526
  54. package/lib/core/image.js +145 -149
  55. package/lib/core/image_utils.js +170 -0
  56. package/lib/core/jbig2.js +325 -316
  57. package/lib/core/jbig2_stream.js +18 -17
  58. package/lib/core/jpeg_stream.js +21 -26
  59. package/lib/core/jpg.js +284 -232
  60. package/lib/core/jpx.js +161 -143
  61. package/lib/core/jpx_stream.js +28 -28
  62. package/lib/core/metrics.js +2929 -2929
  63. package/lib/core/murmurhash3.js +90 -101
  64. package/lib/core/obj.js +1183 -1157
  65. package/lib/core/operator_list.js +99 -67
  66. package/lib/core/parser.js +972 -911
  67. package/lib/core/pattern.js +87 -70
  68. package/lib/core/pdf_manager.js +150 -315
  69. package/lib/core/primitives.js +83 -56
  70. package/lib/core/ps_parser.js +175 -214
  71. package/lib/core/standard_fonts.js +237 -236
  72. package/lib/core/stream.js +94 -74
  73. package/lib/core/type1_parser.js +87 -69
  74. package/lib/core/unicode.js +1654 -1654
  75. package/lib/core/worker.js +193 -390
  76. package/lib/core/worker_stream.js +168 -0
  77. package/lib/display/annotation_layer.js +741 -972
  78. package/lib/display/api.js +1500 -1791
  79. package/lib/display/api_compatibility.js +12 -17
  80. package/lib/display/canvas.js +165 -165
  81. package/lib/display/content_disposition.js +40 -59
  82. package/lib/display/display_utils.js +515 -0
  83. package/lib/display/fetch_stream.js +183 -298
  84. package/lib/display/font_loader.js +273 -413
  85. package/lib/display/metadata.js +86 -98
  86. package/lib/display/network.js +266 -359
  87. package/lib/display/network_utils.js +25 -18
  88. package/lib/display/node_stream.js +285 -458
  89. package/lib/display/pattern_helper.js +113 -65
  90. package/lib/display/svg.js +1166 -901
  91. package/lib/display/text_layer.js +156 -132
  92. package/lib/display/transport_stream.js +262 -278
  93. package/lib/display/webgl.js +70 -83
  94. package/lib/display/worker_options.js +3 -3
  95. package/lib/display/xml_parser.js +303 -392
  96. package/lib/examples/node/domstubs.js +40 -37
  97. package/lib/pdf.js +226 -59
  98. package/lib/pdf.worker.js +14 -6
  99. package/lib/shared/compatibility.js +3 -246
  100. package/lib/shared/is_node.js +7 -6
  101. package/lib/shared/message_handler.js +327 -332
  102. package/lib/shared/util.js +266 -416
  103. package/lib/test/unit/annotation_spec.js +1555 -701
  104. package/lib/test/unit/api_spec.js +802 -604
  105. package/lib/test/unit/bidi_spec.js +7 -7
  106. package/lib/test/unit/cff_parser_spec.js +84 -69
  107. package/lib/test/unit/clitests_helper.js +7 -9
  108. package/lib/test/unit/cmap_spec.js +74 -76
  109. package/lib/test/unit/colorspace_spec.js +166 -161
  110. package/lib/test/unit/core_utils_spec.js +211 -0
  111. package/lib/test/unit/crypto_spec.js +181 -181
  112. package/lib/test/unit/custom_spec.js +20 -22
  113. package/lib/test/unit/display_svg_spec.js +34 -39
  114. package/lib/test/unit/display_utils_spec.js +263 -0
  115. package/lib/test/unit/document_spec.js +16 -21
  116. package/lib/test/unit/encodings_spec.js +12 -34
  117. package/lib/test/unit/evaluator_spec.js +83 -83
  118. package/lib/test/unit/fetch_stream_spec.js +111 -0
  119. package/lib/test/unit/function_spec.js +206 -204
  120. package/lib/test/unit/jasmine-boot.js +46 -30
  121. package/lib/test/unit/message_handler_spec.js +173 -159
  122. package/lib/test/unit/metadata_spec.js +69 -69
  123. package/lib/test/unit/murmurhash3_spec.js +12 -12
  124. package/lib/test/unit/network_spec.js +13 -61
  125. package/lib/test/unit/network_utils_spec.js +183 -119
  126. package/lib/test/unit/node_stream_spec.js +78 -92
  127. package/lib/test/unit/parser_spec.js +172 -114
  128. package/lib/test/unit/pdf_find_controller_spec.js +55 -86
  129. package/lib/test/unit/pdf_find_utils_spec.js +32 -32
  130. package/lib/test/unit/pdf_history_spec.js +32 -32
  131. package/lib/test/unit/primitives_spec.js +140 -125
  132. package/lib/test/unit/stream_spec.js +16 -14
  133. package/lib/test/unit/test_utils.js +131 -143
  134. package/lib/test/unit/testreporter.js +19 -19
  135. package/lib/test/unit/type1_parser_spec.js +42 -42
  136. package/lib/test/unit/ui_utils_spec.js +297 -459
  137. package/lib/test/unit/unicode_spec.js +38 -38
  138. package/lib/test/unit/util_spec.js +121 -305
  139. package/lib/web/annotation_layer_builder.js +66 -103
  140. package/lib/web/app.js +1328 -1214
  141. package/lib/web/app_options.js +105 -107
  142. package/lib/web/base_viewer.js +824 -838
  143. package/lib/web/chromecom.js +165 -252
  144. package/lib/web/debugger.js +149 -205
  145. package/lib/web/download_manager.js +39 -55
  146. package/lib/web/firefox_print_service.js +37 -27
  147. package/lib/web/firefoxcom.js +212 -363
  148. package/lib/web/genericcom.js +26 -108
  149. package/lib/web/genericl10n.js +24 -153
  150. package/lib/web/grab_to_pan.js +32 -30
  151. package/lib/web/interfaces.js +80 -254
  152. package/lib/web/overlay_manager.js +70 -246
  153. package/lib/web/password_prompt.js +38 -64
  154. package/lib/web/pdf_attachment_viewer.js +113 -131
  155. package/lib/web/pdf_cursor_tools.js +75 -102
  156. package/lib/web/pdf_document_properties.js +221 -306
  157. package/lib/web/pdf_find_bar.js +136 -170
  158. package/lib/web/pdf_find_controller.js +491 -548
  159. package/lib/web/pdf_find_utils.js +13 -13
  160. package/lib/web/pdf_history.js +397 -406
  161. package/lib/web/pdf_link_service.js +304 -348
  162. package/lib/web/pdf_outline_viewer.js +140 -175
  163. package/lib/web/pdf_page_view.js +452 -523
  164. package/lib/web/pdf_presentation_mode.js +308 -357
  165. package/lib/web/pdf_print_service.js +90 -104
  166. package/lib/web/pdf_rendering_queue.js +84 -108
  167. package/lib/web/pdf_sidebar.js +276 -306
  168. package/lib/web/pdf_sidebar_resizer.js +92 -119
  169. package/lib/web/pdf_single_page_viewer.js +77 -126
  170. package/lib/web/pdf_thumbnail_view.js +276 -297
  171. package/lib/web/pdf_thumbnail_viewer.js +186 -206
  172. package/lib/web/pdf_viewer.component.js +20 -21
  173. package/lib/web/pdf_viewer.js +55 -115
  174. package/lib/web/preferences.js +82 -286
  175. package/lib/web/secondary_toolbar.js +164 -196
  176. package/lib/web/text_layer_builder.js +282 -339
  177. package/lib/web/toolbar.js +217 -210
  178. package/lib/web/ui_utils.js +267 -420
  179. package/lib/web/view_history.js +52 -226
  180. package/lib/web/viewer_compatibility.js +21 -6
  181. package/package.json +2 -9
  182. package/web/pdf_viewer.css +35 -25
  183. package/web/pdf_viewer.js +3489 -4855
  184. package/web/pdf_viewer.js.map +1 -1
  185. package/webpack.js +14 -5
  186. package/external/streams/streams-lib.js +0 -3962
  187. package/external/url/url-lib.js +0 -627
  188. package/lib/display/dom_utils.js +0 -494
  189. package/lib/shared/streams_polyfill.js +0 -43
  190. package/lib/shared/url_polyfill.js +0 -56
  191. package/lib/test/unit/dom_utils_spec.js +0 -89
@@ -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 2018 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,31 +26,20 @@ Object.defineProperty(exports, "__esModule", {
26
26
  });
27
27
  exports.PDFThumbnailViewer = void 0;
28
28
 
29
- var _ui_utils = require("./ui_utils");
29
+ var _ui_utils = require("./ui_utils.js");
30
30
 
31
- var _pdf_thumbnail_view = require("./pdf_thumbnail_view");
31
+ var _pdf_thumbnail_view = require("./pdf_thumbnail_view.js");
32
32
 
33
- function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
34
-
35
- 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); } }
36
-
37
- function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
38
-
39
- var THUMBNAIL_SCROLL_MARGIN = -19;
40
- var THUMBNAIL_SELECTED_CLASS = 'selected';
41
-
42
- var PDFThumbnailViewer =
43
- /*#__PURE__*/
44
- function () {
45
- function PDFThumbnailViewer(_ref) {
46
- var container = _ref.container,
47
- linkService = _ref.linkService,
48
- renderingQueue = _ref.renderingQueue,
49
- _ref$l10n = _ref.l10n,
50
- l10n = _ref$l10n === void 0 ? _ui_utils.NullL10n : _ref$l10n;
51
-
52
- _classCallCheck(this, PDFThumbnailViewer);
33
+ const THUMBNAIL_SCROLL_MARGIN = -19;
34
+ const THUMBNAIL_SELECTED_CLASS = "selected";
53
35
 
36
+ class PDFThumbnailViewer {
37
+ constructor({
38
+ container,
39
+ linkService,
40
+ renderingQueue,
41
+ l10n = _ui_utils.NullL10n
42
+ }) {
54
43
  this.container = container;
55
44
  this.linkService = linkService;
56
45
  this.renderingQueue = renderingQueue;
@@ -60,233 +49,224 @@ function () {
60
49
  this._resetView();
61
50
  }
62
51
 
63
- _createClass(PDFThumbnailViewer, [{
64
- key: "_scrollUpdated",
65
- value: function _scrollUpdated() {
66
- this.renderingQueue.renderHighestPriority();
52
+ _scrollUpdated() {
53
+ this.renderingQueue.renderHighestPriority();
54
+ }
55
+
56
+ getThumbnail(index) {
57
+ return this._thumbnails[index];
58
+ }
59
+
60
+ _getVisibleThumbs() {
61
+ return (0, _ui_utils.getVisibleElements)(this.container, this._thumbnails);
62
+ }
63
+
64
+ scrollThumbnailIntoView(pageNumber) {
65
+ if (!this.pdfDocument) {
66
+ return;
67
67
  }
68
- }, {
69
- key: "getThumbnail",
70
- value: function getThumbnail(index) {
71
- return this._thumbnails[index];
68
+
69
+ const thumbnailView = this._thumbnails[pageNumber - 1];
70
+
71
+ if (!thumbnailView) {
72
+ console.error('scrollThumbnailIntoView: Invalid "pageNumber" parameter.');
73
+ return;
72
74
  }
73
- }, {
74
- key: "_getVisibleThumbs",
75
- value: function _getVisibleThumbs() {
76
- return (0, _ui_utils.getVisibleElements)(this.container, this._thumbnails);
75
+
76
+ if (pageNumber !== this._currentPageNumber) {
77
+ const prevThumbnailView = this._thumbnails[this._currentPageNumber - 1];
78
+ prevThumbnailView.div.classList.remove(THUMBNAIL_SELECTED_CLASS);
79
+ thumbnailView.div.classList.add(THUMBNAIL_SELECTED_CLASS);
77
80
  }
78
- }, {
79
- key: "scrollThumbnailIntoView",
80
- value: function scrollThumbnailIntoView(pageNumber) {
81
- if (!this.pdfDocument) {
82
- return;
83
- }
84
81
 
85
- var thumbnailView = this._thumbnails[pageNumber - 1];
82
+ const visibleThumbs = this._getVisibleThumbs();
86
83
 
87
- if (!thumbnailView) {
88
- console.error('scrollThumbnailIntoView: Invalid "pageNumber" parameter.');
89
- return;
90
- }
84
+ const numVisibleThumbs = visibleThumbs.views.length;
85
+
86
+ if (numVisibleThumbs > 0) {
87
+ const first = visibleThumbs.first.id;
88
+ const last = numVisibleThumbs > 1 ? visibleThumbs.last.id : first;
89
+ let shouldScroll = false;
90
+
91
+ if (pageNumber <= first || pageNumber >= last) {
92
+ shouldScroll = true;
93
+ } else {
94
+ visibleThumbs.views.some(function (view) {
95
+ if (view.id !== pageNumber) {
96
+ return false;
97
+ }
91
98
 
92
- if (pageNumber !== this._currentPageNumber) {
93
- var prevThumbnailView = this._thumbnails[this._currentPageNumber - 1];
94
- prevThumbnailView.div.classList.remove(THUMBNAIL_SELECTED_CLASS);
95
- thumbnailView.div.classList.add(THUMBNAIL_SELECTED_CLASS);
99
+ shouldScroll = view.percent < 100;
100
+ return true;
101
+ });
96
102
  }
97
103
 
98
- var visibleThumbs = this._getVisibleThumbs();
99
-
100
- var numVisibleThumbs = visibleThumbs.views.length;
101
-
102
- if (numVisibleThumbs > 0) {
103
- var first = visibleThumbs.first.id;
104
- var last = numVisibleThumbs > 1 ? visibleThumbs.last.id : first;
105
- var shouldScroll = false;
106
-
107
- if (pageNumber <= first || pageNumber >= last) {
108
- shouldScroll = true;
109
- } else {
110
- visibleThumbs.views.some(function (view) {
111
- if (view.id !== pageNumber) {
112
- return false;
113
- }
114
-
115
- shouldScroll = view.percent < 100;
116
- return true;
117
- });
118
- }
119
-
120
- if (shouldScroll) {
121
- (0, _ui_utils.scrollIntoView)(thumbnailView.div, {
122
- top: THUMBNAIL_SCROLL_MARGIN
123
- });
124
- }
104
+ if (shouldScroll) {
105
+ (0, _ui_utils.scrollIntoView)(thumbnailView.div, {
106
+ top: THUMBNAIL_SCROLL_MARGIN
107
+ });
125
108
  }
109
+ }
110
+
111
+ this._currentPageNumber = pageNumber;
112
+ }
126
113
 
127
- this._currentPageNumber = pageNumber;
114
+ get pagesRotation() {
115
+ return this._pagesRotation;
116
+ }
117
+
118
+ set pagesRotation(rotation) {
119
+ if (!(0, _ui_utils.isValidRotation)(rotation)) {
120
+ throw new Error("Invalid thumbnails rotation angle.");
128
121
  }
129
- }, {
130
- key: "cleanup",
131
- value: function cleanup() {
132
- _pdf_thumbnail_view.PDFThumbnailView.cleanup();
122
+
123
+ if (!this.pdfDocument) {
124
+ return;
133
125
  }
134
- }, {
135
- key: "_resetView",
136
- value: function _resetView() {
137
- this._thumbnails = [];
138
- this._currentPageNumber = 1;
139
- this._pageLabels = null;
140
- this._pagesRotation = 0;
141
- this._pagesRequests = [];
142
- this.container.textContent = '';
126
+
127
+ if (this._pagesRotation === rotation) {
128
+ return;
143
129
  }
144
- }, {
145
- key: "setDocument",
146
- value: function setDocument(pdfDocument) {
147
- var _this = this;
148
130
 
149
- if (this.pdfDocument) {
150
- this._cancelRendering();
131
+ this._pagesRotation = rotation;
151
132
 
152
- this._resetView();
153
- }
133
+ for (let i = 0, ii = this._thumbnails.length; i < ii; i++) {
134
+ this._thumbnails[i].update(rotation);
135
+ }
136
+ }
154
137
 
155
- this.pdfDocument = pdfDocument;
138
+ cleanup() {
139
+ _pdf_thumbnail_view.PDFThumbnailView.cleanup();
140
+ }
156
141
 
157
- if (!pdfDocument) {
158
- return;
159
- }
142
+ _resetView() {
143
+ this._thumbnails = [];
144
+ this._currentPageNumber = 1;
145
+ this._pageLabels = null;
146
+ this._pagesRotation = 0;
147
+ this._pagesRequests = new WeakMap();
148
+ this.container.textContent = "";
149
+ }
160
150
 
161
- pdfDocument.getPage(1).then(function (firstPage) {
162
- var pagesCount = pdfDocument.numPages;
163
- var viewport = firstPage.getViewport({
164
- scale: 1
165
- });
151
+ setDocument(pdfDocument) {
152
+ if (this.pdfDocument) {
153
+ this._cancelRendering();
166
154
 
167
- for (var pageNum = 1; pageNum <= pagesCount; ++pageNum) {
168
- var thumbnail = new _pdf_thumbnail_view.PDFThumbnailView({
169
- container: _this.container,
170
- id: pageNum,
171
- defaultViewport: viewport.clone(),
172
- linkService: _this.linkService,
173
- renderingQueue: _this.renderingQueue,
174
- disableCanvasToImageConversion: false,
175
- l10n: _this.l10n
176
- });
177
-
178
- _this._thumbnails.push(thumbnail);
179
- }
180
-
181
- var thumbnailView = _this._thumbnails[_this._currentPageNumber - 1];
182
- thumbnailView.div.classList.add(THUMBNAIL_SELECTED_CLASS);
183
- }).catch(function (reason) {
184
- console.error('Unable to initialize thumbnail viewer', reason);
185
- });
155
+ this._resetView();
186
156
  }
187
- }, {
188
- key: "_cancelRendering",
189
- value: function _cancelRendering() {
190
- for (var i = 0, ii = this._thumbnails.length; i < ii; i++) {
191
- if (this._thumbnails[i]) {
192
- this._thumbnails[i].cancelRendering();
193
- }
194
- }
157
+
158
+ this.pdfDocument = pdfDocument;
159
+
160
+ if (!pdfDocument) {
161
+ return;
195
162
  }
196
- }, {
197
- key: "setPageLabels",
198
- value: function setPageLabels(labels) {
199
- if (!this.pdfDocument) {
200
- return;
201
- }
202
163
 
203
- if (!labels) {
204
- this._pageLabels = null;
205
- } else if (!(Array.isArray(labels) && this.pdfDocument.numPages === labels.length)) {
206
- this._pageLabels = null;
207
- console.error('PDFThumbnailViewer_setPageLabels: Invalid page labels.');
208
- } else {
209
- this._pageLabels = labels;
210
- }
164
+ pdfDocument.getPage(1).then(firstPdfPage => {
165
+ const pagesCount = pdfDocument.numPages;
166
+ const viewport = firstPdfPage.getViewport({
167
+ scale: 1
168
+ });
211
169
 
212
- for (var i = 0, ii = this._thumbnails.length; i < ii; i++) {
213
- var label = this._pageLabels && this._pageLabels[i];
170
+ for (let pageNum = 1; pageNum <= pagesCount; ++pageNum) {
171
+ const thumbnail = new _pdf_thumbnail_view.PDFThumbnailView({
172
+ container: this.container,
173
+ id: pageNum,
174
+ defaultViewport: viewport.clone(),
175
+ linkService: this.linkService,
176
+ renderingQueue: this.renderingQueue,
177
+ disableCanvasToImageConversion: false,
178
+ l10n: this.l10n
179
+ });
214
180
 
215
- this._thumbnails[i].setPageLabel(label);
181
+ this._thumbnails.push(thumbnail);
216
182
  }
217
- }
218
- }, {
219
- key: "_ensurePdfPageLoaded",
220
- value: function _ensurePdfPageLoaded(thumbView) {
221
- var _this2 = this;
222
183
 
223
- if (thumbView.pdfPage) {
224
- return Promise.resolve(thumbView.pdfPage);
184
+ const firstThumbnailView = this._thumbnails[0];
185
+
186
+ if (firstThumbnailView) {
187
+ firstThumbnailView.setPdfPage(firstPdfPage);
225
188
  }
226
189
 
227
- var pageNumber = thumbView.id;
190
+ const thumbnailView = this._thumbnails[this._currentPageNumber - 1];
191
+ thumbnailView.div.classList.add(THUMBNAIL_SELECTED_CLASS);
192
+ }).catch(reason => {
193
+ console.error("Unable to initialize thumbnail viewer", reason);
194
+ });
195
+ }
228
196
 
229
- if (this._pagesRequests[pageNumber]) {
230
- return this._pagesRequests[pageNumber];
197
+ _cancelRendering() {
198
+ for (let i = 0, ii = this._thumbnails.length; i < ii; i++) {
199
+ if (this._thumbnails[i]) {
200
+ this._thumbnails[i].cancelRendering();
231
201
  }
202
+ }
203
+ }
232
204
 
233
- var promise = this.pdfDocument.getPage(pageNumber).then(function (pdfPage) {
234
- thumbView.setPdfPage(pdfPage);
235
- _this2._pagesRequests[pageNumber] = null;
236
- return pdfPage;
237
- }).catch(function (reason) {
238
- console.error('Unable to get page for thumb view', reason);
239
- _this2._pagesRequests[pageNumber] = null;
240
- });
241
- this._pagesRequests[pageNumber] = promise;
242
- return promise;
205
+ setPageLabels(labels) {
206
+ if (!this.pdfDocument) {
207
+ return;
243
208
  }
244
- }, {
245
- key: "forceRendering",
246
- value: function forceRendering() {
247
- var _this3 = this;
248
209
 
249
- var visibleThumbs = this._getVisibleThumbs();
210
+ if (!labels) {
211
+ this._pageLabels = null;
212
+ } else if (!(Array.isArray(labels) && this.pdfDocument.numPages === labels.length)) {
213
+ this._pageLabels = null;
214
+ console.error("PDFThumbnailViewer_setPageLabels: Invalid page labels.");
215
+ } else {
216
+ this._pageLabels = labels;
217
+ }
250
218
 
251
- var thumbView = this.renderingQueue.getHighestPriority(visibleThumbs, this._thumbnails, this.scroll.down);
219
+ for (let i = 0, ii = this._thumbnails.length; i < ii; i++) {
220
+ const label = this._pageLabels && this._pageLabels[i];
252
221
 
253
- if (thumbView) {
254
- this._ensurePdfPageLoaded(thumbView).then(function () {
255
- _this3.renderingQueue.renderView(thumbView);
256
- });
222
+ this._thumbnails[i].setPageLabel(label);
223
+ }
224
+ }
257
225
 
258
- return true;
259
- }
226
+ _ensurePdfPageLoaded(thumbView) {
227
+ if (thumbView.pdfPage) {
228
+ return Promise.resolve(thumbView.pdfPage);
229
+ }
260
230
 
261
- return false;
231
+ if (this._pagesRequests.has(thumbView)) {
232
+ return this._pagesRequests.get(thumbView);
262
233
  }
263
- }, {
264
- key: "pagesRotation",
265
- get: function get() {
266
- return this._pagesRotation;
267
- },
268
- set: function set(rotation) {
269
- if (!(0, _ui_utils.isValidRotation)(rotation)) {
270
- throw new Error('Invalid thumbnails rotation angle.');
271
- }
272
234
 
273
- if (!this.pdfDocument) {
274
- return;
235
+ const promise = this.pdfDocument.getPage(thumbView.id).then(pdfPage => {
236
+ if (!thumbView.pdfPage) {
237
+ thumbView.setPdfPage(pdfPage);
275
238
  }
276
239
 
277
- if (this._pagesRotation === rotation) {
278
- return;
279
- }
240
+ this._pagesRequests.delete(thumbView);
280
241
 
281
- this._pagesRotation = rotation;
242
+ return pdfPage;
243
+ }).catch(reason => {
244
+ console.error("Unable to get page for thumb view", reason);
282
245
 
283
- for (var i = 0, ii = this._thumbnails.length; i < ii; i++) {
284
- this._thumbnails[i].update(rotation);
285
- }
246
+ this._pagesRequests.delete(thumbView);
247
+ });
248
+
249
+ this._pagesRequests.set(thumbView, promise);
250
+
251
+ return promise;
252
+ }
253
+
254
+ forceRendering() {
255
+ const visibleThumbs = this._getVisibleThumbs();
256
+
257
+ const thumbView = this.renderingQueue.getHighestPriority(visibleThumbs, this._thumbnails, this.scroll.down);
258
+
259
+ if (thumbView) {
260
+ this._ensurePdfPageLoaded(thumbView).then(() => {
261
+ this.renderingQueue.renderView(thumbView);
262
+ });
263
+
264
+ return true;
286
265
  }
287
- }]);
288
266
 
289
- return PDFThumbnailViewer;
290
- }();
267
+ return false;
268
+ }
269
+
270
+ }
291
271
 
292
272
  exports.PDFThumbnailViewer = PDFThumbnailViewer;
@@ -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 2018 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,97 +26,97 @@ Object.defineProperty(exports, "__esModule", {
26
26
  });
27
27
  Object.defineProperty(exports, "AnnotationLayerBuilder", {
28
28
  enumerable: true,
29
- get: function get() {
29
+ get: function () {
30
30
  return _annotation_layer_builder.AnnotationLayerBuilder;
31
31
  }
32
32
  });
33
33
  Object.defineProperty(exports, "DefaultAnnotationLayerFactory", {
34
34
  enumerable: true,
35
- get: function get() {
35
+ get: function () {
36
36
  return _annotation_layer_builder.DefaultAnnotationLayerFactory;
37
37
  }
38
38
  });
39
39
  Object.defineProperty(exports, "DefaultTextLayerFactory", {
40
40
  enumerable: true,
41
- get: function get() {
41
+ get: function () {
42
42
  return _text_layer_builder.DefaultTextLayerFactory;
43
43
  }
44
44
  });
45
45
  Object.defineProperty(exports, "TextLayerBuilder", {
46
46
  enumerable: true,
47
- get: function get() {
47
+ get: function () {
48
48
  return _text_layer_builder.TextLayerBuilder;
49
49
  }
50
50
  });
51
51
  Object.defineProperty(exports, "EventBus", {
52
52
  enumerable: true,
53
- get: function get() {
53
+ get: function () {
54
54
  return _ui_utils.EventBus;
55
55
  }
56
56
  });
57
57
  Object.defineProperty(exports, "NullL10n", {
58
58
  enumerable: true,
59
- get: function get() {
59
+ get: function () {
60
60
  return _ui_utils.NullL10n;
61
61
  }
62
62
  });
63
63
  Object.defineProperty(exports, "ProgressBar", {
64
64
  enumerable: true,
65
- get: function get() {
65
+ get: function () {
66
66
  return _ui_utils.ProgressBar;
67
67
  }
68
68
  });
69
69
  Object.defineProperty(exports, "PDFLinkService", {
70
70
  enumerable: true,
71
- get: function get() {
71
+ get: function () {
72
72
  return _pdf_link_service.PDFLinkService;
73
73
  }
74
74
  });
75
75
  Object.defineProperty(exports, "SimpleLinkService", {
76
76
  enumerable: true,
77
- get: function get() {
77
+ get: function () {
78
78
  return _pdf_link_service.SimpleLinkService;
79
79
  }
80
80
  });
81
81
  Object.defineProperty(exports, "DownloadManager", {
82
82
  enumerable: true,
83
- get: function get() {
83
+ get: function () {
84
84
  return _download_manager.DownloadManager;
85
85
  }
86
86
  });
87
87
  Object.defineProperty(exports, "GenericL10n", {
88
88
  enumerable: true,
89
- get: function get() {
89
+ get: function () {
90
90
  return _genericl10n.GenericL10n;
91
91
  }
92
92
  });
93
93
  Object.defineProperty(exports, "PDFFindController", {
94
94
  enumerable: true,
95
- get: function get() {
95
+ get: function () {
96
96
  return _pdf_find_controller.PDFFindController;
97
97
  }
98
98
  });
99
99
  Object.defineProperty(exports, "PDFHistory", {
100
100
  enumerable: true,
101
- get: function get() {
101
+ get: function () {
102
102
  return _pdf_history.PDFHistory;
103
103
  }
104
104
  });
105
105
  Object.defineProperty(exports, "PDFPageView", {
106
106
  enumerable: true,
107
- get: function get() {
107
+ get: function () {
108
108
  return _pdf_page_view.PDFPageView;
109
109
  }
110
110
  });
111
111
  Object.defineProperty(exports, "PDFSinglePageViewer", {
112
112
  enumerable: true,
113
- get: function get() {
113
+ get: function () {
114
114
  return _pdf_single_page_viewer.PDFSinglePageViewer;
115
115
  }
116
116
  });
117
117
  Object.defineProperty(exports, "PDFViewer", {
118
118
  enumerable: true,
119
- get: function get() {
119
+ get: function () {
120
120
  return _pdf_viewer.PDFViewer;
121
121
  }
122
122
  });
@@ -139,10 +139,9 @@ var _pdf_history = require("./pdf_history.js");
139
139
 
140
140
  var _pdf_page_view = require("./pdf_page_view.js");
141
141
 
142
- var _pdf_single_page_viewer = require("./pdf_single_page_viewer");
142
+ var _pdf_single_page_viewer = require("./pdf_single_page_viewer.js");
143
143
 
144
144
  var _pdf_viewer = require("./pdf_viewer.js");
145
145
 
146
- var pdfjsVersion = '2.1.266';
147
- var pdfjsBuild = '81f5835c';
148
- (0, _ui_utils.getGlobalEventBus)(true);
146
+ const pdfjsVersion = '2.5.207';
147
+ const pdfjsBuild = '0974d605';