pdfjs-dist 2.2.228 → 2.6.347

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 (229) hide show
  1. package/README.md +4 -0
  2. package/bower.json +1 -1
  3. package/build/pdf.js +8816 -19300
  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 +27185 -35746
  8. package/build/pdf.worker.js.map +1 -1
  9. package/build/pdf.worker.min.js +22 -1
  10. package/es5/build/pdf.js +26665 -0
  11. package/es5/build/pdf.js.map +1 -0
  12. package/es5/build/pdf.min.js +22 -0
  13. package/{lib/shared/global_scope.js → es5/build/pdf.worker.entry.js} +5 -10
  14. package/es5/build/pdf.worker.js +61231 -0
  15. package/es5/build/pdf.worker.js.map +1 -0
  16. package/es5/build/pdf.worker.min.js +22 -0
  17. package/es5/image_decoders/pdf.image_decoders.js +12529 -0
  18. package/es5/image_decoders/pdf.image_decoders.js.map +1 -0
  19. package/es5/image_decoders/pdf.image_decoders.min.js +22 -0
  20. package/es5/web/images/annotation-check.svg +11 -0
  21. package/es5/web/images/annotation-comment.svg +16 -0
  22. package/es5/web/images/annotation-help.svg +26 -0
  23. package/es5/web/images/annotation-insert.svg +10 -0
  24. package/es5/web/images/annotation-key.svg +11 -0
  25. package/es5/web/images/annotation-newparagraph.svg +11 -0
  26. package/es5/web/images/annotation-noicon.svg +7 -0
  27. package/es5/web/images/annotation-note.svg +42 -0
  28. package/es5/web/images/annotation-paragraph.svg +16 -0
  29. package/es5/web/images/loading-icon.gif +0 -0
  30. package/es5/web/images/shadow.png +0 -0
  31. package/es5/web/pdf_viewer.css +406 -0
  32. package/es5/web/pdf_viewer.js +7886 -0
  33. package/es5/web/pdf_viewer.js.map +1 -0
  34. package/image_decoders/pdf.image_decoders.js +1498 -4832
  35. package/image_decoders/pdf.image_decoders.js.map +1 -1
  36. package/image_decoders/pdf.image_decoders.min.js +22 -1
  37. package/lib/README.md +7 -0
  38. package/lib/core/annotation.js +1144 -927
  39. package/lib/core/arithmetic_decoder.js +81 -97
  40. package/lib/core/bidi.js +54 -46
  41. package/lib/core/ccitt.js +88 -81
  42. package/lib/core/ccitt_stream.js +15 -14
  43. package/lib/core/cff_parser.js +747 -716
  44. package/lib/core/charsets.js +4 -4
  45. package/lib/core/chunked_stream.js +462 -553
  46. package/lib/core/cmap.js +231 -277
  47. package/lib/core/colorspace.js +715 -857
  48. package/lib/core/core_utils.js +57 -52
  49. package/lib/core/crypto.js +416 -437
  50. package/lib/core/document.js +629 -670
  51. package/lib/core/encodings.js +15 -15
  52. package/lib/core/evaluator.js +3229 -2800
  53. package/lib/core/font_renderer.js +135 -178
  54. package/lib/core/fonts.js +602 -534
  55. package/lib/core/function.js +355 -279
  56. package/lib/core/glyphlist.js +4527 -4526
  57. package/lib/core/image.js +442 -439
  58. package/lib/core/image_utils.js +221 -61
  59. package/lib/core/jbig2.js +325 -316
  60. package/lib/core/jbig2_stream.js +18 -17
  61. package/lib/core/jpeg_stream.js +21 -26
  62. package/lib/core/jpg.js +289 -233
  63. package/lib/core/jpx.js +161 -143
  64. package/lib/core/jpx_stream.js +28 -28
  65. package/lib/core/metrics.js +2928 -2928
  66. package/lib/core/murmurhash3.js +87 -102
  67. package/lib/core/obj.js +1343 -1300
  68. package/lib/core/operator_list.js +90 -67
  69. package/lib/core/parser.js +990 -987
  70. package/lib/core/pattern.js +105 -77
  71. package/lib/core/pdf_manager.js +149 -316
  72. package/lib/core/primitives.js +156 -104
  73. package/lib/core/ps_parser.js +175 -214
  74. package/lib/core/standard_fonts.js +237 -236
  75. package/lib/core/stream.js +94 -74
  76. package/lib/core/type1_parser.js +89 -69
  77. package/lib/core/unicode.js +1654 -1654
  78. package/lib/core/worker.js +275 -290
  79. package/lib/core/worker_stream.js +101 -210
  80. package/lib/core/writer.js +242 -0
  81. package/lib/display/annotation_layer.js +772 -1041
  82. package/lib/display/annotation_storage.js +89 -0
  83. package/lib/display/api.js +1575 -1868
  84. package/lib/display/api_compatibility.js +12 -17
  85. package/lib/display/canvas.js +370 -222
  86. package/lib/display/content_disposition.js +40 -59
  87. package/lib/display/display_utils.js +341 -536
  88. package/lib/display/fetch_stream.js +188 -304
  89. package/lib/display/font_loader.js +282 -414
  90. package/lib/display/metadata.js +81 -99
  91. package/lib/display/network.js +362 -511
  92. package/lib/display/network_utils.js +25 -18
  93. package/lib/display/node_stream.js +283 -465
  94. package/lib/display/node_utils.js +87 -0
  95. package/lib/display/optional_content_config.js +184 -0
  96. package/lib/display/pattern_helper.js +93 -44
  97. package/lib/display/svg.js +1163 -1401
  98. package/lib/display/text_layer.js +154 -137
  99. package/lib/display/transport_stream.js +237 -375
  100. package/lib/display/webgl.js +70 -83
  101. package/lib/display/worker_options.js +3 -3
  102. package/lib/display/xml_parser.js +303 -392
  103. package/lib/examples/node/domstubs.js +37 -37
  104. package/lib/pdf.js +220 -58
  105. package/lib/pdf.worker.js +14 -6
  106. package/lib/shared/compatibility.js +3 -246
  107. package/lib/shared/is_node.js +7 -6
  108. package/lib/shared/message_handler.js +327 -332
  109. package/lib/shared/util.js +271 -306
  110. package/lib/test/unit/annotation_spec.js +1902 -763
  111. package/lib/test/unit/annotation_storage_spec.js +83 -0
  112. package/lib/test/unit/api_spec.js +790 -592
  113. package/lib/test/unit/bidi_spec.js +7 -7
  114. package/lib/test/unit/cff_parser_spec.js +73 -72
  115. package/lib/test/unit/clitests_helper.js +7 -9
  116. package/lib/test/unit/cmap_spec.js +86 -88
  117. package/lib/test/unit/colorspace_spec.js +346 -154
  118. package/lib/test/unit/core_utils_spec.js +125 -105
  119. package/lib/test/unit/crypto_spec.js +232 -185
  120. package/lib/test/unit/custom_spec.js +150 -24
  121. package/lib/test/unit/display_svg_spec.js +34 -39
  122. package/lib/test/unit/display_utils_spec.js +139 -149
  123. package/lib/test/unit/document_spec.js +128 -17
  124. package/lib/test/unit/encodings_spec.js +12 -34
  125. package/lib/test/unit/evaluator_spec.js +112 -91
  126. package/lib/test/unit/fetch_stream_spec.js +31 -29
  127. package/lib/test/unit/function_spec.js +206 -204
  128. package/lib/test/unit/jasmine-boot.js +48 -32
  129. package/lib/test/unit/message_handler_spec.js +173 -159
  130. package/lib/test/unit/metadata_spec.js +71 -71
  131. package/lib/test/unit/murmurhash3_spec.js +12 -12
  132. package/lib/test/unit/network_spec.js +13 -11
  133. package/lib/test/unit/network_utils_spec.js +158 -144
  134. package/lib/test/unit/node_stream_spec.js +76 -90
  135. package/lib/test/unit/parser_spec.js +108 -114
  136. package/lib/test/unit/pdf_find_controller_spec.js +55 -86
  137. package/lib/test/unit/pdf_find_utils_spec.js +32 -32
  138. package/lib/test/unit/pdf_history_spec.js +32 -32
  139. package/lib/test/unit/primitives_spec.js +337 -156
  140. package/lib/test/unit/stream_spec.js +16 -14
  141. package/lib/test/unit/test_utils.js +91 -304
  142. package/lib/test/unit/testreporter.js +33 -22
  143. package/lib/test/unit/type1_parser_spec.js +42 -42
  144. package/lib/test/unit/ui_utils_spec.js +299 -461
  145. package/lib/test/unit/unicode_spec.js +42 -42
  146. package/lib/test/unit/util_spec.js +129 -149
  147. package/lib/test/unit/writer_spec.js +84 -0
  148. package/lib/web/annotation_layer_builder.js +78 -111
  149. package/lib/web/app.js +1542 -1267
  150. package/lib/web/app_options.js +76 -91
  151. package/lib/web/base_tree_viewer.js +100 -0
  152. package/lib/web/base_viewer.js +869 -834
  153. package/lib/web/chromecom.js +165 -252
  154. package/lib/web/debugger.js +149 -205
  155. package/lib/web/download_manager.js +34 -58
  156. package/lib/web/firefox_print_service.js +62 -34
  157. package/lib/web/firefoxcom.js +206 -374
  158. package/lib/web/genericcom.js +26 -108
  159. package/lib/web/genericl10n.js +24 -153
  160. package/lib/web/grab_to_pan.js +30 -30
  161. package/lib/web/interfaces.js +80 -254
  162. package/lib/web/overlay_manager.js +70 -246
  163. package/lib/web/password_prompt.js +38 -64
  164. package/lib/web/pdf_attachment_viewer.js +150 -126
  165. package/lib/web/pdf_cursor_tools.js +75 -102
  166. package/lib/web/pdf_document_properties.js +229 -383
  167. package/lib/web/pdf_find_bar.js +136 -170
  168. package/lib/web/pdf_find_controller.js +492 -548
  169. package/lib/web/pdf_find_utils.js +13 -13
  170. package/lib/web/pdf_history.js +397 -406
  171. package/lib/web/pdf_layer_viewer.js +208 -0
  172. package/lib/web/pdf_link_service.js +304 -348
  173. package/lib/web/pdf_outline_viewer.js +119 -212
  174. package/lib/web/pdf_page_view.js +474 -513
  175. package/lib/web/pdf_presentation_mode.js +308 -357
  176. package/lib/web/pdf_print_service.js +96 -110
  177. package/lib/web/pdf_rendering_queue.js +87 -108
  178. package/lib/web/pdf_sidebar.js +286 -302
  179. package/lib/web/pdf_sidebar_resizer.js +92 -119
  180. package/lib/web/pdf_single_page_viewer.js +77 -126
  181. package/lib/web/pdf_thumbnail_view.js +289 -297
  182. package/lib/web/pdf_thumbnail_viewer.js +202 -206
  183. package/lib/web/pdf_viewer.component.js +20 -21
  184. package/lib/web/pdf_viewer.js +55 -115
  185. package/lib/web/preferences.js +69 -273
  186. package/lib/web/secondary_toolbar.js +164 -196
  187. package/lib/web/text_layer_builder.js +284 -319
  188. package/lib/web/toolbar.js +217 -210
  189. package/lib/web/ui_utils.js +274 -421
  190. package/lib/web/view_history.js +52 -226
  191. package/lib/web/viewer_compatibility.js +21 -6
  192. package/package.json +4 -9
  193. package/types/display/annotation_layer.d.ts +61 -0
  194. package/types/display/annotation_storage.d.ts +36 -0
  195. package/types/display/api.d.ts +1107 -0
  196. package/types/display/api_compatibility.d.ts +1 -0
  197. package/types/display/canvas.d.ts +4 -0
  198. package/types/display/content_disposition.d.ts +7 -0
  199. package/types/display/display_utils.d.ts +243 -0
  200. package/types/display/fetch_stream.d.ts +67 -0
  201. package/types/display/font_loader.d.ts +19 -0
  202. package/types/display/metadata.d.ts +9 -0
  203. package/types/display/network.d.ts +80 -0
  204. package/types/display/network_utils.d.ts +14 -0
  205. package/types/display/node_stream.d.ts +72 -0
  206. package/types/display/node_utils.d.ts +6 -0
  207. package/types/display/optional_content_config.d.ts +12 -0
  208. package/types/display/pattern_helper.d.ts +5 -0
  209. package/types/display/svg.d.ts +2 -0
  210. package/types/display/text_layer.d.ts +83 -0
  211. package/types/display/transport_stream.d.ts +57 -0
  212. package/types/display/webgl.d.ts +20 -0
  213. package/types/display/worker_options.d.ts +27 -0
  214. package/types/display/xml_parser.d.ts +35 -0
  215. package/types/pdf.d.ts +33 -0
  216. package/types/shared/compatibility.d.ts +1 -0
  217. package/types/shared/is_node.d.ts +1 -0
  218. package/types/shared/message_handler.d.ts +62 -0
  219. package/types/shared/util.d.ts +421 -0
  220. package/web/images/shadow.png +0 -0
  221. package/web/pdf_viewer.css +29 -27
  222. package/web/pdf_viewer.js +3524 -4746
  223. package/web/pdf_viewer.js.map +1 -1
  224. package/webpack.js +6 -5
  225. package/external/streams/streams-lib.js +0 -3962
  226. package/external/url/url-lib.js +0 -627
  227. package/lib/shared/streams_polyfill.js +0 -43
  228. package/lib/shared/url_polyfill.js +0 -56
  229. package/web/images/texture.png +0 -0
