pdfjs-dist 2.0.943 → 2.1.266

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of pdfjs-dist might be problematic. Click here for more details.

Files changed (159) hide show
  1. package/bower.json +1 -1
  2. package/build/pdf.js +15329 -11095
  3. package/build/pdf.js.map +1 -1
  4. package/build/pdf.min.js +1 -1
  5. package/build/pdf.worker.js +12497 -4184
  6. package/build/pdf.worker.js.map +1 -1
  7. package/build/pdf.worker.min.js +1 -1
  8. package/image_decoders/pdf.image_decoders.js +3438 -1209
  9. package/image_decoders/pdf.image_decoders.js.map +1 -1
  10. package/image_decoders/pdf.image_decoders.min.js +1 -1
  11. package/lib/core/annotation.js +335 -109
  12. package/lib/core/arithmetic_decoder.js +274 -244
  13. package/lib/core/bidi.js +64 -5
  14. package/lib/core/ccitt.js +172 -17
  15. package/lib/core/ccitt_stream.js +14 -5
  16. package/lib/core/cff_parser.js +304 -28
  17. package/lib/core/charsets.js +4 -3
  18. package/lib/core/chunked_stream.js +379 -149
  19. package/lib/core/cmap.js +210 -40
  20. package/lib/core/colorspace.js +332 -187
  21. package/lib/core/crypto.js +289 -44
  22. package/lib/core/document.js +508 -249
  23. package/lib/core/encodings.js +18 -9
  24. package/lib/core/evaluator.js +657 -119
  25. package/lib/core/font_renderer.js +217 -34
  26. package/lib/core/fonts.js +632 -41
  27. package/lib/core/function.js +252 -26
  28. package/lib/core/glyphlist.js +2 -1
  29. package/lib/core/image.js +124 -27
  30. package/lib/core/jbig2.js +425 -65
  31. package/lib/core/jbig2_stream.js +18 -7
  32. package/lib/core/jpeg_stream.js +24 -8
  33. package/lib/core/jpg.js +208 -16
  34. package/lib/core/jpx.js +395 -5
  35. package/lib/core/jpx_stream.js +17 -5
  36. package/lib/core/metrics.js +3 -3
  37. package/lib/core/murmurhash3.js +23 -5
  38. package/lib/core/obj.js +625 -132
  39. package/lib/core/operator_list.js +104 -3
  40. package/lib/core/parser.js +262 -25
  41. package/lib/core/pattern.js +144 -12
  42. package/lib/core/pdf_manager.js +104 -70
  43. package/lib/core/primitives.js +74 -21
  44. package/lib/core/ps_parser.js +133 -44
  45. package/lib/core/standard_fonts.js +9 -9
  46. package/lib/core/stream.js +283 -31
  47. package/lib/core/type1_parser.js +138 -6
  48. package/lib/core/unicode.js +28 -1
  49. package/lib/core/worker.js +192 -57
  50. package/lib/display/annotation_layer.js +303 -123
  51. package/lib/display/api.js +1073 -574
  52. package/lib/display/api_compatibility.js +4 -1
  53. package/lib/display/canvas.js +314 -18
  54. package/lib/display/content_disposition.js +70 -23
  55. package/lib/display/dom_utils.js +112 -59
  56. package/lib/display/fetch_stream.js +95 -50
  57. package/lib/display/font_loader.js +250 -132
  58. package/lib/display/metadata.js +37 -15
  59. package/lib/display/network.js +123 -34
  60. package/lib/display/network_utils.js +23 -10
  61. package/lib/display/node_stream.js +162 -65
  62. package/lib/display/pattern_helper.js +57 -6
  63. package/lib/display/svg.js +194 -18
  64. package/lib/display/text_layer.js +128 -14
  65. package/lib/display/transport_stream.js +83 -27
  66. package/lib/display/webgl.js +63 -17
  67. package/lib/display/worker_options.js +4 -3
  68. package/lib/display/xml_parser.js +162 -52
  69. package/lib/examples/node/domstubs.js +56 -3
  70. package/lib/pdf.js +15 -2
  71. package/lib/pdf.worker.js +4 -2
  72. package/lib/shared/compatibility.js +129 -26
  73. package/lib/shared/global_scope.js +1 -1
  74. package/lib/shared/is_node.js +3 -3
  75. package/lib/shared/message_handler.js +103 -45
  76. package/lib/shared/streams_polyfill.js +20 -16
  77. package/lib/shared/url_polyfill.js +8 -2
  78. package/lib/shared/util.js +246 -84
  79. package/lib/test/unit/annotation_spec.js +99 -73
  80. package/lib/test/unit/api_spec.js +347 -113
  81. package/lib/test/unit/bidi_spec.js +6 -6
  82. package/lib/test/unit/cff_parser_spec.js +17 -5
  83. package/lib/test/unit/clitests_helper.js +7 -8
  84. package/lib/test/unit/cmap_spec.js +79 -25
  85. package/lib/test/unit/colorspace_spec.js +65 -18
  86. package/lib/test/unit/crypto_spec.js +16 -4
  87. package/lib/test/unit/custom_spec.js +40 -52
  88. package/lib/test/unit/display_svg_spec.js +32 -16
  89. package/lib/test/unit/document_spec.js +2 -2
  90. package/lib/test/unit/dom_utils_spec.js +8 -8
  91. package/lib/test/unit/encodings_spec.js +24 -44
  92. package/lib/test/unit/evaluator_spec.js +15 -8
  93. package/lib/test/unit/function_spec.js +16 -4
  94. package/lib/test/unit/jasmine-boot.js +29 -16
  95. package/lib/test/unit/message_handler_spec.js +19 -6
  96. package/lib/test/unit/metadata_spec.js +64 -11
  97. package/lib/test/unit/murmurhash3_spec.js +2 -2
  98. package/lib/test/unit/network_spec.js +19 -4
  99. package/lib/test/unit/network_utils_spec.js +6 -4
  100. package/lib/test/unit/node_stream_spec.js +50 -26
  101. package/lib/test/unit/parser_spec.js +13 -29
  102. package/lib/test/unit/pdf_find_controller_spec.js +144 -32
  103. package/lib/test/unit/pdf_find_utils_spec.js +10 -9
  104. package/lib/test/unit/pdf_history_spec.js +20 -8
  105. package/lib/test/unit/primitives_spec.js +23 -3
  106. package/lib/test/unit/stream_spec.js +8 -3
  107. package/lib/test/unit/test_utils.js +89 -26
  108. package/lib/test/unit/testreporter.js +19 -1
  109. package/lib/test/unit/type1_parser_spec.js +7 -5
  110. package/lib/test/unit/ui_utils_spec.js +162 -38
  111. package/lib/test/unit/unicode_spec.js +13 -10
  112. package/lib/test/unit/util_spec.js +89 -9
  113. package/lib/web/annotation_layer_builder.js +38 -21
  114. package/lib/web/app.js +610 -245
  115. package/lib/web/app_options.js +54 -34
  116. package/lib/web/base_viewer.js +359 -162
  117. package/lib/web/chromecom.js +159 -80
  118. package/lib/web/debugger.js +161 -17
  119. package/lib/web/download_manager.js +29 -11
  120. package/lib/web/firefox_print_service.js +16 -8
  121. package/lib/web/firefoxcom.js +127 -91
  122. package/lib/web/genericcom.js +50 -31
  123. package/lib/web/genericl10n.js +46 -34
  124. package/lib/web/grab_to_pan.js +25 -3
  125. package/lib/web/interfaces.js +108 -61
  126. package/lib/web/overlay_manager.js +67 -45
  127. package/lib/web/password_prompt.js +20 -12
  128. package/lib/web/pdf_attachment_viewer.js +37 -17
  129. package/lib/web/pdf_cursor_tools.js +38 -15
  130. package/lib/web/pdf_document_properties.js +65 -24
  131. package/lib/web/pdf_find_bar.js +48 -20
  132. package/lib/web/pdf_find_controller.js +290 -89
  133. package/lib/web/pdf_find_utils.js +19 -3
  134. package/lib/web/pdf_history.js +186 -49
  135. package/lib/web/pdf_link_service.js +127 -52
  136. package/lib/web/pdf_outline_viewer.js +71 -21
  137. package/lib/web/pdf_page_view.js +188 -63
  138. package/lib/web/pdf_presentation_mode.js +98 -33
  139. package/lib/web/pdf_print_service.js +54 -10
  140. package/lib/web/pdf_rendering_queue.js +26 -4
  141. package/lib/web/pdf_sidebar.js +116 -62
  142. package/lib/web/pdf_sidebar_resizer.js +41 -15
  143. package/lib/web/pdf_single_page_viewer.js +65 -68
  144. package/lib/web/pdf_thumbnail_view.js +102 -31
  145. package/lib/web/pdf_thumbnail_viewer.js +62 -22
  146. package/lib/web/pdf_viewer.component.js +111 -31
  147. package/lib/web/pdf_viewer.js +80 -60
  148. package/lib/web/preferences.js +61 -39
  149. package/lib/web/secondary_toolbar.js +101 -82
  150. package/lib/web/text_layer_builder.js +124 -69
  151. package/lib/web/toolbar.js +67 -27
  152. package/lib/web/ui_utils.js +284 -128
  153. package/lib/web/view_history.js +75 -51
  154. package/lib/web/viewer_compatibility.js +2 -1
  155. package/package.json +1 -1
  156. package/web/pdf_viewer.css +1 -1
  157. package/web/pdf_viewer.js +2200 -973
  158. package/web/pdf_viewer.js.map +1 -1
  159. package/lib/web/dom_events.js +0 -140
