pdfjs-dist 2.0.487 → 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 (161) hide show
  1. package/bower.json +1 -1
  2. package/build/pdf.js +15564 -9476
  3. package/build/pdf.js.map +1 -1
  4. package/build/pdf.min.js +1 -1
  5. package/build/pdf.worker.js +46644 -36309
  6. package/build/pdf.worker.js.map +1 -1
  7. package/build/pdf.worker.min.js +1 -1
  8. package/external/url/url-lib.js +627 -0
  9. package/image_decoders/pdf.image_decoders.js +11430 -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 +406 -131
  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 +376 -53
  18. package/lib/core/charsets.js +5 -4
  19. package/lib/core/chunked_stream.js +387 -149
  20. package/lib/core/cmap.js +310 -75
  21. package/lib/core/colorspace.js +874 -594
  22. package/lib/core/crypto.js +290 -45
  23. package/lib/core/document.js +545 -260
  24. package/lib/core/encodings.js +19 -10
  25. package/lib/core/evaluator.js +725 -147
  26. package/lib/core/font_renderer.js +360 -91
  27. package/lib/core/fonts.js +791 -186
  28. package/lib/core/function.js +284 -71
  29. package/lib/core/glyphlist.js +3 -2
  30. package/lib/core/image.js +168 -61
  31. package/lib/core/jbig2.js +479 -66
  32. package/lib/core/jbig2_stream.js +19 -8
  33. package/lib/core/jpeg_stream.js +38 -13
  34. package/lib/core/jpg.js +252 -29
  35. package/lib/core/jpx.js +396 -6
  36. package/lib/core/jpx_stream.js +18 -6
  37. package/lib/core/metrics.js +4 -4
  38. package/lib/core/murmurhash3.js +24 -6
  39. package/lib/core/obj.js +1137 -475
  40. package/lib/core/operator_list.js +108 -6
  41. package/lib/core/parser.js +321 -68
  42. package/lib/core/pattern.js +145 -13
  43. package/lib/core/pdf_manager.js +321 -133
  44. package/lib/core/primitives.js +75 -22
  45. package/lib/core/ps_parser.js +134 -45
  46. package/lib/core/standard_fonts.js +10 -10
  47. package/lib/core/stream.js +313 -34
  48. package/lib/core/type1_parser.js +143 -13
  49. package/lib/core/unicode.js +31 -4
  50. package/lib/core/worker.js +210 -66
  51. package/lib/display/annotation_layer.js +361 -123
  52. package/lib/display/api.js +1454 -729
  53. package/lib/display/api_compatibility.js +11 -13
  54. package/lib/display/canvas.js +324 -29
  55. package/lib/display/content_disposition.js +83 -32
  56. package/lib/display/dom_utils.js +226 -41
  57. package/lib/display/fetch_stream.js +208 -84
  58. package/lib/display/font_loader.js +465 -236
  59. package/lib/display/metadata.js +38 -16
  60. package/lib/display/network.js +216 -51
  61. package/lib/display/network_utils.js +32 -19
  62. package/lib/display/node_stream.js +352 -169
  63. package/lib/display/pattern_helper.js +58 -7
  64. package/lib/display/svg.js +242 -29
  65. package/lib/display/text_layer.js +132 -18
  66. package/lib/display/transport_stream.js +171 -42
  67. package/lib/display/webgl.js +64 -18
  68. package/lib/display/worker_options.js +5 -4
  69. package/lib/display/xml_parser.js +166 -53
  70. package/lib/examples/node/domstubs.js +57 -4
  71. package/lib/pdf.js +21 -4
  72. package/lib/pdf.worker.js +5 -3
  73. package/lib/shared/compatibility.js +158 -564
  74. package/lib/shared/global_scope.js +2 -2
  75. package/lib/shared/is_node.js +4 -4
  76. package/lib/shared/message_handler.js +521 -0
  77. package/lib/shared/streams_polyfill.js +21 -17
  78. package/lib/shared/url_polyfill.js +56 -0
  79. package/lib/shared/util.js +295 -650
  80. package/lib/test/unit/annotation_spec.js +629 -345
  81. package/lib/test/unit/api_spec.js +555 -253
  82. package/lib/test/unit/bidi_spec.js +7 -7
  83. package/lib/test/unit/cff_parser_spec.js +40 -11
  84. package/lib/test/unit/clitests_helper.js +9 -7
  85. package/lib/test/unit/cmap_spec.js +80 -26
  86. package/lib/test/unit/colorspace_spec.js +99 -52
  87. package/lib/test/unit/crypto_spec.js +17 -5
  88. package/lib/test/unit/custom_spec.js +41 -53
  89. package/lib/test/unit/display_svg_spec.js +33 -17
  90. package/lib/test/unit/document_spec.js +3 -3
  91. package/lib/test/unit/dom_utils_spec.js +9 -9
  92. package/lib/test/unit/encodings_spec.js +25 -45
  93. package/lib/test/unit/evaluator_spec.js +34 -9
  94. package/lib/test/unit/function_spec.js +17 -5
  95. package/lib/test/unit/jasmine-boot.js +31 -18
  96. package/lib/test/unit/{util_stream_spec.js → message_handler_spec.js} +41 -69
  97. package/lib/test/unit/metadata_spec.js +71 -11
  98. package/lib/test/unit/murmurhash3_spec.js +3 -3
  99. package/lib/test/unit/network_spec.js +20 -5
  100. package/lib/test/unit/network_utils_spec.js +41 -14
  101. package/lib/test/unit/node_stream_spec.js +51 -27
  102. package/lib/test/unit/parser_spec.js +35 -8
  103. package/lib/test/unit/pdf_find_controller_spec.js +230 -0
  104. package/lib/test/unit/pdf_find_utils_spec.js +63 -0
  105. package/lib/test/unit/pdf_history_spec.js +21 -9
  106. package/lib/test/unit/primitives_spec.js +24 -4
  107. package/lib/test/unit/stream_spec.js +12 -4
  108. package/lib/test/unit/test_utils.js +90 -27
  109. package/lib/test/unit/testreporter.js +21 -3
  110. package/lib/test/unit/type1_parser_spec.js +8 -6
  111. package/lib/test/unit/ui_utils_spec.js +452 -14
  112. package/lib/test/unit/unicode_spec.js +14 -11
  113. package/lib/test/unit/util_spec.js +131 -9
  114. package/lib/web/annotation_layer_builder.js +39 -22
  115. package/lib/web/app.js +1240 -582
  116. package/lib/web/app_options.js +71 -41
  117. package/lib/web/base_viewer.js +508 -179
  118. package/lib/web/chromecom.js +261 -117
  119. package/lib/web/debugger.js +166 -22
  120. package/lib/web/download_manager.js +31 -13
  121. package/lib/web/firefox_print_service.js +17 -9
  122. package/lib/web/firefoxcom.js +283 -79
  123. package/lib/web/genericcom.js +89 -30
  124. package/lib/web/genericl10n.js +142 -30
  125. package/lib/web/grab_to_pan.js +26 -4
  126. package/lib/web/interfaces.js +170 -47
  127. package/lib/web/overlay_manager.js +235 -85
  128. package/lib/web/password_prompt.js +21 -13
  129. package/lib/web/pdf_attachment_viewer.js +38 -18
  130. package/lib/web/pdf_cursor_tools.js +39 -16
  131. package/lib/web/pdf_document_properties.js +80 -30
  132. package/lib/web/pdf_find_bar.js +84 -40
  133. package/lib/web/pdf_find_controller.js +495 -184
  134. package/lib/web/pdf_find_utils.js +111 -0
  135. package/lib/web/pdf_history.js +190 -53
  136. package/lib/web/pdf_link_service.js +137 -76
  137. package/lib/web/pdf_outline_viewer.js +73 -22
  138. package/lib/web/pdf_page_view.js +196 -63
  139. package/lib/web/pdf_presentation_mode.js +99 -34
  140. package/lib/web/pdf_print_service.js +57 -11
  141. package/lib/web/pdf_rendering_queue.js +27 -5
  142. package/lib/web/pdf_sidebar.js +120 -67
  143. package/lib/web/pdf_sidebar_resizer.js +42 -16
  144. package/lib/web/pdf_single_page_viewer.js +74 -66
  145. package/lib/web/pdf_thumbnail_view.js +103 -32
  146. package/lib/web/pdf_thumbnail_viewer.js +64 -24
  147. package/lib/web/pdf_viewer.component.js +112 -32
  148. package/lib/web/pdf_viewer.js +91 -52
  149. package/lib/web/preferences.js +275 -80
  150. package/lib/web/secondary_toolbar.js +165 -40
  151. package/lib/web/text_layer_builder.js +162 -65
  152. package/lib/web/toolbar.js +78 -43
  153. package/lib/web/ui_utils.js +462 -136
  154. package/lib/web/view_history.js +215 -67
  155. package/lib/web/viewer_compatibility.js +4 -13
  156. package/package.json +5 -4
  157. package/web/pdf_viewer.css +58 -1
  158. package/web/pdf_viewer.js +6346 -3919
  159. package/web/pdf_viewer.js.map +1 -1
  160. package/lib/test/unit/fonts_spec.js +0 -81
  161. 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 2018 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,52 +19,66 @@
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
  function xmlEncode(s) {
25
25
  var i = 0,
26
26
  ch;
27
27
  s = String(s);
28
+
28
29
  while (i < s.length && (ch = s[i]) !== '&' && ch !== '<' && ch !== '\"' && ch !== '\n' && ch !== '\r' && ch !== '\t') {
29
30
  i++;
30
31
  }
32
+
31
33
  if (i >= s.length) {
32
34
  return s;
33
35
  }
36
+
34
37
  var buf = s.substring(0, i);
38
+
35
39
  while (i < s.length) {
36
40
  ch = s[i++];
41
+
37
42
  switch (ch) {
38
43
  case '&':
39
44
  buf += '&amp;';
40
45
  break;
46
+
41
47
  case '<':
42
48
  buf += '&lt;';
43
49
  break;
50
+
44
51
  case '\"':
45
52
  buf += '&quot;';
46
53
  break;
54
+
47
55
  case '\n':
48
56
  buf += '&#xA;';
49
57
  break;
58
+
50
59
  case '\r':
51
60
  buf += '&#xD;';
52
61
  break;
62
+
53
63
  case '\t':
54
64
  buf += '&#x9;';
55
65
  break;
66
+
56
67
  default:
57
68
  buf += ch;
58
69
  break;
59
70
  }
60
71
  }
72
+
61
73
  return buf;
62
74
  }