@@ -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,31 +26,21 @@ 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
+ eventBus,
40
+ linkService,
41
+ renderingQueue,
42
+ l10n = _ui_utils.NullL10n
43
+ }) {
54
44
  this.container = container;
55
45
  this.linkService = linkService;
56
46
  this.renderingQueue = renderingQueue;
@@ -58,235 +48,241 @@ function () {
58
48
  this.scroll = (0, _ui_utils.watchScroll)(this.container, this._scrollUpdated.bind(this));
59
49
 
60
50
  this._resetView();
51
+
52
+ eventBus._on("optionalcontentconfigchanged", () => {
53
+ this._setImageDisabled = true;
54
+ });
55
+ }
56
+
57
+ _scrollUpdated() {
58
+ this.renderingQueue.renderHighestPriority();
59
+ }
60
+
61
+ getThumbnail(index) {
62
+ return this._thumbnails[index];
61
63
  }
62
64
 
63
- _createClass(PDFThumbnailViewer, [{
64
- key: "_scrollUpdated",
65
- value: function _scrollUpdated() {
66
- this.renderingQueue.renderHighestPriority();
65
+ _getVisibleThumbs() {
66
+ return (0, _ui_utils.getVisibleElements)(this.container, this._thumbnails);
67
+ }
68
+
69
+ scrollThumbnailIntoView(pageNumber) {
70
+ if (!this.pdfDocument) {
71
+ return;
67
72
  }
68
- }, {
69
- key: "getThumbnail",
70
- value: function getThumbnail(index) {
71
- return this._thumbnails[index];
73
+
74
+ const thumbnailView = this._thumbnails[pageNumber - 1];
75
+
76
+ if (!thumbnailView) {
77
+ console.error('scrollThumbnailIntoView: Invalid "pageNumber" parameter.');
78
+ return;
72
79
  }
73
- }, {
74
- key: "_getVisibleThumbs",
75
- value: function _getVisibleThumbs() {
76
- return (0, _ui_utils.getVisibleElements)(this.container, this._thumbnails);
80
+
81
+ if (pageNumber !== this._currentPageNumber) {
82
+ const prevThumbnailView = this._thumbnails[this._currentPageNumber - 1];
83
+ prevThumbnailView.div.classList.remove(THUMBNAIL_SELECTED_CLASS);
84
+ thumbnailView.div.classList.add(THUMBNAIL_SELECTED_CLASS);
77
85
  }
78
- }, {
79
- key: "scrollThumbnailIntoView",
80
- value: function scrollThumbnailIntoView(pageNumber) {
81
- if (!this.pdfDocument) {
82
- return;
83
- }
84
86
 
85
- var thumbnailView = this._thumbnails[pageNumber - 1];
87
+ const visibleThumbs = this._getVisibleThumbs();
86
88
 
87
- if (!thumbnailView) {
88
- console.error('scrollThumbnailIntoView: Invalid "pageNumber" parameter.');
89
- return;
90
- }
89
+ const numVisibleThumbs = visibleThumbs.views.length;
90
+
91
+ if (numVisibleThumbs > 0) {
92
+ const first = visibleThumbs.first.id;
93
+ const last = numVisibleThumbs > 1 ? visibleThumbs.last.id : first;
94
+ let shouldScroll = false;
95
+
96
+ if (pageNumber <= first || pageNumber >= last) {
97
+ shouldScroll = true;
98
+ } else {
99
+ visibleThumbs.views.some(function (view) {
100
+ if (view.id !== pageNumber) {
101
+ return false;
102
+ }
91
103
 
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);
104
+ shouldScroll = view.percent < 100;
105
+ return true;
106
+ });
96
107
  }
97
108
 
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
- }
109
+ if (shouldScroll) {
110
+ (0, _ui_utils.scrollIntoView)(thumbnailView.div, {
111
+ top: THUMBNAIL_SCROLL_MARGIN
112
+ });
125
113
  }
114
+ }
115
+
116
+ this._currentPageNumber = pageNumber;
117
+ }
118
+
119
+ get pagesRotation() {
120
+ return this._pagesRotation;
121
+ }
126
122
 
127
- this._currentPageNumber = pageNumber;
123
+ set pagesRotation(rotation) {
124
+ if (!(0, _ui_utils.isValidRotation)(rotation)) {
125
+ throw new Error("Invalid thumbnails rotation angle.");
128
126
  }
129
- }, {
130
- key: "cleanup",
131
- value: function cleanup() {
132
- _pdf_thumbnail_view.PDFThumbnailView.cleanup();
127
+
128
+ if (!this.pdfDocument) {
129
+ return;
133
130
  }
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 = '';
131
+
132
+ if (this._pagesRotation === rotation) {
133
+ return;
143
134
  }
144
- }, {
145
- key: "setDocument",
146
- value: function setDocument(pdfDocument) {
147
- var _this = this;
148
135
 
149
- if (this.pdfDocument) {
150
- this._cancelRendering();
136
+ this._pagesRotation = rotation;
151
137
 
152
- this._resetView();
153
- }
138
+ for (let i = 0, ii = this._thumbnails.length; i < ii; i++) {
139
+ this._thumbnails[i].update(rotation);
140
+ }
141
+ }
154
142
 
155
- this.pdfDocument = pdfDocument;
143
+ cleanup() {
144
+ _pdf_thumbnail_view.PDFThumbnailView.cleanup();
145
+ }
156
146
 
157
- if (!pdfDocument) {
158
- return;
159
- }
147
+ _resetView() {
148
+ this._thumbnails = [];
149
+ this._currentPageNumber = 1;
150
+ this._pageLabels = null;
151
+ this._pagesRotation = 0;
152
+ this._optionalContentConfigPromise = null;
153
+ this._pagesRequests = new WeakMap();
154
+ this._setImageDisabled = false;
155
+ this.container.textContent = "";
156
+ }
160
157
 
161
- pdfDocument.getPage(1).then(function (firstPage) {
162
- var pagesCount = pdfDocument.numPages;
163
- var viewport = firstPage.getViewport({
164
- scale: 1
165
- });
158
+ setDocument(pdfDocument) {
159
+ if (this.pdfDocument) {
160
+ this._cancelRendering();
166
161
 
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
- });
162
+ this._resetView();
186
163
  }
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
- }
164
+
165
+ this.pdfDocument = pdfDocument;
166
+
167
+ if (!pdfDocument) {
168
+ return;
195
169
  }
196
- }, {
197
- key: "setPageLabels",
198
- value: function setPageLabels(labels) {
199
- if (!this.pdfDocument) {
200
- return;
201
- }
202
170
 
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
- }
171
+ const firstPagePromise = pdfDocument.getPage(1);
172
+ const optionalContentConfigPromise = pdfDocument.getOptionalContentConfig();
173
+ firstPagePromise.then(firstPdfPage => {
174
+ this._optionalContentConfigPromise = optionalContentConfigPromise;
175
+ const pagesCount = pdfDocument.numPages;
176
+ const viewport = firstPdfPage.getViewport({
177
+ scale: 1
178
+ });
211
179
 
212
- for (var i = 0, ii = this._thumbnails.length; i < ii; i++) {
213
- var label = this._pageLabels && this._pageLabels[i];
180
+ const checkSetImageDisabled = () => {
181
+ return this._setImageDisabled;
182
+ };
183
+
184
+ for (let pageNum = 1; pageNum <= pagesCount; ++pageNum) {
185
+ const thumbnail = new _pdf_thumbnail_view.PDFThumbnailView({
186
+ container: this.container,
187
+ id: pageNum,
188
+ defaultViewport: viewport.clone(),
189
+ optionalContentConfigPromise,
190
+ linkService: this.linkService,
191
+ renderingQueue: this.renderingQueue,
192
+ checkSetImageDisabled,
193
+ disableCanvasToImageConversion: false,
194
+ l10n: this.l10n
195
+ });
214
196
 
215
- this._thumbnails[i].setPageLabel(label);
197
+ this._thumbnails.push(thumbnail);
216
198
  }
217
- }
218
- }, {
219
- key: "_ensurePdfPageLoaded",
220
- value: function _ensurePdfPageLoaded(thumbView) {
221
- var _this2 = this;
222
199
 
223
- if (thumbView.pdfPage) {
224
- return Promise.resolve(thumbView.pdfPage);
200
+ const firstThumbnailView = this._thumbnails[0];
201
+
202
+ if (firstThumbnailView) {
203
+ firstThumbnailView.setPdfPage(firstPdfPage);
225
204
  }
226
205
 
227
- var pageNumber = thumbView.id;
206
+ const thumbnailView = this._thumbnails[this._currentPageNumber - 1];
207
+ thumbnailView.div.classList.add(THUMBNAIL_SELECTED_CLASS);
208
+ }).catch(reason => {
209
+ console.error("Unable to initialize thumbnail viewer", reason);
210
+ });
211
+ }
228
212
 
229
- if (this._pagesRequests[pageNumber]) {
230
- return this._pagesRequests[pageNumber];
213
+ _cancelRendering() {
214
+ for (let i = 0, ii = this._thumbnails.length; i < ii; i++) {
215
+ if (this._thumbnails[i]) {
216
+ this._thumbnails[i].cancelRendering();
231
217
  }
218
+ }
219
+ }
232
220
 
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;
221
+ setPageLabels(labels) {
222
+ if (!this.pdfDocument) {
223
+ return;
243
224
  }
244
- }, {
245
- key: "forceRendering",
246
- value: function forceRendering() {
247
- var _this3 = this;
248
225
 
249
- var visibleThumbs = this._getVisibleThumbs();
226
+ if (!labels) {
227
+ this._pageLabels = null;
228
+ } else if (!(Array.isArray(labels) && this.pdfDocument.numPages === labels.length)) {
229
+ this._pageLabels = null;
230
+ console.error("PDFThumbnailViewer_setPageLabels: Invalid page labels.");
231
+ } else {
232
+ this._pageLabels = labels;
233
+ }
250
234
 
251
- var thumbView = this.renderingQueue.getHighestPriority(visibleThumbs, this._thumbnails, this.scroll.down);
235
+ for (let i = 0, ii = this._thumbnails.length; i < ii; i++) {
236
+ const label = this._pageLabels && this._pageLabels[i];
252
237
 
253
- if (thumbView) {
254
- this._ensurePdfPageLoaded(thumbView).then(function () {
255
- _this3.renderingQueue.renderView(thumbView);
256
- });
238
+ this._thumbnails[i].setPageLabel(label);
239
+ }
240
+ }
257
241
 
258
- return true;
259
- }
242
+ _ensurePdfPageLoaded(thumbView) {
243
+ if (thumbView.pdfPage) {
244
+ return Promise.resolve(thumbView.pdfPage);
245
+ }
260
246
 
261
- return false;
247
+ if (this._pagesRequests.has(thumbView)) {
248
+ return this._pagesRequests.get(thumbView);
262
249
  }
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
250
 
273
- if (!this.pdfDocument) {
274
- return;
251
+ const promise = this.pdfDocument.getPage(thumbView.id).then(pdfPage => {
252
+ if (!thumbView.pdfPage) {
253
+ thumbView.setPdfPage(pdfPage);
275
254
  }
276
255
 
277
- if (this._pagesRotation === rotation) {
278
- return;
279
- }
256
+ this._pagesRequests.delete(thumbView);
280
257
 
281
- this._pagesRotation = rotation;
258
+ return pdfPage;
259
+ }).catch(reason => {
260
+ console.error("Unable to get page for thumb view", reason);
282
261
 
283
- for (var i = 0, ii = this._thumbnails.length; i < ii; i++) {
284
- this._thumbnails[i].update(rotation);
285
- }
262
+ this._pagesRequests.delete(thumbView);
263
+ });
264
+
265
+ this._pagesRequests.set(thumbView, promise);
266
+
267
+ return promise;
268
+ }
269
+
270
+ forceRendering() {
271
+ const visibleThumbs = this._getVisibleThumbs();
272
+
273
+ const thumbView = this.renderingQueue.getHighestPriority(visibleThumbs, this._thumbnails, this.scroll.down);
274
+
275
+ if (thumbView) {
276
+ this._ensurePdfPageLoaded(thumbView).then(() => {
277
+ this.renderingQueue.renderView(thumbView);
278
+ });
279
+
280
+ return true;
286
281
  }
287
- }]);
288
282
 
289
- return PDFThumbnailViewer;
290
- }();
283
+ return false;
284
+ }
285
+
286
+ }
291
287
 
292
288
  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 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,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.2.228';
147
- var pdfjsBuild = 'd7afb74a';
148
- (0, _ui_utils.getGlobalEventBus)(true);
146
+ const pdfjsVersion = '2.6.347';
147
+ const pdfjsBuild = '3be9c65f';