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,18 +19,18 @@
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.JpxStream = undefined;
27
+ exports.JpxStream = void 0;
28
28
 
29
- var _stream = require('./stream');
29
+ var _stream = require("./stream");
30
30
 
31
- var _jpx = require('./jpx');
31
+ var _jpx = require("./jpx");
32
32
 
33
- var _util = require('../shared/util');
33
+ var _util = require("../shared/util");
34
34
 
35
35
  var JpxStream = function JpxStreamClosure() {
36
36
  function JpxStream(stream, maybeLength, dict, params) {
@@ -38,8 +38,10 @@ var JpxStream = function JpxStreamClosure() {
38
38
  this.maybeLength = maybeLength;
39
39
  this.dict = dict;
40
40
  this.params = params;
41
+
41
42
  _stream.DecodeStream.call(this, maybeLength);
42
43
  }
44
+
43
45
  JpxStream.prototype = Object.create(_stream.DecodeStream.prototype);
44
46
  Object.defineProperty(JpxStream.prototype, 'bytes', {
45
47
  get: function JpxStream_bytes() {
@@ -47,21 +49,26 @@ var JpxStream = function JpxStreamClosure() {
47
49
  },
48
50
  configurable: true
49
51
  });
52
+
50
53
  JpxStream.prototype.ensureBuffer = function (requested) {};
54
+
51
55
  JpxStream.prototype.readBlock = function () {
52
56
  if (this.eof) {
53
57
  return;
54
58
  }
59
+
55
60
  var jpxImage = new _jpx.JpxImage();
56
61
  jpxImage.parse(this.bytes);
57
62
  var width = jpxImage.width;
58
63
  var height = jpxImage.height;
59
64
  var componentsCount = jpxImage.componentsCount;
60
65
  var tileCount = jpxImage.tiles.length;
66
+
61
67
  if (tileCount === 1) {
62
68
  this.buffer = jpxImage.tiles[0].items;
63
69
  } else {
64
70
  var data = new Uint8ClampedArray(width * height * componentsCount);
71
+
65
72
  for (var k = 0; k < tileCount; k++) {
66
73
  var tileComponents = jpxImage.tiles[k];
67
74
  var tileWidth = tileComponents.width;
@@ -73,6 +80,7 @@ var JpxStream = function JpxStreamClosure() {
73
80
  var dataPosition = (width * tileTop + tileLeft) * componentsCount;
74
81
  var imgRowSize = width * componentsCount;
75
82
  var tileRowSize = tileWidth * componentsCount;
83
+
76
84
  for (var j = 0; j < tileHeight; j++) {
77
85
  var rowBytes = src.subarray(srcPosition, srcPosition + tileRowSize);
78
86
  data.set(rowBytes, dataPosition);
@@ -80,11 +88,15 @@ var JpxStream = function JpxStreamClosure() {
80
88
  dataPosition += imgRowSize;
81
89
  }
82
90
  }
91
+
83
92
  this.buffer = data;
84
93
  }
94
+
85
95
  this.bufferLength = this.buffer.length;
86
96
  this.eof = true;
87
97
  };
98
+
88
99
  return JpxStream;
89
100
  }();
101
+
90
102
  exports.JpxStream = JpxStream;
@@ -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,14 +19,14 @@
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.getMetrics = undefined;
27
+ exports.getMetrics = void 0;
28
28
 
29
- var _util = require('../shared/util');
29
+ var _util = require("../shared/util");
30
30
 
31
31
  var getMetrics = (0, _util.getLookupTableFactory)(function (t) {
32
32
  t['Courier'] = 600;
@@ -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,32 +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.MurmurHash3_64 = undefined;
27
+ exports.MurmurHash3_64 = void 0;
28
28
 
29
- var _util = require('../shared/util');
29
+ var _util = require("../shared/util");
30
30
 
31
31
  var MurmurHash3_64 = function MurmurHash3_64Closure(seed) {
32
32
  var MASK_HIGH = 0xffff0000;
33
33
  var MASK_LOW = 0xffff;
34
+
34
35
  function MurmurHash3_64(seed) {
35
36
  var SEED = 0xc3d2e1f0;
36
37
  this.h1 = seed ? seed & 0xffffffff : SEED;
37
38
  this.h2 = seed ? seed & 0xffffffff : SEED;
38
39
  }
40
+
39
41
  MurmurHash3_64.prototype = {
40
42
  update: function MurmurHash3_64_update(input) {
41
- var data = void 0,
42
- length = void 0;
43
+ var data, length;
44
+
43
45
  if ((0, _util.isString)(input)) {
44
46
  data = new Uint8Array(input.length * 2);
45
47
  length = 0;
48
+
46
49
  for (var i = 0, ii = input.length; i < ii; i++) {
47
50
  var code = input.charCodeAt(i);
51
+
48
52
  if (code <= 0xff) {
49
53
  data[length++] = code;
50
54
  } else {
@@ -58,6 +62,7 @@ var MurmurHash3_64 = function MurmurHash3_64Closure(seed) {
58
62
  } else {
59
63
  throw new Error('Wrong data format in MurmurHash3_64_update. ' + 'Input must be a string or array.');
60
64
  }
65
+
61
66
  var blockCounts = length >> 2;
62
67
  var tailLength = length - blockCounts * 4;
63
68
  var dataUint32 = new Uint32Array(data.buffer, 0, blockCounts);
@@ -69,6 +74,7 @@ var MurmurHash3_64 = function MurmurHash3_64Closure(seed) {
69
74
  var C2 = 0x1b873593;
70
75
  var C1_LOW = C1 & MASK_LOW;
71
76
  var C2_LOW = C2 & MASK_LOW;
77
+
72
78
  for (var _i = 0; _i < blockCounts; _i++) {
73
79
  if (_i & 1) {
74
80
  k1 = dataUint32[_i];
@@ -88,23 +94,30 @@ var MurmurHash3_64 = function MurmurHash3_64Closure(seed) {
88
94
  h2 = h2 * 5 + 0xe6546b64;
89
95
  }
90
96
  }
97
+
91
98
  k1 = 0;
99
+
92
100
  switch (tailLength) {
93
101
  case 3:
94
102
  k1 ^= data[blockCounts * 4 + 2] << 16;
103
+
95
104
  case 2:
96
105
  k1 ^= data[blockCounts * 4 + 1] << 8;
106
+
97
107
  case 1:
98
108
  k1 ^= data[blockCounts * 4];
99
109
  k1 = k1 * C1 & MASK_HIGH | k1 * C1_LOW & MASK_LOW;
100
110
  k1 = k1 << 15 | k1 >>> 17;
101
111
  k1 = k1 * C2 & MASK_HIGH | k1 * C2_LOW & MASK_LOW;
112
+
102
113
  if (blockCounts & 1) {
103
114
  h1 ^= k1;
104
115
  } else {
105
116
  h2 ^= k1;
106
117
  }
118
+
107
119
  }
120
+
108
121
  this.h1 = h1;
109
122
  this.h2 = h2;
110
123
  return this;
@@ -119,16 +132,21 @@ var MurmurHash3_64 = function MurmurHash3_64Closure(seed) {
119
132
  h1 = h1 * 0x1a85ec53 & MASK_HIGH | h1 * 0xec53 & MASK_LOW;
120
133
  h2 = h2 * 0xc4ceb9fe & MASK_HIGH | ((h2 << 16 | h1 >>> 16) * 0xb9fe1a85 & MASK_HIGH) >>> 16;
121
134
  h1 ^= h2 >>> 1;
135
+
122
136
  for (var i = 0, arr = [h1, h2], str = ''; i < arr.length; i++) {
123
137
  var hex = (arr[i] >>> 0).toString(16);
138
+
124
139
  while (hex.length < 8) {
125
140
  hex = '0' + hex;
126
141
  }
142
+
127
143
  str += hex;
128
144
  }
145
+
129
146
  return str;
130
147
  }
131
148
  };
132
149
  return MurmurHash3_64;
133
150
  }();
151
+
134
152
  exports.MurmurHash3_64 = MurmurHash3_64;