75
+
63
76
  function DOMElement(name) {
64
77
  this.nodeName = name;
65
78
  this.childNodes = [];
66
79
  this.attributes = {};
67
80
  this.textContent = '';
81
+
68
82
  if (name === 'style') {
69
83
  this.sheet = {
70
84
  cssRules: [],
@@ -74,25 +88,30 @@ function DOMElement(name) {
74
88
  };
75
89
  }
76
90
  }
91
+
77
92
  DOMElement.prototype = {
78
93
  getAttribute: function DOMElement_getAttribute(name) {
79
94
  if (name in this.attributes) {
80
95
  return this.attributes[name];
81
96
  }
97
+
82
98
  return null;
83
99
  },
84
100
  getAttributeNS: function DOMElement_getAttributeNS(NS, name) {
85
101
  if (name in this.attributes) {
86
102
  return this.attributes[name];
87
103
  }
104
+
88
105
  if (NS) {
89
106
  var suffix = ':' + name;
107
+
90
108
  for (var fullName in this.attributes) {
91
109
  if (fullName.slice(-suffix.length) === suffix) {
92
110
  return this.attributes[fullName];
93
111
  }
94
112
  }
95
113
  }
114
+
96
115
  return null;
97
116
  },
98
117
  setAttribute: function DOMElement_setAttribute(name, value) {
@@ -105,7 +124,8 @@ DOMElement.prototype = {
105
124
  },
106
125
  appendChild: function DOMElement_appendChild(element) {
107
126
  var childNodes = this.childNodes;
108
- if (childNodes.indexOf(element) === -1) {
127
+
128
+ if (!childNodes.includes(element)) {
109
129
  childNodes.push(element);
110
130
  }
111
131
  },
@@ -120,15 +140,18 @@ DOMElement.prototype = {
120
140
  var buf = [];
121
141
  var serializer = this.getSerializer();
122
142
  var chunk;
143
+
123
144
  while ((chunk = serializer.getNext()) !== null) {
124
145
  buf.push(chunk);
125
146
  }
147
+
126
148
  return buf.join('');
127
149
  },
128
150
  getSerializer: function DOMElement_getSerializer() {
129
151
  return new DOMElementSerializer(this);
130
152
  }
131
153
  };
154
+
132
155
  function DOMElementSerializer(node) {
133
156
  this._node = node;
134
157
  this._state = 0;
@@ -136,44 +159,58 @@ function DOMElementSerializer(node) {
136
159
  this._attributeKeys = null;
137
160
  this._childSerializer = null;
138
161
  }
162
+
139
163
  DOMElementSerializer.prototype = {
140
164
  getNext: function DOMElementSerializer_getNext() {
141
165
  var node = this._node;
166
+
142
167
  switch (this._state) {
143
168
  case 0:
144
169
  ++this._state;
145
170
  return '<' + node.nodeName;
171
+
146
172
  case 1:
147
173
  ++this._state;
174
+
148
175
  if (node.nodeName === 'svg:svg') {
149
176
  return ' xmlns:xlink="http://www.w3.org/1999/xlink"' + ' xmlns:svg="http://www.w3.org/2000/svg"';
150
177
  }
178
+
151
179
  case 2:
152
180
  ++this._state;
153
181
  this._loopIndex = 0;
154
182
  this._attributeKeys = Object.keys(node.attributes);
183
+
155
184
  case 3:
156
185
  if (this._loopIndex < this._attributeKeys.length) {
157
186
  var name = this._attributeKeys[this._loopIndex++];
158
187
  return ' ' + name + '="' + xmlEncode(node.attributes[name]) + '"';
159
188
  }
189
+
160
190
  ++this._state;
161
191
  return '>';
192
+
162
193
  case 4:
163
194
  if (node.nodeName === 'svg:tspan' || node.nodeName === 'svg:style') {
164
195
  this._state = 6;
165
196
  return xmlEncode(node.textContent);
166
197
  }
198
+
167
199
  ++this._state;
168
200
  this._loopIndex = 0;
201
+
169
202
  case 5:
170
203
  var value;
204
+
171
205
  while (true) {
172
206
  value = this._childSerializer && this._childSerializer.getNext();
207
+
173
208
  if (value !== null) {
174
209
  return value;
175
210
  }
211
+
176
212
  var nextChild = node.childNodes[this._loopIndex++];
213
+
177
214
  if (nextChild) {
178
215
  this._childSerializer = new DOMElementSerializer(nextChild);
179
216
  } else {
@@ -182,11 +219,14 @@ DOMElementSerializer.prototype = {
182
219
  break;
183
220
  }
184
221
  }
222
+
185
223
  case 6:
186
224
  ++this._state;
187
225
  return '</' + node.nodeName + '>';
226
+
188
227
  case 7:
189
228
  return null;
229
+
190
230
  default:
191
231
  throw new Error('Unexpected serialization state: ' + this._state);
192
232
  }
@@ -194,12 +234,17 @@ DOMElementSerializer.prototype = {
194
234
  };
195
235
  var document = {
196
236
  childNodes: [],
237
+
197
238
  get currentScript() {
198
- return { src: '' };
239
+ return {
240
+ src: ''
241
+ };
199
242
  },
243
+
200
244
  get documentElement() {
201
245
  return this;
202
246
  },
247
+
203
248
  createElementNS: function createElementNS(NS, element) {
204
249
  var elObject = new DOMElement(element);
205
250
  return elObject;
@@ -211,33 +256,41 @@ var document = {
211
256
  if (element === 'head') {
212
257
  return [this.head || (this.head = new DOMElement('head'))];
213
258
  }
259
+
214
260
  return [];
215
261
  }
216
262
  };
263
+
217
264
  function Image() {
218
265
  this._src = null;
219
266
  this.onload = null;
220
267
  }
268
+
221
269
  Image.prototype = {
222
270
  get src() {
223
271
  return this._src;
224
272
  },
273
+
225
274
  set src(value) {
226
275
  this._src = value;
276
+
227
277
  if (this.onload) {
228
278
  this.onload();
229
279
  }
230
280
  }
281
+
231
282
  };
232
283
  exports.document = document;
233
284
  exports.Image = Image;
234
285
  var exported_symbols = Object.keys(exports);
286
+
235
287
  exports.setStubs = function (namespace) {
236
288
  exported_symbols.forEach(function (key) {
237
289
  console.assert(!(key in namespace), 'property should not be set: ' + key);
238
290
  namespace[key] = exports[key];
239
291
  });
240
292
  };
293
+
241
294
  exports.unsetStubs = function (namespace) {
242
295
  exported_symbols.forEach(function (key) {
243
296
  console.assert(key in namespace, 'property should be set: ' + key);
package/lib/pdf.js CHANGED
@@ -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 2018 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.
@@ -21,30 +21,43 @@
21
21
  */
22
22
  'use strict';
23
23
 
24
- var pdfjsVersion = '2.0.487';
25
- var pdfjsBuild = '2275485c';
24
+ var pdfjsVersion = '2.1.266';
25
+ var pdfjsBuild = '81f5835c';
26
+
26
27
  var pdfjsSharedUtil = require('./shared/util.js');
28
+
27
29
  var pdfjsDisplayAPI = require('./display/api.js');
30
+
28
31
  var pdfjsDisplayTextLayer = require('./display/text_layer.js');
32
+
29
33
  var pdfjsDisplayAnnotationLayer = require('./display/annotation_layer.js');
34
+
30
35
  var pdfjsDisplayDOMUtils = require('./display/dom_utils.js');
36
+
31
37
  var pdfjsDisplaySVG = require('./display/svg.js');
38
+
32
39
  var pdfjsDisplayWorkerOptions = require('./display/worker_options.js');
40
+
33
41
  var pdfjsDisplayAPICompatibility = require('./display/api_compatibility.js');
42
+
34
43
  {
35
44
  var isNodeJS = require('./shared/is_node.js');
45
+
36
46
  if (isNodeJS()) {
37
47
  var PDFNodeStream = require('./display/node_stream.js').PDFNodeStream;
48
+
38
49
  pdfjsDisplayAPI.setPDFNetworkStreamFactory(function (params) {
39
50
  return new PDFNodeStream(params);
40
51
  });
41
52
  } else if (typeof Response !== 'undefined' && 'body' in Response.prototype && typeof ReadableStream !== 'undefined') {
42
53
  var PDFFetchStream = require('./display/fetch_stream.js').PDFFetchStream;
54
+
43
55
  pdfjsDisplayAPI.setPDFNetworkStreamFactory(function (params) {
44
56
  return new PDFFetchStream(params);
45
57
  });
46
58
  } else {
47
59
  var PDFNetworkStream = require('./display/network.js').PDFNetworkStream;
60
+
48
61
  pdfjsDisplayAPI.setPDFNetworkStreamFactory(function (params) {
49
62
  return new PDFNetworkStream(params);
50
63
  });
@@ -64,6 +77,8 @@ exports.InvalidPDFException = pdfjsSharedUtil.InvalidPDFException;
64
77
  exports.MissingPDFException = pdfjsSharedUtil.MissingPDFException;
65
78
  exports.SVGGraphics = pdfjsDisplaySVG.SVGGraphics;
66
79
  exports.NativeImageDecoding = pdfjsSharedUtil.NativeImageDecoding;
80
+ exports.CMapCompressionType = pdfjsSharedUtil.CMapCompressionType;
81
+ exports.PermissionFlag = pdfjsSharedUtil.PermissionFlag;
67
82
  exports.UnexpectedResponseException = pdfjsSharedUtil.UnexpectedResponseException;
68
83
  exports.OPS = pdfjsSharedUtil.OPS;
69
84
  exports.VerbosityLevel = pdfjsSharedUtil.VerbosityLevel;
@@ -72,11 +87,13 @@ exports.createValidAbsoluteUrl = pdfjsSharedUtil.createValidAbsoluteUrl;
72
87
  exports.createObjectURL = pdfjsSharedUtil.createObjectURL;
73
88
  exports.removeNullCharacters = pdfjsSharedUtil.removeNullCharacters;
74
89
  exports.shadow = pdfjsSharedUtil.shadow;
75
- exports.createBlob = pdfjsSharedUtil.createBlob;
76
90
  exports.Util = pdfjsSharedUtil.Util;
91
+ exports.ReadableStream = pdfjsSharedUtil.ReadableStream;
92
+ exports.URL = pdfjsSharedUtil.URL;
77
93
  exports.RenderingCancelledException = pdfjsDisplayDOMUtils.RenderingCancelledException;
78
94
  exports.getFilenameFromUrl = pdfjsDisplayDOMUtils.getFilenameFromUrl;
79
95
  exports.LinkTarget = pdfjsDisplayDOMUtils.LinkTarget;
80
96
  exports.addLinkAttributes = pdfjsDisplayDOMUtils.addLinkAttributes;
97
+ exports.loadScript = pdfjsDisplayDOMUtils.loadScript;
81
98
  exports.GlobalWorkerOptions = pdfjsDisplayWorkerOptions.GlobalWorkerOptions;
82
99
  exports.apiCompatibilityParams = pdfjsDisplayAPICompatibility.apiCompatibilityParams;
package/lib/pdf.worker.js CHANGED
@@ -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 2018 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.
@@ -21,7 +21,9 @@
21
21
  */
22
22
  'use strict';
23
23
 
24
- var pdfjsVersion = '2.0.487';
25
- var pdfjsBuild = '2275485c';
24
+ var pdfjsVersion = '2.1.266';
25
+ var pdfjsBuild = '81f5835c';
26
+
26
27
  var pdfjsCoreWorker = require('./core/worker.js');
28
+
27
29
  exports.WorkerMessageHandler = pdfjsCoreWorker.WorkerMessageHandler;