pdfjs-dist 2.0.489 → 2.2.228

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 (169) hide show
  1. package/CODE_OF_CONDUCT.md +15 -0
  2. package/bower.json +1 -1
  3. package/build/pdf.js +18515 -11402
  4. package/build/pdf.js.map +1 -1
  5. package/build/pdf.min.js +1 -1
  6. package/build/pdf.worker.js +48266 -37137
  7. package/build/pdf.worker.js.map +1 -1
  8. package/build/pdf.worker.min.js +1 -1
  9. package/external/url/url-lib.js +627 -0
  10. package/image_decoders/pdf.image_decoders.js +11350 -0
  11. package/image_decoders/pdf.image_decoders.js.map +1 -0
  12. package/image_decoders/pdf.image_decoders.min.js +1 -0
  13. package/lib/core/annotation.js +587 -242
  14. package/lib/core/arithmetic_decoder.js +275 -245
  15. package/lib/core/bidi.js +65 -6
  16. package/lib/core/ccitt.js +173 -18
  17. package/lib/core/ccitt_stream.js +15 -6
  18. package/lib/core/cff_parser.js +433 -61
  19. package/lib/core/charsets.js +5 -4
  20. package/lib/core/chunked_stream.js +400 -152
  21. package/lib/core/cmap.js +326 -87
  22. package/lib/core/colorspace.js +874 -594
  23. package/lib/core/core_utils.js +147 -0
  24. package/lib/core/crypto.js +290 -45
  25. package/lib/core/document.js +560 -268
  26. package/lib/core/encodings.js +19 -10
  27. package/lib/core/evaluator.js +1005 -360
  28. package/lib/core/font_renderer.js +331 -97
  29. package/lib/core/fonts.js +812 -195
  30. package/lib/core/function.js +284 -71
  31. package/lib/core/glyphlist.js +4 -3
  32. package/lib/core/image.js +169 -62
  33. package/lib/core/image_utils.js +111 -0
  34. package/lib/core/jbig2.js +479 -66
  35. package/lib/core/jbig2_stream.js +19 -8
  36. package/lib/core/jpeg_stream.js +38 -13
  37. package/lib/core/jpg.js +253 -29
  38. package/lib/core/jpx.js +396 -6
  39. package/lib/core/jpx_stream.js +18 -6
  40. package/lib/core/metrics.js +15 -15
  41. package/lib/core/murmurhash3.js +56 -34
  42. package/lib/core/obj.js +1354 -488
  43. package/lib/core/operator_list.js +144 -31
  44. package/lib/core/parser.js +539 -191
  45. package/lib/core/pattern.js +148 -14
  46. package/lib/core/pdf_manager.js +323 -133
  47. package/lib/core/primitives.js +111 -24
  48. package/lib/core/ps_parser.js +134 -45
  49. package/lib/core/standard_fonts.js +17 -17
  50. package/lib/core/stream.js +313 -34
  51. package/lib/core/type1_parser.js +143 -13
  52. package/lib/core/unicode.js +32 -5
  53. package/lib/core/worker.js +217 -190
  54. package/lib/core/worker_stream.js +277 -0
  55. package/lib/display/annotation_layer.js +450 -133
  56. package/lib/display/api.js +1597 -784
  57. package/lib/display/api_compatibility.js +11 -13
  58. package/lib/display/canvas.js +360 -44
  59. package/lib/display/content_disposition.js +83 -32
  60. package/lib/display/display_utils.js +747 -0
  61. package/lib/display/fetch_stream.js +221 -90
  62. package/lib/display/font_loader.js +468 -236
  63. package/lib/display/metadata.js +38 -16
  64. package/lib/display/network.js +635 -428
  65. package/lib/display/network_utils.js +32 -19
  66. package/lib/display/node_stream.js +367 -175
  67. package/lib/display/pattern_helper.js +81 -31
  68. package/lib/display/svg.js +1235 -519
  69. package/lib/display/text_layer.js +153 -29
  70. package/lib/display/transport_stream.js +345 -94
  71. package/lib/display/webgl.js +64 -18
  72. package/lib/display/worker_options.js +5 -4
  73. package/lib/display/xml_parser.js +166 -53
  74. package/lib/examples/node/domstubs.js +60 -4
  75. package/lib/pdf.js +36 -14
  76. package/lib/pdf.worker.js +5 -3
  77. package/lib/shared/compatibility.js +158 -564
  78. package/lib/shared/global_scope.js +2 -2
  79. package/lib/shared/is_node.js +4 -4
  80. package/lib/shared/message_handler.js +521 -0
  81. package/lib/shared/streams_polyfill.js +21 -17
  82. package/lib/shared/url_polyfill.js +56 -0
  83. package/lib/shared/util.js +243 -710
  84. package/lib/test/unit/annotation_spec.js +870 -401
  85. package/lib/test/unit/api_spec.js +657 -345
  86. package/lib/test/unit/bidi_spec.js +7 -7
  87. package/lib/test/unit/cff_parser_spec.js +54 -11
  88. package/lib/test/unit/clitests_helper.js +10 -8
  89. package/lib/test/unit/cmap_spec.js +95 -41
  90. package/lib/test/unit/colorspace_spec.js +115 -63
  91. package/lib/test/unit/core_utils_spec.js +191 -0
  92. package/lib/test/unit/crypto_spec.js +17 -5
  93. package/lib/test/unit/custom_spec.js +43 -55
  94. package/lib/test/unit/display_svg_spec.js +34 -18
  95. package/lib/test/unit/display_utils_spec.js +273 -0
  96. package/lib/test/unit/document_spec.js +8 -13
  97. package/lib/test/unit/encodings_spec.js +25 -45
  98. package/lib/test/unit/evaluator_spec.js +38 -15
  99. package/lib/test/unit/fetch_stream_spec.js +109 -0
  100. package/lib/test/unit/function_spec.js +17 -5
  101. package/lib/test/unit/jasmine-boot.js +33 -20
  102. package/lib/test/unit/{util_stream_spec.js → message_handler_spec.js} +41 -69
  103. package/lib/test/unit/metadata_spec.js +71 -11
  104. package/lib/test/unit/murmurhash3_spec.js +3 -3
  105. package/lib/test/unit/network_spec.js +19 -54
  106. package/lib/test/unit/network_utils_spec.js +91 -14
  107. package/lib/test/unit/node_stream_spec.js +56 -32
  108. package/lib/test/unit/parser_spec.js +162 -71
  109. package/lib/test/unit/pdf_find_controller_spec.js +230 -0
  110. package/lib/test/unit/pdf_find_utils_spec.js +63 -0
  111. package/lib/test/unit/pdf_history_spec.js +21 -9
  112. package/lib/test/unit/primitives_spec.js +53 -20
  113. package/lib/test/unit/stream_spec.js +12 -4
  114. package/lib/test/unit/test_utils.js +273 -56
  115. package/lib/test/unit/testreporter.js +21 -3
  116. package/lib/test/unit/type1_parser_spec.js +8 -6
  117. package/lib/test/unit/ui_utils_spec.js +454 -16
  118. package/lib/test/unit/unicode_spec.js +18 -15
  119. package/lib/test/unit/util_spec.js +87 -128
  120. package/lib/web/annotation_layer_builder.js +39 -22
  121. package/lib/web/app.js +1290 -588
  122. package/lib/web/app_options.js +100 -62
  123. package/lib/web/base_viewer.js +511 -182
  124. package/lib/web/chromecom.js +261 -117
  125. package/lib/web/debugger.js +166 -22
  126. package/lib/web/download_manager.js +32 -13
  127. package/lib/web/firefox_print_service.js +20 -10
  128. package/lib/web/firefoxcom.js +315 -80
  129. package/lib/web/genericcom.js +89 -30
  130. package/lib/web/genericl10n.js +142 -30
  131. package/lib/web/grab_to_pan.js +28 -4
  132. package/lib/web/interfaces.js +170 -47
  133. package/lib/web/overlay_manager.js +235 -85
  134. package/lib/web/password_prompt.js +22 -14
  135. package/lib/web/pdf_attachment_viewer.js +38 -18
  136. package/lib/web/pdf_cursor_tools.js +39 -16
  137. package/lib/web/pdf_document_properties.js +255 -136
  138. package/lib/web/pdf_find_bar.js +84 -40
  139. package/lib/web/pdf_find_controller.js +495 -184
  140. package/lib/web/pdf_find_utils.js +111 -0
  141. package/lib/web/pdf_history.js +190 -53
  142. package/lib/web/pdf_link_service.js +138 -77
  143. package/lib/web/pdf_outline_viewer.js +122 -46
  144. package/lib/web/pdf_page_view.js +191 -67
  145. package/lib/web/pdf_presentation_mode.js +99 -34
  146. package/lib/web/pdf_print_service.js +61 -13
  147. package/lib/web/pdf_rendering_queue.js +28 -9
  148. package/lib/web/pdf_sidebar.js +141 -81
  149. package/lib/web/pdf_sidebar_resizer.js +42 -16
  150. package/lib/web/pdf_single_page_viewer.js +74 -66
  151. package/lib/web/pdf_thumbnail_view.js +104 -33
  152. package/lib/web/pdf_thumbnail_viewer.js +66 -26
  153. package/lib/web/pdf_viewer.component.js +112 -32
  154. package/lib/web/pdf_viewer.js +91 -52
  155. package/lib/web/preferences.js +284 -89
  156. package/lib/web/secondary_toolbar.js +165 -40
  157. package/lib/web/text_layer_builder.js +134 -59
  158. package/lib/web/toolbar.js +78 -43
  159. package/lib/web/ui_utils.js +462 -136
  160. package/lib/web/view_history.js +215 -67
  161. package/lib/web/viewer_compatibility.js +4 -13
  162. package/package.json +5 -4
  163. package/web/pdf_viewer.css +79 -11
  164. package/web/pdf_viewer.js +6107 -3748
  165. package/web/pdf_viewer.js.map +1 -1
  166. package/lib/display/dom_utils.js +0 -309
  167. package/lib/test/unit/dom_utils_spec.js +0 -89
  168. package/lib/test/unit/fonts_spec.js +0 -81
  169. 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,23 +145,24 @@ 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,
153
- kind: OptionKind.API
164
+ value: false,
165
+ kind: OptionKind.API + OptionKind.PREFERENCE
154
166
  },
155
167
  isEvalSupported: {
156
168
  value: true,
@@ -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;