pdfjs-dist 2.0.550 → 2.3.200

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 (168) hide show
  1. package/CODE_OF_CONDUCT.md +15 -0
  2. package/bower.json +1 -1
  3. package/build/pdf.js +21618 -14369
  4. package/build/pdf.js.map +1 -1
  5. package/build/pdf.min.js +1 -1
  6. package/build/pdf.worker.js +22758 -11399
  7. package/build/pdf.worker.js.map +1 -1
  8. package/build/pdf.worker.min.js +1 -1
  9. package/image_decoders/pdf.image_decoders.js +11500 -0
  10. package/image_decoders/pdf.image_decoders.js.map +1 -0
  11. package/image_decoders/pdf.image_decoders.min.js +1 -0
  12. package/lib/core/annotation.js +767 -258
  13. package/lib/core/arithmetic_decoder.js +275 -245
  14. package/lib/core/bidi.js +65 -6
  15. package/lib/core/ccitt.js +173 -18
  16. package/lib/core/ccitt_stream.js +15 -6
  17. package/lib/core/cff_parser.js +433 -61
  18. package/lib/core/charsets.js +5 -4
  19. package/lib/core/chunked_stream.js +428 -157
  20. package/lib/core/cmap.js +326 -87
  21. package/lib/core/colorspace.js +874 -594
  22. package/lib/core/core_utils.js +173 -0
  23. package/lib/core/crypto.js +290 -45
  24. package/lib/core/document.js +575 -272
  25. package/lib/core/encodings.js +19 -10
  26. package/lib/core/evaluator.js +1032 -351
  27. package/lib/core/font_renderer.js +331 -97
  28. package/lib/core/fonts.js +813 -196
  29. package/lib/core/function.js +253 -27
  30. package/lib/core/glyphlist.js +5 -3
  31. package/lib/core/image.js +169 -62
  32. package/lib/core/image_utils.js +111 -0
  33. package/lib/core/jbig2.js +502 -72
  34. package/lib/core/jbig2_stream.js +19 -8
  35. package/lib/core/jpeg_stream.js +38 -13
  36. package/lib/core/jpg.js +293 -52
  37. package/lib/core/jpx.js +419 -12
  38. package/lib/core/jpx_stream.js +18 -6
  39. package/lib/core/metrics.js +15 -15
  40. package/lib/core/murmurhash3.js +56 -34
  41. package/lib/core/obj.js +1368 -500
  42. package/lib/core/operator_list.js +159 -43
  43. package/lib/core/parser.js +544 -199
  44. package/lib/core/pattern.js +170 -21
  45. package/lib/core/pdf_manager.js +324 -134
  46. package/lib/core/primitives.js +169 -61
  47. package/lib/core/ps_parser.js +134 -45
  48. package/lib/core/standard_fonts.js +17 -17
  49. package/lib/core/stream.js +327 -34
  50. package/lib/core/type1_parser.js +148 -8
  51. package/lib/core/unicode.js +32 -5
  52. package/lib/core/worker.js +215 -229
  53. package/lib/core/worker_stream.js +277 -0
  54. package/lib/display/annotation_layer.js +618 -192
  55. package/lib/display/api.js +1798 -882
  56. package/lib/display/api_compatibility.js +5 -10
  57. package/lib/display/canvas.js +366 -45
  58. package/lib/display/content_disposition.js +71 -24
  59. package/lib/display/display_utils.js +777 -0
  60. package/lib/display/fetch_stream.js +205 -87
  61. package/lib/display/font_loader.js +468 -236
  62. package/lib/display/metadata.js +38 -16
  63. package/lib/display/network.js +635 -428
  64. package/lib/display/network_utils.js +38 -19
  65. package/lib/display/node_stream.js +367 -175
  66. package/lib/display/pattern_helper.js +103 -36
  67. package/lib/display/svg.js +1232 -519
  68. package/lib/display/text_layer.js +208 -75
  69. package/lib/display/transport_stream.js +345 -94
  70. package/lib/display/webgl.js +64 -18
  71. package/lib/display/worker_options.js +5 -4
  72. package/lib/display/xml_parser.js +166 -53
  73. package/lib/examples/node/domstubs.js +60 -4
  74. package/lib/pdf.js +35 -14
  75. package/lib/pdf.worker.js +5 -3
  76. package/lib/shared/compatibility.js +170 -572
  77. package/lib/shared/global_scope.js +2 -2
  78. package/lib/shared/is_node.js +4 -4
  79. package/lib/shared/message_handler.js +216 -163
  80. package/lib/shared/streams_polyfill.js +21 -17
  81. package/lib/shared/util.js +495 -385
  82. package/lib/test/unit/annotation_spec.js +1464 -401
  83. package/lib/test/unit/api_spec.js +718 -361
  84. package/lib/test/unit/bidi_spec.js +7 -7
  85. package/lib/test/unit/cff_parser_spec.js +54 -11
  86. package/lib/test/unit/clitests_helper.js +9 -10
  87. package/lib/test/unit/cmap_spec.js +95 -41
  88. package/lib/test/unit/colorspace_spec.js +115 -63
  89. package/lib/test/unit/core_utils_spec.js +191 -0
  90. package/lib/test/unit/crypto_spec.js +17 -5
  91. package/lib/test/unit/custom_spec.js +43 -55
  92. package/lib/test/unit/display_svg_spec.js +34 -18
  93. package/lib/test/unit/display_utils_spec.js +273 -0
  94. package/lib/test/unit/document_spec.js +8 -13
  95. package/lib/test/unit/encodings_spec.js +25 -45
  96. package/lib/test/unit/evaluator_spec.js +59 -20
  97. package/lib/test/unit/fetch_stream_spec.js +111 -0
  98. package/lib/test/unit/function_spec.js +17 -5
  99. package/lib/test/unit/jasmine-boot.js +33 -20
  100. package/lib/test/unit/message_handler_spec.js +30 -13
  101. package/lib/test/unit/metadata_spec.js +71 -11
  102. package/lib/test/unit/murmurhash3_spec.js +3 -3
  103. package/lib/test/unit/network_spec.js +22 -55
  104. package/lib/test/unit/network_utils_spec.js +105 -14
  105. package/lib/test/unit/node_stream_spec.js +58 -34
  106. package/lib/test/unit/parser_spec.js +162 -71
  107. package/lib/test/unit/pdf_find_controller_spec.js +230 -0
  108. package/lib/test/unit/pdf_find_utils_spec.js +63 -0
  109. package/lib/test/unit/pdf_history_spec.js +21 -9
  110. package/lib/test/unit/primitives_spec.js +55 -22
  111. package/lib/test/unit/stream_spec.js +12 -4
  112. package/lib/test/unit/test_utils.js +273 -56
  113. package/lib/test/unit/testreporter.js +21 -3
  114. package/lib/test/unit/type1_parser_spec.js +9 -7
  115. package/lib/test/unit/ui_utils_spec.js +236 -36
  116. package/lib/test/unit/unicode_spec.js +18 -15
  117. package/lib/test/unit/util_spec.js +87 -128
  118. package/lib/web/annotation_layer_builder.js +39 -22
  119. package/lib/web/app.js +1252 -609
  120. package/lib/web/app_options.js +103 -65
  121. package/lib/web/base_viewer.js +522 -242
  122. package/lib/web/chromecom.js +259 -117
  123. package/lib/web/debugger.js +166 -22
  124. package/lib/web/download_manager.js +31 -12
  125. package/lib/web/firefox_print_service.js +27 -14
  126. package/lib/web/firefoxcom.js +318 -78
  127. package/lib/web/genericcom.js +89 -30
  128. package/lib/web/genericl10n.js +142 -30
  129. package/lib/web/grab_to_pan.js +28 -4
  130. package/lib/web/interfaces.js +174 -47
  131. package/lib/web/overlay_manager.js +235 -85
  132. package/lib/web/password_prompt.js +22 -14
  133. package/lib/web/pdf_attachment_viewer.js +38 -18
  134. package/lib/web/pdf_cursor_tools.js +39 -16
  135. package/lib/web/pdf_document_properties.js +255 -136
  136. package/lib/web/pdf_find_bar.js +84 -40
  137. package/lib/web/pdf_find_controller.js +495 -184
  138. package/lib/web/pdf_find_utils.js +111 -0
  139. package/lib/web/pdf_history.js +190 -53
  140. package/lib/web/pdf_link_service.js +144 -79
  141. package/lib/web/pdf_outline_viewer.js +124 -47
  142. package/lib/web/pdf_page_view.js +194 -74
  143. package/lib/web/pdf_presentation_mode.js +99 -34
  144. package/lib/web/pdf_print_service.js +59 -13
  145. package/lib/web/pdf_rendering_queue.js +28 -9
  146. package/lib/web/pdf_sidebar.js +144 -81
  147. package/lib/web/pdf_sidebar_resizer.js +42 -16
  148. package/lib/web/pdf_single_page_viewer.js +74 -66
  149. package/lib/web/pdf_thumbnail_view.js +104 -33
  150. package/lib/web/pdf_thumbnail_viewer.js +66 -26
  151. package/lib/web/pdf_viewer.component.js +112 -32
  152. package/lib/web/pdf_viewer.js +82 -87
  153. package/lib/web/preferences.js +284 -91
  154. package/lib/web/secondary_toolbar.js +132 -59
  155. package/lib/web/text_layer_builder.js +134 -59
  156. package/lib/web/toolbar.js +80 -43
  157. package/lib/web/ui_utils.js +400 -134
  158. package/lib/web/view_history.js +215 -67
  159. package/lib/web/viewer_compatibility.js +3 -8
  160. package/package.json +3 -2
  161. package/web/pdf_viewer.css +23 -15
  162. package/web/pdf_viewer.js +3429 -1245
  163. package/web/pdf_viewer.js.map +1 -1
  164. package/external/streams/streams-lib.js +0 -3962
  165. package/lib/display/dom_utils.js +0 -429
  166. package/lib/test/unit/dom_utils_spec.js +0 -89
  167. package/lib/test/unit/fonts_spec.js +0 -81
  168. package/lib/web/dom_events.js +0 -137
