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
@@ -0,0 +1,277 @@
1
+ /**
2
+ * @licstart The following is the entire license notice for the
3
+ * Javascript code in this page
4
+ *
5
+ * Copyright 2019 Mozilla Foundation
6
+ *
7
+ * Licensed under the Apache License, Version 2.0 (the "License");
8
+ * you may not use this file except in compliance with the License.
9
+ * You may obtain a copy of the License at
10
+ *
11
+ * http://www.apache.org/licenses/LICENSE-2.0
12
+ *
13
+ * Unless required by applicable law or agreed to in writing, software
14
+ * distributed under the License is distributed on an "AS IS" BASIS,
15
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16
+ * See the License for the specific language governing permissions and
17
+ * limitations under the License.
18
+ *
19
+ * @licend The above is the entire license notice for the
20
+ * Javascript code in this page
21
+ */
22
+ "use strict";
23
+
24
+ Object.defineProperty(exports, "__esModule", {
25
+ value: true
26
+ });
27
+ exports.PDFWorkerStream = void 0;
28
+
29
+ var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
30
+
31
+ var _util = require("../shared/util");
32
+
33
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
34
+
35
+ function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
36
+
37
+ function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
38
+
39
+ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
40
+
41
+ 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); } }
42
+
43
+ function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
44
+
45
+ var PDFWorkerStream =
46
+ /*#__PURE__*/
47
+ function () {
48
+ function PDFWorkerStream(msgHandler) {
49
+ _classCallCheck(this, PDFWorkerStream);
50
+
51
+ this._msgHandler = msgHandler;
52
+ this._contentLength = null;
53
+ this._fullRequestReader = null;
54
+ this._rangeRequestReaders = [];
55
+ }
56
+
57
+ _createClass(PDFWorkerStream, [{
58
+ key: "getFullReader",
59
+ value: function getFullReader() {
60
+ (0, _util.assert)(!this._fullRequestReader);
61
+ this._fullRequestReader = new PDFWorkerStreamReader(this._msgHandler);
62
+ return this._fullRequestReader;
63
+ }
64
+ }, {
65
+ key: "getRangeReader",
66
+ value: function getRangeReader(begin, end) {
67
+ var reader = new PDFWorkerStreamRangeReader(begin, end, this._msgHandler);
68
+
69
+ this._rangeRequestReaders.push(reader);
70
+
71
+ return reader;
72
+ }
73
+ }, {
74
+ key: "cancelAllRequests",
75
+ value: function cancelAllRequests(reason) {
76
+ if (this._fullRequestReader) {
77
+ this._fullRequestReader.cancel(reason);
78
+ }
79
+
80
+ var readers = this._rangeRequestReaders.slice(0);
81
+
82
+ readers.forEach(function (reader) {
83
+ reader.cancel(reason);
84
+ });
85
+ }
86
+ }]);
87
+
88
+ return PDFWorkerStream;
89
+ }();
90
+
91
+ exports.PDFWorkerStream = PDFWorkerStream;
92
+
93
+ var PDFWorkerStreamReader =
94
+ /*#__PURE__*/
95
+ function () {
96
+ function PDFWorkerStreamReader(msgHandler) {
97
+ var _this = this;
98
+
99
+ _classCallCheck(this, PDFWorkerStreamReader);
100
+
101
+ this._msgHandler = msgHandler;
102
+ this.onProgress = null;
103
+ this._contentLength = null;
104
+ this._isRangeSupported = false;
105
+ this._isStreamingSupported = false;
106
+
107
+ var readableStream = this._msgHandler.sendWithStream('GetReader');
108
+
109
+ this._reader = readableStream.getReader();
110
+ this._headersReady = this._msgHandler.sendWithPromise('ReaderHeadersReady').then(function (data) {
111
+ _this._isStreamingSupported = data.isStreamingSupported;
112
+ _this._isRangeSupported = data.isRangeSupported;
113
+ _this._contentLength = data.contentLength;
114
+ });
115
+ }
116
+
117
+ _createClass(PDFWorkerStreamReader, [{
118
+ key: "read",
119
+ value: function () {
120
+ var _read = _asyncToGenerator(
121
+ /*#__PURE__*/
122
+ _regenerator["default"].mark(function _callee() {
123
+ var _ref, value, done;
124
+
125
+ return _regenerator["default"].wrap(function _callee$(_context) {
126
+ while (1) {
127
+ switch (_context.prev = _context.next) {
128
+ case 0:
129
+ _context.next = 2;
130
+ return this._reader.read();
131
+
132
+ case 2:
133
+ _ref = _context.sent;
134
+ value = _ref.value;
135
+ done = _ref.done;
136
+
137
+ if (!done) {
138
+ _context.next = 7;
139
+ break;
140
+ }
141
+
142
+ return _context.abrupt("return", {
143
+ value: undefined,
144
+ done: true
145
+ });
146
+
147
+ case 7:
148
+ return _context.abrupt("return", {
149
+ value: value.buffer,
150
+ done: false
151
+ });
152
+
153
+ case 8:
154
+ case "end":
155
+ return _context.stop();
156
+ }
157
+ }
158
+ }, _callee, this);
159
+ }));
160
+
161
+ function read() {
162
+ return _read.apply(this, arguments);
163
+ }
164
+
165
+ return read;
166
+ }()
167
+ }, {
168
+ key: "cancel",
169
+ value: function cancel(reason) {
170
+ this._reader.cancel(reason);
171
+ }
172
+ }, {
173
+ key: "headersReady",
174
+ get: function get() {
175
+ return this._headersReady;
176
+ }
177
+ }, {
178
+ key: "contentLength",
179
+ get: function get() {
180
+ return this._contentLength;
181
+ }
182
+ }, {
183
+ key: "isStreamingSupported",
184
+ get: function get() {
185
+ return this._isStreamingSupported;
186
+ }
187
+ }, {
188
+ key: "isRangeSupported",
189
+ get: function get() {
190
+ return this._isRangeSupported;
191
+ }
192
+ }]);
193
+
194
+ return PDFWorkerStreamReader;
195
+ }();
196
+
197
+ var PDFWorkerStreamRangeReader =
198
+ /*#__PURE__*/
199
+ function () {
200
+ function PDFWorkerStreamRangeReader(begin, end, msgHandler) {
201
+ _classCallCheck(this, PDFWorkerStreamRangeReader);
202
+
203
+ this._msgHandler = msgHandler;
204
+ this.onProgress = null;
205
+
206
+ var readableStream = this._msgHandler.sendWithStream('GetRangeReader', {
207
+ begin: begin,
208
+ end: end
209
+ });
210
+
211
+ this._reader = readableStream.getReader();
212
+ }
213
+
214
+ _createClass(PDFWorkerStreamRangeReader, [{
215
+ key: "read",
216
+ value: function () {
217
+ var _read2 = _asyncToGenerator(
218
+ /*#__PURE__*/
219
+ _regenerator["default"].mark(function _callee2() {
220
+ var _ref2, value, done;
221
+
222
+ return _regenerator["default"].wrap(function _callee2$(_context2) {
223
+ while (1) {
224
+ switch (_context2.prev = _context2.next) {
225
+ case 0:
226
+ _context2.next = 2;
227
+ return this._reader.read();
228
+
229
+ case 2:
230
+ _ref2 = _context2.sent;
231
+ value = _ref2.value;
232
+ done = _ref2.done;
233
+
234
+ if (!done) {
235
+ _context2.next = 7;
236
+ break;
237
+ }
238
+
239
+ return _context2.abrupt("return", {
240
+ value: undefined,
241
+ done: true
242
+ });
243
+
244
+ case 7:
245
+ return _context2.abrupt("return", {
246
+ value: value.buffer,
247
+ done: false
248
+ });
249
+
250
+ case 8:
251
+ case "end":
252
+ return _context2.stop();
253
+ }
254
+ }
255
+ }, _callee2, this);
256
+ }));
257
+
258
+ function read() {
259
+ return _read2.apply(this, arguments);
260
+ }
261
+
262
+ return read;
263
+ }()
264
+ }, {
265
+ key: "cancel",
266
+ value: function cancel(reason) {
267
+ this._reader.cancel(reason);
268
+ }
269
+ }, {
270
+ key: "isStreamingSupported",
271
+ get: function get() {
272
+ return false;
273
+ }
274
+ }]);
275
+
276
+ return PDFWorkerStreamRangeReader;
277
+ }();