@@ -19,24 +19,28 @@
19
19
  * @licend The above is the entire license notice for the
20
20
  * Javascript code in this page
21
21
  */
22
- 'use strict';
22
+ "use strict";
23
23
 
24
24
  Object.defineProperty(exports, "__esModule", {
25
25
  value: true
26
26
  });
27
- exports.Toolbar = undefined;
27
+ exports.Toolbar = void 0;
28
28
 
29
- var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
30
-
31
- var _ui_utils = require('./ui_utils');
29
+ var _ui_utils = require("./ui_utils");
32
30
 
33
31
  function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
34
32
 
33
+ 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); } }
34
+
35
+ function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
36
+
35
37
  var PAGE_NUMBER_LOADING_INDICATOR = 'visiblePageIsLoading';
36
38
  var SCALE_SELECT_CONTAINER_PADDING = 8;
37
39
  var SCALE_SELECT_PADDING = 22;
38
40
 
39
- var Toolbar = function () {
41
+ var Toolbar =
42
+ /*#__PURE__*/
43
+ function () {
40
44
  function Toolbar(options, eventBus) {
41
45
  var l10n = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : _ui_utils.NullL10n;
42
46
 
@@ -48,32 +52,36 @@ var Toolbar = function () {
48
52
  this.items = options;
49
53
  this._wasLocalized = false;
50
54
  this.reset();
55
+
51
56
  this._bindListeners();
52
57
  }
53
58
 
54
59
  _createClass(Toolbar, [{
55
- key: 'setPageNumber',
60
+ key: "setPageNumber",
56
61
  value: function setPageNumber(pageNumber, pageLabel) {
57
62
  this.pageNumber = pageNumber;
58
63
  this.pageLabel = pageLabel;
64
+
59
65
  this._updateUIState(false);
60
66
  }
61
67
  }, {
62
- key: 'setPagesCount',
68
+ key: "setPagesCount",
63
69
  value: function setPagesCount(pagesCount, hasPageLabels) {
64
70
  this.pagesCount = pagesCount;
65
71
  this.hasPageLabels = hasPageLabels;
72
+
66
73
  this._updateUIState(true);
67
74
  }
68
75
  }, {
69
- key: 'setPageScale',
76
+ key: "setPageScale",
70
77
  value: function setPageScale(pageScaleValue, pageScale) {
71
78
  this.pageScaleValue = (pageScaleValue || pageScale).toString();
72
79
  this.pageScale = pageScale;
80
+
73
81
  this._updateUIState(false);
74
82
  }
75
83
  }, {
76
- key: 'reset',
84
+ key: "reset",
77
85
  value: function reset() {
78
86
  this.pageNumber = 0;
79
87
  this.pageLabel = null;
@@ -81,28 +89,36 @@ var Toolbar = function () {
81
89
  this.pagesCount = 0;
82
90
  this.pageScaleValue = _ui_utils.DEFAULT_SCALE_VALUE;
83
91
  this.pageScale = _ui_utils.DEFAULT_SCALE;
92
+
84
93
  this._updateUIState(true);
85
94
  }
86
95
  }, {
87
- key: '_bindListeners',
96
+ key: "_bindListeners",
88
97
  value: function _bindListeners() {
89
98
  var _this = this;
90
99
 
91
100
  var eventBus = this.eventBus,
92
101
  items = this.items;
93
-
94
102
  var self = this;
95
103
  items.previous.addEventListener('click', function () {
96
- eventBus.dispatch('previouspage', { source: self });
104
+ eventBus.dispatch('previouspage', {
105
+ source: self
106
+ });
97
107
  });
98
108
  items.next.addEventListener('click', function () {
99
- eventBus.dispatch('nextpage', { source: self });
109
+ eventBus.dispatch('nextpage', {
110
+ source: self
111
+ });
100
112
  });
101
113
  items.zoomIn.addEventListener('click', function () {
102
- eventBus.dispatch('zoomin', { source: self });
114
+ eventBus.dispatch('zoomin', {
115
+ source: self
116
+ });
103
117
  });
104
118
  items.zoomOut.addEventListener('click', function () {
105
- eventBus.dispatch('zoomout', { source: self });
119
+ eventBus.dispatch('zoomout', {
120
+ source: self
121
+ });
106
122
  });
107
123
  items.pageNumber.addEventListener('click', function () {
108
124
  this.select();
@@ -117,22 +133,31 @@ var Toolbar = function () {
117
133
  if (this.value === 'custom') {
118
134
  return;
119
135
  }
136
+
120
137
  eventBus.dispatch('scalechanged', {
121
138
  source: self,
122
139
  value: this.value
123
140
  });
124
141
  });
125
142
  items.presentationModeButton.addEventListener('click', function () {
126
- eventBus.dispatch('presentationmode', { source: self });
143
+ eventBus.dispatch('presentationmode', {
144
+ source: self
145
+ });
127
146
  });
128
147
  items.openFile.addEventListener('click', function () {
129
- eventBus.dispatch('openfile', { source: self });
148
+ eventBus.dispatch('openfile', {
149
+ source: self
150
+ });
130
151
  });
131
152
  items.print.addEventListener('click', function () {
132
- eventBus.dispatch('print', { source: self });
153
+ eventBus.dispatch('print', {
154
+ source: self
155
+ });
133
156
  });
134
157
  items.download.addEventListener('click', function () {
135
- eventBus.dispatch('download', { source: self });
158
+ eventBus.dispatch('download', {
159
+ source: self
160
+ });
136
161
  });
137
162
  items.scaleSelect.oncontextmenu = _ui_utils.noContextMenuHandler;
138
163
  eventBus.on('localized', function () {
@@ -140,20 +165,23 @@ var Toolbar = function () {
140
165
  });
141
166
  }
142
167
  }, {
143
- key: '_localized',
168
+ key: "_localized",
144
169
  value: function _localized() {
145
170
  this._wasLocalized = true;
171
+
146
172
  this._adjustScaleWidth();
173
+
147
174
  this._updateUIState(true);
148
175
  }
149
176
  }, {
150
- key: '_updateUIState',
177
+ key: "_updateUIState",
151
178
  value: function _updateUIState() {
152
179
  var resetNumPages = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
153
180
 
154
181
  if (!this._wasLocalized) {
155
182
  return;
156
183
  }
184
+
157
185
  var pageNumber = this.pageNumber,
158
186
  pagesCount = this.pagesCount,
159
187
  pageScaleValue = this.pageScaleValue,
@@ -165,12 +193,16 @@ var Toolbar = function () {
165
193
  items.pageNumber.type = 'text';
166
194
  } else {
167
195
  items.pageNumber.type = 'number';
168
- this.l10n.get('of_pages', { pagesCount: pagesCount }, 'of {{pagesCount}}').then(function (msg) {
196
+ this.l10n.get('of_pages', {
197
+ pagesCount: pagesCount
198
+ }, 'of {{pagesCount}}').then(function (msg) {
169
199
  items.numPages.textContent = msg;
170
200
  });
171
201
  }
202
+
172
203
  items.pageNumber.max = pagesCount;
173
204
  }
205
+
174
206
  if (this.hasPageLabels) {
175
207
  items.pageNumber.value = this.pageLabel;
176
208
  this.l10n.get('page_of_pages', {
@@ -182,23 +214,30 @@ var Toolbar = function () {
182
214
  } else {
183
215
  items.pageNumber.value = pageNumber;
184
216
  }
217
+
185
218
  items.previous.disabled = pageNumber <= 1;
186
219
  items.next.disabled = pageNumber >= pagesCount;
187
220
  items.zoomOut.disabled = pageScale <= _ui_utils.MIN_SCALE;
188
221
  items.zoomIn.disabled = pageScale >= _ui_utils.MAX_SCALE;
189
222
  var customScale = Math.round(pageScale * 10000) / 100;
190
- this.l10n.get('page_scale_percent', { scale: customScale }, '{{scale}}%').then(function (msg) {
223
+ this.l10n.get('page_scale_percent', {
224
+ scale: customScale
225
+ }, '{{scale}}%').then(function (msg) {
191
226
  var options = items.scaleSelect.options;
192
227
  var predefinedValueFound = false;
228
+
193
229
  for (var i = 0, ii = options.length; i < ii; i++) {
194
230
  var option = options[i];
231
+
195
232
  if (option.value !== pageScaleValue) {
196
233
  option.selected = false;
197
234
  continue;
198
235
  }
236
+
199
237
  option.selected = true;
200
238
  predefinedValueFound = true;
201
239
  }
240
+
202
241
  if (!predefinedValueFound) {
203
242
  items.customScaleOption.textContent = msg;
204
243
  items.customScaleOption.selected = true;
@@ -206,22 +245,23 @@ var Toolbar = function () {
206
245
  });
207
246
  }
208
247
  }, {
209
- key: 'updateLoadingIndicatorState',
248
+ key: "updateLoadingIndicatorState",
210
249
  value: function updateLoadingIndicatorState() {
211
250
  var loading = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
212
-
213
251
  var pageNumberInput = this.items.pageNumber;
214
252
  pageNumberInput.classList.toggle(PAGE_NUMBER_LOADING_INDICATOR, loading);
215
253
  }
216
254
  }, {
217
- key: '_adjustScaleWidth',
255
+ key: "_adjustScaleWidth",
218
256
  value: function _adjustScaleWidth() {
219
257
  var container = this.items.scaleSelectContainer;
220
258
  var select = this.items.scaleSelect;
259
+
221
260
  _ui_utils.animationStarted.then(function () {
222
261
  if (container.clientWidth === 0) {
223
262
  container.setAttribute('style', 'display: inherit;');
224
263
  }
264
+
225
265
  if (container.clientWidth > 0) {
226
266
  select.setAttribute('style', 'min-width: inherit;');
227
267
  var width = select.clientWidth + SCALE_SELECT_CONTAINER_PADDING;