@@ -2,7 +2,7 @@
2
2
  * @licstart The following is the entire license notice for the
3
3
  * Javascript code in this page
4
4
  *
5
- * Copyright 2017 Mozilla Foundation
5
+ * Copyright 2019 Mozilla Foundation
6
6
  *
7
7
  * Licensed under the Apache License, Version 2.0 (the "License");
8
8
  * you may not use this file except in compliance with the License.
@@ -19,30 +19,36 @@
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.OptionKind = exports.AppOptions = undefined;
27
+ exports.OptionKind = exports.AppOptions = 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; }; }();
29
+ var _pdf = require("../pdf");
30
30
 
31
- var _pdf = require('../pdf');
31
+ var _viewer_compatibility = require("./viewer_compatibility");
32
32
 
33
- var _viewer_compatibility = require('./viewer_compatibility');
33
+ function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
34
34
 
35
35
  function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
36
36
 
37
+ 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); } }
38
+
39
+ function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
40
+
37
41
  var OptionKind = {
38
- VIEWER: 'viewer',
39
- API: 'api',
40
- WORKER: 'worker'
42
+ VIEWER: 0x02,
43
+ API: 0x04,
44
+ WORKER: 0x08,
45
+ PREFERENCE: 0x80
41
46
  };
47
+ exports.OptionKind = OptionKind;
42
48
  var defaultOptions = {
43
49
  cursorToolOnLoad: {
44
50
  value: 0,
45
- kind: OptionKind.VIEWER
51
+ kind: OptionKind.VIEWER + OptionKind.PREFERENCE
46
52
  },
47
53
  defaultUrl: {
48
54
  value: 'compressed.tracemonkey-pldi-09.pdf',
@@ -50,11 +56,7 @@ var defaultOptions = {
50
56
  },
51
57
  defaultZoomValue: {
52
58
  value: '',
53
- kind: OptionKind.VIEWER
54
- },
55
- disableFullscreen: {
56
- value: _viewer_compatibility.viewerCompatibilityParams.disableFullscreen || false,
57
- kind: OptionKind.VIEWER
59
+ kind: OptionKind.VIEWER + OptionKind.PREFERENCE
58
60
  },
59
61
  disableHistory: {
60
62
  value: false,
@@ -62,19 +64,19 @@ var defaultOptions = {
62
64
  },
63
65
  disablePageLabels: {
64
66
  value: false,
65
- kind: OptionKind.VIEWER
66
- },
67
- disablePageMode: {
68
- value: false,
69
- kind: OptionKind.VIEWER
67
+ kind: OptionKind.VIEWER + OptionKind.PREFERENCE
70
68
  },
71
69
  enablePrintAutoRotate: {
72
70
  value: false,
73
- kind: OptionKind.VIEWER
71
+ kind: OptionKind.VIEWER + OptionKind.PREFERENCE
74
72
  },
75
73
  enableWebGL: {
76
74
  value: false,
77
- kind: OptionKind.VIEWER
75
+ kind: OptionKind.VIEWER + OptionKind.PREFERENCE
76
+ },
77
+ eventBusDispatchToDOM: {
78
+ value: false,
79
+ kind: OptionKind.VIEWER + OptionKind.PREFERENCE
78
80
  },
79
81
  externalLinkRel: {
80
82
  value: 'noopener noreferrer nofollow',
@@ -82,47 +84,56 @@ var defaultOptions = {
82
84
  },
83
85
  externalLinkTarget: {
84
86
  value: 0,
85
- kind: OptionKind.VIEWER
87
+ kind: OptionKind.VIEWER + OptionKind.PREFERENCE
88
+ },
89
+ historyUpdateUrl: {
90
+ value: false,
91
+ kind: OptionKind.VIEWER + OptionKind.PREFERENCE
86
92
  },
87
93
  imageResourcesPath: {
88
94
  value: './images/',
89
95
  kind: OptionKind.VIEWER
90
96
  },
91
- locale: {
92
- value: typeof navigator !== 'undefined' ? navigator.language : 'en-US',
93
- kind: OptionKind.VIEWER
94
- },
95
97
  maxCanvasPixels: {
96
- value: _viewer_compatibility.viewerCompatibilityParams.maxCanvasPixels || 16777216,
98
+ value: 16777216,
99
+ compatibility: _viewer_compatibility.viewerCompatibilityParams.maxCanvasPixels,
97
100
  kind: OptionKind.VIEWER
98
101
  },
99
102
  pdfBugEnabled: {
100
103
  value: false,
101
- kind: OptionKind.VIEWER
104
+ kind: OptionKind.VIEWER + OptionKind.PREFERENCE
102
105
  },
103
106
  renderer: {
104
107
  value: 'canvas',
105
- kind: OptionKind.VIEWER
108
+ kind: OptionKind.VIEWER + OptionKind.PREFERENCE
106
109
  },
107
110
  renderInteractiveForms: {
108
111
  value: false,
109
- kind: OptionKind.VIEWER
110
- },
111
- showPreviousViewOnLoad: {
112
- value: true,
113
- kind: OptionKind.VIEWER
112
+ kind: OptionKind.VIEWER + OptionKind.PREFERENCE
114
113
  },
115
114
  sidebarViewOnLoad: {
116
- value: 0,
117
- kind: OptionKind.VIEWER
115
+ value: -1,
116
+ kind: OptionKind.VIEWER + OptionKind.PREFERENCE
117
+ },
118
+ scrollModeOnLoad: {
119
+ value: -1,
120
+ kind: OptionKind.VIEWER + OptionKind.PREFERENCE
121
+ },
122
+ spreadModeOnLoad: {
123
+ value: -1,
124
+ kind: OptionKind.VIEWER + OptionKind.PREFERENCE
118
125
  },
119
126
  textLayerMode: {
120
127
  value: 1,
121
- kind: OptionKind.VIEWER
128
+ kind: OptionKind.VIEWER + OptionKind.PREFERENCE
122
129
  },
123
130
  useOnlyCssZoom: {
124
131
  value: false,
125
- kind: OptionKind.VIEWER
132
+ kind: OptionKind.VIEWER + OptionKind.PREFERENCE
133
+ },
134
+ viewOnLoad: {
135
+ value: 0,
136
+ kind: OptionKind.VIEWER + OptionKind.PREFERENCE
126
137
  },
127
138
  cMapPacked: {
128
139
  value: true,
@@ -134,22 +145,27 @@ var defaultOptions = {
134
145
  },
135
146
  disableAutoFetch: {
136
147
  value: false,
137
- kind: OptionKind.API
148
+ kind: OptionKind.API + OptionKind.PREFERENCE
138
149
  },
139
150
  disableCreateObjectURL: {
140
- value: _pdf.apiCompatibilityParams.disableCreateObjectURL || false,
151
+ value: false,
152
+ compatibility: _pdf.apiCompatibilityParams.disableCreateObjectURL,
141
153
  kind: OptionKind.API
142
154
  },
143
155
  disableFontFace: {
144
156
  value: false,
145
- kind: OptionKind.API
157
+ kind: OptionKind.API + OptionKind.PREFERENCE
146
158
  },
147
159
  disableRange: {
148
- value: _pdf.apiCompatibilityParams.disableRange || false,
149
- kind: OptionKind.API
160
+ value: false,
161
+ kind: OptionKind.API + OptionKind.PREFERENCE
150
162
  },
151
163
  disableStream: {
152
- value: _pdf.apiCompatibilityParams.disableStream || false,
164
+ value: false,
165
+ kind: OptionKind.API + OptionKind.PREFERENCE
166
+ },
167
+ docBaseUrl: {
168
+ value: '',
153
169
  kind: OptionKind.API
154
170
  },
155
171
  isEvalSupported: {
@@ -164,10 +180,6 @@ var defaultOptions = {
164
180
  value: false,
165
181
  kind: OptionKind.API
166
182
  },
167
- postMessageTransfers: {
168
- value: true,
169
- kind: OptionKind.API
170
- },
171
183
  verbosity: {
172
184
  value: 1,
173
185
  kind: OptionKind.API
@@ -181,9 +193,12 @@ var defaultOptions = {
181
193
  kind: OptionKind.WORKER
182
194
  }
183
195
  };
196
+ ;
184
197
  var userOptions = Object.create(null);
185
198
 
186
- var AppOptions = function () {
199
+ var AppOptions =
200
+ /*#__PURE__*/
201
+ function () {
187
202
  function AppOptions() {
188
203
  _classCallCheck(this, AppOptions);
189
204
 
@@ -191,38 +206,62 @@ var AppOptions = function () {
191
206
  }
192
207
 
193
208
  _createClass(AppOptions, null, [{
194
- key: 'get',
209
+ key: "get",
195
210
  value: function get(name) {
196
- var defaultOption = defaultOptions[name],
197
- userOption = userOptions[name];
211
+ var userOption = userOptions[name];
212
+
198
213
  if (userOption !== undefined) {
199
214
  return userOption;
200
215
  }
201
- return defaultOption !== undefined ? defaultOption.value : undefined;
216
+
217
+ var defaultOption = defaultOptions[name];
218
+
219
+ if (defaultOption !== undefined) {
220
+ return defaultOption.compatibility || defaultOption.value;
221
+ }
222
+
223
+ return undefined;
202
224
  }
203
225
  }, {
204
- key: 'getAll',
226
+ key: "getAll",
205
227
  value: function getAll() {
206
228
  var kind = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;
207
-
208
229
  var options = Object.create(null);
230
+
209
231
  for (var name in defaultOptions) {
210
- var defaultOption = defaultOptions[name],
211
- userOption = userOptions[name];
212
- if (kind && defaultOption.kind !== kind) {
213
- continue;
232
+ var defaultOption = defaultOptions[name];
233
+
234
+ if (kind) {
235
+ if ((kind & defaultOption.kind) === 0) {
236
+ continue;
237
+ }
238
+
239
+ if (kind === OptionKind.PREFERENCE) {
240
+ var value = defaultOption.value,
241
+ valueType = _typeof(value);
242
+
243
+ if (valueType === 'boolean' || valueType === 'string' || valueType === 'number' && Number.isInteger(value)) {
244
+ options[name] = value;
245
+ continue;
246
+ }
247
+
248
+ throw new Error("Invalid type for preference: ".concat(name));
249
+ }
214
250
  }
215
- options[name] = userOption !== undefined ? userOption : defaultOption.value;
251
+
252
+ var userOption = userOptions[name];
253
+ options[name] = userOption !== undefined ? userOption : defaultOption.compatibility || defaultOption.value;
216
254
  }
255
+
217
256
  return options;
218
257
  }
219
258
  }, {
220
- key: 'set',
259
+ key: "set",
221
260
  value: function set(name, value) {
222
261
  userOptions[name] = value;
223
262
  }
224
263
  }, {
225
- key: 'remove',
264
+ key: "remove",
226
265
  value: function remove(name) {
227
266
  delete userOptions[name];
228
267
  }
@@ -231,5 +270,4 @@ var AppOptions = function () {
231
270
  return AppOptions;
232
271
  }();
233
272
 
234
- exports.AppOptions = AppOptions;
235
- exports.OptionKind = OptionKind;
273
+ exports.AppOptions = AppOptions;