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.
- package/bower.json +1 -1
- package/build/pdf.js +15564 -9476
- package/build/pdf.js.map +1 -1
- package/build/pdf.min.js +1 -1
- package/build/pdf.worker.js +46644 -36309
- package/build/pdf.worker.js.map +1 -1
- package/build/pdf.worker.min.js +1 -1
- package/external/url/url-lib.js +627 -0
- package/image_decoders/pdf.image_decoders.js +11430 -0
- package/image_decoders/pdf.image_decoders.js.map +1 -0
- package/image_decoders/pdf.image_decoders.min.js +1 -0
- package/lib/core/annotation.js +406 -131
- package/lib/core/arithmetic_decoder.js +275 -245
- package/lib/core/bidi.js +65 -6
- package/lib/core/ccitt.js +173 -18
- package/lib/core/ccitt_stream.js +15 -6
- package/lib/core/cff_parser.js +376 -53
- package/lib/core/charsets.js +5 -4
- package/lib/core/chunked_stream.js +387 -149
- package/lib/core/cmap.js +310 -75
- package/lib/core/colorspace.js +874 -594
- package/lib/core/crypto.js +290 -45
- package/lib/core/document.js +545 -260
- package/lib/core/encodings.js +19 -10
- package/lib/core/evaluator.js +725 -147
- package/lib/core/font_renderer.js +360 -91
- package/lib/core/fonts.js +791 -186
- package/lib/core/function.js +284 -71
- package/lib/core/glyphlist.js +3 -2
- package/lib/core/image.js +168 -61
- package/lib/core/jbig2.js +479 -66
- package/lib/core/jbig2_stream.js +19 -8
- package/lib/core/jpeg_stream.js +38 -13
- package/lib/core/jpg.js +252 -29
- package/lib/core/jpx.js +396 -6
- package/lib/core/jpx_stream.js +18 -6
- package/lib/core/metrics.js +4 -4
- package/lib/core/murmurhash3.js +24 -6
- package/lib/core/obj.js +1137 -475
- package/lib/core/operator_list.js +108 -6
- package/lib/core/parser.js +321 -68
- package/lib/core/pattern.js +145 -13
- package/lib/core/pdf_manager.js +321 -133
- package/lib/core/primitives.js +75 -22
- package/lib/core/ps_parser.js +134 -45
- package/lib/core/standard_fonts.js +10 -10
- package/lib/core/stream.js +313 -34
- package/lib/core/type1_parser.js +143 -13
- package/lib/core/unicode.js +31 -4
- package/lib/core/worker.js +210 -66
- package/lib/display/annotation_layer.js +361 -123
- package/lib/display/api.js +1454 -729
- package/lib/display/api_compatibility.js +11 -13
- package/lib/display/canvas.js +324 -29
- package/lib/display/content_disposition.js +83 -32
- package/lib/display/dom_utils.js +226 -41
- package/lib/display/fetch_stream.js +208 -84
- package/lib/display/font_loader.js +465 -236
- package/lib/display/metadata.js +38 -16
- package/lib/display/network.js +216 -51
- package/lib/display/network_utils.js +32 -19
- package/lib/display/node_stream.js +352 -169
- package/lib/display/pattern_helper.js +58 -7
- package/lib/display/svg.js +242 -29
- package/lib/display/text_layer.js +132 -18
- package/lib/display/transport_stream.js +171 -42
- package/lib/display/webgl.js +64 -18
- package/lib/display/worker_options.js +5 -4
- package/lib/display/xml_parser.js +166 -53
- package/lib/examples/node/domstubs.js +57 -4
- package/lib/pdf.js +21 -4
- package/lib/pdf.worker.js +5 -3
- package/lib/shared/compatibility.js +158 -564
- package/lib/shared/global_scope.js +2 -2
- package/lib/shared/is_node.js +4 -4
- package/lib/shared/message_handler.js +521 -0
- package/lib/shared/streams_polyfill.js +21 -17
- package/lib/shared/url_polyfill.js +56 -0
- package/lib/shared/util.js +295 -650
- package/lib/test/unit/annotation_spec.js +629 -345
- package/lib/test/unit/api_spec.js +555 -253
- package/lib/test/unit/bidi_spec.js +7 -7
- package/lib/test/unit/cff_parser_spec.js +40 -11
- package/lib/test/unit/clitests_helper.js +9 -7
- package/lib/test/unit/cmap_spec.js +80 -26
- package/lib/test/unit/colorspace_spec.js +99 -52
- package/lib/test/unit/crypto_spec.js +17 -5
- package/lib/test/unit/custom_spec.js +41 -53
- package/lib/test/unit/display_svg_spec.js +33 -17
- package/lib/test/unit/document_spec.js +3 -3
- package/lib/test/unit/dom_utils_spec.js +9 -9
- package/lib/test/unit/encodings_spec.js +25 -45
- package/lib/test/unit/evaluator_spec.js +34 -9
- package/lib/test/unit/function_spec.js +17 -5
- package/lib/test/unit/jasmine-boot.js +31 -18
- package/lib/test/unit/{util_stream_spec.js → message_handler_spec.js} +41 -69
- package/lib/test/unit/metadata_spec.js +71 -11
- package/lib/test/unit/murmurhash3_spec.js +3 -3
- package/lib/test/unit/network_spec.js +20 -5
- package/lib/test/unit/network_utils_spec.js +41 -14
- package/lib/test/unit/node_stream_spec.js +51 -27
- package/lib/test/unit/parser_spec.js +35 -8
- package/lib/test/unit/pdf_find_controller_spec.js +230 -0
- package/lib/test/unit/pdf_find_utils_spec.js +63 -0
- package/lib/test/unit/pdf_history_spec.js +21 -9
- package/lib/test/unit/primitives_spec.js +24 -4
- package/lib/test/unit/stream_spec.js +12 -4
- package/lib/test/unit/test_utils.js +90 -27
- package/lib/test/unit/testreporter.js +21 -3
- package/lib/test/unit/type1_parser_spec.js +8 -6
- package/lib/test/unit/ui_utils_spec.js +452 -14
- package/lib/test/unit/unicode_spec.js +14 -11
- package/lib/test/unit/util_spec.js +131 -9
- package/lib/web/annotation_layer_builder.js +39 -22
- package/lib/web/app.js +1240 -582
- package/lib/web/app_options.js +71 -41
- package/lib/web/base_viewer.js +508 -179
- package/lib/web/chromecom.js +261 -117
- package/lib/web/debugger.js +166 -22
- package/lib/web/download_manager.js +31 -13
- package/lib/web/firefox_print_service.js +17 -9
- package/lib/web/firefoxcom.js +283 -79
- package/lib/web/genericcom.js +89 -30
- package/lib/web/genericl10n.js +142 -30
- package/lib/web/grab_to_pan.js +26 -4
- package/lib/web/interfaces.js +170 -47
- package/lib/web/overlay_manager.js +235 -85
- package/lib/web/password_prompt.js +21 -13
- package/lib/web/pdf_attachment_viewer.js +38 -18
- package/lib/web/pdf_cursor_tools.js +39 -16
- package/lib/web/pdf_document_properties.js +80 -30
- package/lib/web/pdf_find_bar.js +84 -40
- package/lib/web/pdf_find_controller.js +495 -184
- package/lib/web/pdf_find_utils.js +111 -0
- package/lib/web/pdf_history.js +190 -53
- package/lib/web/pdf_link_service.js +137 -76
- package/lib/web/pdf_outline_viewer.js +73 -22
- package/lib/web/pdf_page_view.js +196 -63
- package/lib/web/pdf_presentation_mode.js +99 -34
- package/lib/web/pdf_print_service.js +57 -11
- package/lib/web/pdf_rendering_queue.js +27 -5
- package/lib/web/pdf_sidebar.js +120 -67
- package/lib/web/pdf_sidebar_resizer.js +42 -16
- package/lib/web/pdf_single_page_viewer.js +74 -66
- package/lib/web/pdf_thumbnail_view.js +103 -32
- package/lib/web/pdf_thumbnail_viewer.js +64 -24
- package/lib/web/pdf_viewer.component.js +112 -32
- package/lib/web/pdf_viewer.js +91 -52
- package/lib/web/preferences.js +275 -80
- package/lib/web/secondary_toolbar.js +165 -40
- package/lib/web/text_layer_builder.js +162 -65
- package/lib/web/toolbar.js +78 -43
- package/lib/web/ui_utils.js +462 -136
- package/lib/web/view_history.js +215 -67
- package/lib/web/viewer_compatibility.js +4 -13
- package/package.json +5 -4
- package/web/pdf_viewer.css +58 -1
- package/web/pdf_viewer.js +6346 -3919
- package/web/pdf_viewer.js.map +1 -1
- package/lib/test/unit/fonts_spec.js +0 -81
- 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
|
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,24 +19,30 @@
|
|
19
19
|
* @licend The above is the entire license notice for the
|
20
20
|
* Javascript code in this page
|
21
21
|
*/
|
22
|
-
|
22
|
+
"use strict";
|
23
23
|
|
24
|
-
var _primitives = require(
|
24
|
+
var _primitives = require("../../core/primitives");
|
25
25
|
|
26
|
-
var _test_utils = require(
|
26
|
+
var _test_utils = require("./test_utils");
|
27
27
|
|
28
28
|
describe('primitives', function () {
|
29
29
|
describe('Name', function () {
|
30
30
|
it('should retain the given name', function () {
|
31
31
|
var givenName = 'Font';
|
32
|
+
|
32
33
|
var name = _primitives.Name.get(givenName);
|
34
|
+
|
33
35
|
expect(name.name).toEqual(givenName);
|
34
36
|
});
|
35
37
|
it('should create only one object for a name and cache it', function () {
|
36
38
|
var firstFont = _primitives.Name.get('Font');
|
39
|
+
|
37
40
|
var secondFont = _primitives.Name.get('Font');
|
41
|
+
|
38
42
|
var firstSubtype = _primitives.Name.get('Subtype');
|
43
|
+
|
39
44
|
var secondSubtype = _primitives.Name.get('Subtype');
|
45
|
+
|
40
46
|
expect(firstFont).toBe(secondFont);
|
41
47
|
expect(firstSubtype).toBe(secondSubtype);
|
42
48
|
expect(firstFont).not.toBe(firstSubtype);
|
@@ -45,14 +51,20 @@ describe('primitives', function () {
|
|
45
51
|
describe('Cmd', function () {
|
46
52
|
it('should retain the given cmd name', function () {
|
47
53
|
var givenCmd = 'BT';
|
54
|
+
|
48
55
|
var cmd = _primitives.Cmd.get(givenCmd);
|
56
|
+
|
49
57
|
expect(cmd.cmd).toEqual(givenCmd);
|
50
58
|
});
|
51
59
|
it('should create only one object for a command and cache it', function () {
|
52
60
|
var firstBT = _primitives.Cmd.get('BT');
|
61
|
+
|
53
62
|
var secondBT = _primitives.Cmd.get('BT');
|
63
|
+
|
54
64
|
var firstET = _primitives.Cmd.get('ET');
|
65
|
+
|
55
66
|
var secondET = _primitives.Cmd.get('ET');
|
67
|
+
|
56
68
|
expect(firstBT).toBe(secondBT);
|
57
69
|
expect(firstET).toBe(secondET);
|
58
70
|
expect(firstBT).not.toBe(firstET);
|
@@ -63,12 +75,14 @@ describe('primitives', function () {
|
|
63
75
|
expect(dict.has()).toBeFalsy();
|
64
76
|
expect(dict.has('Prev')).toBeFalsy();
|
65
77
|
};
|
78
|
+
|
66
79
|
var checkInvalidKeyValues = function checkInvalidKeyValues(dict) {
|
67
80
|
expect(dict.get()).toBeUndefined();
|
68
81
|
expect(dict.get('Prev')).toBeUndefined();
|
69
82
|
expect(dict.get('Decode', 'D')).toBeUndefined();
|
70
83
|
expect(dict.get('FontFile', 'FontFile2', 'FontFile3')).toBeNull();
|
71
84
|
};
|
85
|
+
|
72
86
|
var emptyDict, dictWithSizeKey, dictWithManyKeys;
|
73
87
|
var storedSize = 42;
|
74
88
|
var testFontFile = 'file1';
|
@@ -195,7 +209,9 @@ describe('primitives', function () {
|
|
195
209
|
var expectedKeys = ['FontFile', 'FontFile2', 'FontFile3', 'Size'];
|
196
210
|
var fontFileDict = new _primitives.Dict();
|
197
211
|
fontFileDict.set('FontFile', 'Type1 font file');
|
212
|
+
|
198
213
|
var mergedDict = _primitives.Dict.merge(null, [dictWithManyKeys, dictWithSizeKey, fontFileDict]);
|
214
|
+
|
199
215
|
var mergedKeys = mergedDict.getKeys();
|
200
216
|
expect(mergedKeys.sort()).toEqual(expectedKeys);
|
201
217
|
expect(mergedDict.get('FontFile')).toEqual(testFontFile);
|
@@ -233,10 +249,12 @@ describe('primitives', function () {
|
|
233
249
|
});
|
234
250
|
it('handles names', function () {
|
235
251
|
var name = _primitives.Name.get('Font');
|
252
|
+
|
236
253
|
expect((0, _primitives.isName)(name)).toEqual(true);
|
237
254
|
});
|
238
255
|
it('handles names with name check', function () {
|
239
256
|
var name = _primitives.Name.get('Font');
|
257
|
+
|
240
258
|
expect((0, _primitives.isName)(name, 'Font')).toEqual(true);
|
241
259
|
expect((0, _primitives.isName)(name, 'Subtype')).toEqual(false);
|
242
260
|
});
|
@@ -248,10 +266,12 @@ describe('primitives', function () {
|
|
248
266
|
});
|
249
267
|
it('handles commands', function () {
|
250
268
|
var cmd = _primitives.Cmd.get('BT');
|
269
|
+
|
251
270
|
expect((0, _primitives.isCmd)(cmd)).toEqual(true);
|
252
271
|
});
|
253
272
|
it('handles commands with cmd check', function () {
|
254
273
|
var cmd = _primitives.Cmd.get('BT');
|
274
|
+
|
255
275
|
expect((0, _primitives.isCmd)(cmd, 'BT')).toEqual(true);
|
256
276
|
expect((0, _primitives.isCmd)(cmd, 'ET')).toEqual(false);
|
257
277
|
});
|
@@ -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
|
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,11 +19,11 @@
|
|
19
19
|
* @licend The above is the entire license notice for the
|
20
20
|
* Javascript code in this page
|
21
21
|
*/
|
22
|
-
|
22
|
+
"use strict";
|
23
23
|
|
24
|
-
var _stream = require(
|
24
|
+
var _stream = require("../../core/stream");
|
25
25
|
|
26
|
-
var _primitives = require(
|
26
|
+
var _primitives = require("../../core/primitives");
|
27
27
|
|
28
28
|
describe('stream', function () {
|
29
29
|
beforeEach(function () {
|
@@ -32,20 +32,25 @@ describe('stream', function () {
|
|
32
32
|
return {
|
33
33
|
compare: function compare(actual, expected) {
|
34
34
|
var result = {};
|
35
|
+
|
35
36
|
if (actual.length !== expected.length) {
|
36
37
|
result.pass = false;
|
37
38
|
result.message = 'Array length: ' + actual.length + ', expected: ' + expected.length;
|
38
39
|
return result;
|
39
40
|
}
|
41
|
+
|
40
42
|
result.pass = true;
|
43
|
+
|
41
44
|
for (var i = 0, ii = expected.length; i < ii; i++) {
|
42
45
|
var a = actual[i],
|
43
46
|
b = expected[i];
|
47
|
+
|
44
48
|
if (a !== b) {
|
45
49
|
result.pass = false;
|
46
50
|
break;
|
47
51
|
}
|
48
52
|
}
|
53
|
+
|
49
54
|
return result;
|
50
55
|
}
|
51
56
|
};
|
@@ -63,6 +68,9 @@ describe('stream', function () {
|
|
63
68
|
var predictor = new _stream.PredictorStream(input, 9, dict);
|
64
69
|
var result = predictor.getBytes(6);
|
65
70
|
expect(result).toMatchTypedArray(new Uint8Array([100, 3, 101, 2, 102, 1]));
|
71
|
+
predictor.reset();
|
72
|
+
var clampedResult = predictor.getBytes(6, true);
|
73
|
+
expect(clampedResult).toEqual(new Uint8ClampedArray([100, 3, 101, 2, 102, 1]));
|
66
74
|
});
|
67
75
|
});
|
68
76
|
});
|
@@ -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
|
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,36 +19,40 @@
|
|
19
19
|
* @licend The above is the entire license notice for the
|
20
20
|
* Javascript code in this page
|
21
21
|
*/
|
22
|
-
|
22
|
+
"use strict";
|
23
23
|
|
24
24
|
Object.defineProperty(exports, "__esModule", {
|
25
25
|
value: true
|
26
26
|
});
|
27
|
-
exports.
|
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; }; }();
|
30
|
-
|
31
|
-
var _util = require('../../shared/util');
|
27
|
+
exports.buildGetDocumentParams = buildGetDocumentParams;
|
28
|
+
exports.TEST_PDFS_PATH = exports.XRefMock = exports.NodeCMapReaderFactory = exports.NodeCanvasFactory = exports.NodeFileReaderFactory = void 0;
|
32
29
|
|
33
|
-
var
|
30
|
+
var _util = require("../../shared/util");
|
34
31
|
|
35
|
-
var
|
32
|
+
var _is_node = _interopRequireDefault(require("../../shared/is_node"));
|
36
33
|
|
37
|
-
var _primitives = require(
|
34
|
+
var _primitives = require("../../core/primitives");
|
38
35
|
|
39
36
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
40
37
|
|
41
38
|
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
|
42
39
|
|
43
|
-
var
|
40
|
+
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); } }
|
41
|
+
|
42
|
+
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
|
43
|
+
|
44
|
+
var NodeFileReaderFactory =
|
45
|
+
/*#__PURE__*/
|
46
|
+
function () {
|
44
47
|
function NodeFileReaderFactory() {
|
45
48
|
_classCallCheck(this, NodeFileReaderFactory);
|
46
49
|
}
|
47
50
|
|
48
51
|
_createClass(NodeFileReaderFactory, null, [{
|
49
|
-
key:
|
52
|
+
key: "fetch",
|
50
53
|
value: function fetch(params) {
|
51
54
|
var fs = require('fs');
|
55
|
+
|
52
56
|
var file = fs.readFileSync(params.path);
|
53
57
|
return new Uint8Array(file);
|
54
58
|
}
|
@@ -57,29 +61,81 @@ var NodeFileReaderFactory = function () {
|
|
57
61
|
return NodeFileReaderFactory;
|
58
62
|
}();
|
59
63
|
|
64
|
+
exports.NodeFileReaderFactory = NodeFileReaderFactory;
|
60
65
|
var TEST_PDFS_PATH = {
|
61
66
|
dom: '../pdfs/',
|
62
67
|
node: './test/pdfs/'
|
63
68
|
};
|
69
|
+
exports.TEST_PDFS_PATH = TEST_PDFS_PATH;
|
70
|
+
|
64
71
|
function buildGetDocumentParams(filename, options) {
|
65
72
|
var params = Object.create(null);
|
66
|
-
|
73
|
+
|
74
|
+
if ((0, _is_node.default)()) {
|
67
75
|
params.url = TEST_PDFS_PATH.node + filename;
|
68
76
|
} else {
|
69
77
|
params.url = new URL(TEST_PDFS_PATH.dom + filename, window.location).href;
|
70
78
|
}
|
79
|
+
|
71
80
|
for (var option in options) {
|
72
81
|
params[option] = options[option];
|
73
82
|
}
|
83
|
+
|
74
84
|
return params;
|
75
85
|
}
|
76
86
|
|
77
|
-
var
|
87
|
+
var NodeCanvasFactory =
|
88
|
+
/*#__PURE__*/
|
89
|
+
function () {
|
90
|
+
function NodeCanvasFactory() {
|
91
|
+
_classCallCheck(this, NodeCanvasFactory);
|
92
|
+
}
|
93
|
+
|
94
|
+
_createClass(NodeCanvasFactory, [{
|
95
|
+
key: "create",
|
96
|
+
value: function create(width, height) {
|
97
|
+
(0, _util.assert)(width > 0 && height > 0, 'Invalid canvas size');
|
98
|
+
|
99
|
+
var Canvas = require('canvas');
|
100
|
+
|
101
|
+
var canvas = Canvas.createCanvas(width, height);
|
102
|
+
return {
|
103
|
+
canvas: canvas,
|
104
|
+
context: canvas.getContext('2d')
|
105
|
+
};
|
106
|
+
}
|
107
|
+
}, {
|
108
|
+
key: "reset",
|
109
|
+
value: function reset(canvasAndContext, width, height) {
|
110
|
+
(0, _util.assert)(canvasAndContext.canvas, 'Canvas is not specified');
|
111
|
+
(0, _util.assert)(width > 0 && height > 0, 'Invalid canvas size');
|
112
|
+
canvasAndContext.canvas.width = width;
|
113
|
+
canvasAndContext.canvas.height = height;
|
114
|
+
}
|
115
|
+
}, {
|
116
|
+
key: "destroy",
|
117
|
+
value: function destroy(canvasAndContext) {
|
118
|
+
(0, _util.assert)(canvasAndContext.canvas, 'Canvas is not specified');
|
119
|
+
canvasAndContext.canvas.width = 0;
|
120
|
+
canvasAndContext.canvas.height = 0;
|
121
|
+
canvasAndContext.canvas = null;
|
122
|
+
canvasAndContext.context = null;
|
123
|
+
}
|
124
|
+
}]);
|
125
|
+
|
126
|
+
return NodeCanvasFactory;
|
127
|
+
}();
|
128
|
+
|
129
|
+
exports.NodeCanvasFactory = NodeCanvasFactory;
|
130
|
+
|
131
|
+
var NodeCMapReaderFactory =
|
132
|
+
/*#__PURE__*/
|
133
|
+
function () {
|
78
134
|
function NodeCMapReaderFactory(_ref) {
|
79
135
|
var _ref$baseUrl = _ref.baseUrl,
|
80
|
-
baseUrl = _ref$baseUrl ===
|
136
|
+
baseUrl = _ref$baseUrl === void 0 ? null : _ref$baseUrl,
|
81
137
|
_ref$isCompressed = _ref.isCompressed,
|
82
|
-
isCompressed = _ref$isCompressed ===
|
138
|
+
isCompressed = _ref$isCompressed === void 0 ? false : _ref$isCompressed;
|
83
139
|
|
84
140
|
_classCallCheck(this, NodeCMapReaderFactory);
|
85
141
|
|
@@ -88,7 +144,7 @@ var NodeCMapReaderFactory = function () {
|
|
88
144
|
}
|
89
145
|
|
90
146
|
_createClass(NodeCMapReaderFactory, [{
|
91
|
-
key:
|
147
|
+
key: "fetch",
|
92
148
|
value: function fetch(_ref2) {
|
93
149
|
var _this = this;
|
94
150
|
|
@@ -97,17 +153,22 @@ var NodeCMapReaderFactory = function () {
|
|
97
153
|
if (!this.baseUrl) {
|
98
154
|
return Promise.reject(new Error('The CMap "baseUrl" parameter must be specified, ensure that ' + 'the "cMapUrl" and "cMapPacked" API parameters are provided.'));
|
99
155
|
}
|
156
|
+
|
100
157
|
if (!name) {
|
101
158
|
return Promise.reject(new Error('CMap name must be specified.'));
|
102
159
|
}
|
160
|
+
|
103
161
|
return new Promise(function (resolve, reject) {
|
104
162
|
var url = _this.baseUrl + name + (_this.isCompressed ? '.bcmap' : '');
|
163
|
+
|
105
164
|
var fs = require('fs');
|
165
|
+
|
106
166
|
fs.readFile(url, function (error, data) {
|
107
167
|
if (error || !data) {
|
108
168
|
reject(new Error('Unable to load ' + (_this.isCompressed ? 'binary ' : '') + 'CMap at: ' + url));
|
109
169
|
return;
|
110
170
|
}
|
171
|
+
|
111
172
|
resolve({
|
112
173
|
cMapData: new Uint8Array(data),
|
113
174
|
compressionType: _this.isCompressed ? _util.CMapCompressionType.BINARY : _util.CMapCompressionType.NONE
|
@@ -120,11 +181,16 @@ var NodeCMapReaderFactory = function () {
|
|
120
181
|
return NodeCMapReaderFactory;
|
121
182
|
}();
|
122
183
|
|
123
|
-
|
184
|
+
exports.NodeCMapReaderFactory = NodeCMapReaderFactory;
|
185
|
+
|
186
|
+
var XRefMock =
|
187
|
+
/*#__PURE__*/
|
188
|
+
function () {
|
124
189
|
function XRefMock(array) {
|
125
190
|
_classCallCheck(this, XRefMock);
|
126
191
|
|
127
192
|
this._map = Object.create(null);
|
193
|
+
|
128
194
|
for (var key in array) {
|
129
195
|
var obj = array[key];
|
130
196
|
this._map[obj.ref.toString()] = obj.data;
|
@@ -132,25 +198,26 @@ var XRefMock = function () {
|
|
132
198
|
}
|
133
199
|
|
134
200
|
_createClass(XRefMock, [{
|
135
|
-
key:
|
201
|
+
key: "fetch",
|
136
202
|
value: function fetch(ref) {
|
137
203
|
return this._map[ref.toString()];
|
138
204
|
}
|
139
205
|
}, {
|
140
|
-
key:
|
206
|
+
key: "fetchAsync",
|
141
207
|
value: function fetchAsync(ref) {
|
142
208
|
return Promise.resolve(this.fetch(ref));
|
143
209
|
}
|
144
210
|
}, {
|
145
|
-
key:
|
211
|
+
key: "fetchIfRef",
|
146
212
|
value: function fetchIfRef(obj) {
|
147
213
|
if (!(0, _primitives.isRef)(obj)) {
|
148
214
|
return obj;
|
149
215
|
}
|
216
|
+
|
150
217
|
return this.fetch(obj);
|
151
218
|
}
|
152
219
|
}, {
|
153
|
-
key:
|
220
|
+
key: "fetchIfRefAsync",
|
154
221
|
value: function fetchIfRefAsync(obj) {
|
155
222
|
return Promise.resolve(this.fetchIfRef(obj));
|
156
223
|
}
|
@@ -159,8 +226,4 @@ var XRefMock = function () {
|
|
159
226
|
return XRefMock;
|
160
227
|
}();
|
161
228
|
|
162
|
-
exports.
|
163
|
-
exports.NodeCMapReaderFactory = NodeCMapReaderFactory;
|
164
|
-
exports.XRefMock = XRefMock;
|
165
|
-
exports.buildGetDocumentParams = buildGetDocumentParams;
|
166
|
-
exports.TEST_PDFS_PATH = TEST_PDFS_PATH;
|
229
|
+
exports.XRefMock = XRefMock;
|
@@ -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
|
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.
|
@@ -26,6 +26,7 @@ var TestReporter = function TestReporter(browser, appPath) {
|
|
26
26
|
var r = new XMLHttpRequest();
|
27
27
|
r.open('POST', action, true);
|
28
28
|
r.setRequestHeader('Content-Type', 'application/json');
|
29
|
+
|
29
30
|
r.onreadystatechange = function sendTaskResultOnreadystatechange(e) {
|
30
31
|
if (r.readyState === 4) {
|
31
32
|
if (r.status !== 200) {
|
@@ -37,47 +38,64 @@ var TestReporter = function TestReporter(browser, appPath) {
|
|
37
38
|
}
|
38
39
|
}
|
39
40
|
};
|
41
|
+
|
40
42
|
json['browser'] = browser;
|
41
43
|
r.send(JSON.stringify(json));
|
42
44
|
}
|
45
|
+
|
43
46
|
function sendInfo(message) {
|
44
|
-
send('/info', {
|
47
|
+
send('/info', {
|
48
|
+
message: message
|
49
|
+
});
|
45
50
|
}
|
51
|
+
|
46
52
|
function sendResult(status, description, error) {
|
47
53
|
var message = {
|
48
54
|
status: status,
|
49
55
|
description: description
|
50
56
|
};
|
57
|
+
|
51
58
|
if (typeof error !== 'undefined') {
|
52
59
|
message['error'] = error;
|
53
60
|
}
|
61
|
+
|
54
62
|
send('/submit_task_results', message);
|
55
63
|
}
|
64
|
+
|
56
65
|
function sendQuitRequest() {
|
57
66
|
send('/tellMeToQuit?path=' + escape(appPath), {});
|
58
67
|
}
|
68
|
+
|
59
69
|
this.now = function () {
|
60
70
|
return new Date().getTime();
|
61
71
|
};
|
72
|
+
|
62
73
|
this.jasmineStarted = function (suiteInfo) {
|
63
74
|
this.runnerStartTime = this.now();
|
64
|
-
sendInfo('Started
|
75
|
+
sendInfo('Started tests for ' + browser + '.');
|
65
76
|
};
|
77
|
+
|
66
78
|
this.suiteStarted = function (result) {};
|
79
|
+
|
67
80
|
this.specStarted = function (result) {};
|
81
|
+
|
68
82
|
this.specDone = function (result) {
|
69
83
|
if (result.failedExpectations.length === 0) {
|
70
84
|
sendResult('TEST-PASSED', result.description);
|
71
85
|
} else {
|
72
86
|
var failedMessages = '';
|
73
87
|
var items = result.failedExpectations;
|
88
|
+
|
74
89
|
for (var i = 0, ii = items.length; i < ii; i++) {
|
75
90
|
failedMessages += items[i].message + ' ';
|
76
91
|
}
|
92
|
+
|
77
93
|
sendResult('TEST-UNEXPECTED-FAIL', result.description, failedMessages);
|
78
94
|
}
|
79
95
|
};
|
96
|
+
|
80
97
|
this.suiteDone = function (result) {};
|
98
|
+
|
81
99
|
this.jasmineDone = function () {
|
82
100
|
setTimeout(sendQuitRequest, 500);
|
83
101
|
};
|
@@ -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
|
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,13 +19,13 @@
|
|
19
19
|
* @licend The above is the entire license notice for the
|
20
20
|
* Javascript code in this page
|
21
21
|
*/
|
22
|
-
|
22
|
+
"use strict";
|
23
23
|
|
24
|
-
var _fonts = require(
|
24
|
+
var _fonts = require("../../core/fonts");
|
25
25
|
|
26
|
-
var _stream = require(
|
26
|
+
var _stream = require("../../core/stream");
|
27
27
|
|
28
|
-
var _type1_parser = require(
|
28
|
+
var _type1_parser = require("../../core/type1_parser");
|
29
29
|
|
30
30
|
describe('Type1Parser', function () {
|
31
31
|
it('splits tokens', function () {
|
@@ -95,7 +95,9 @@ describe('Type1Parser', function () {
|
|
95
95
|
it('parses font header encoding', function () {
|
96
96
|
var stream = new _stream.StringStream('/Encoding 256 array\n' + '0 1 255 {1 index exch /.notdef put} for\n' + 'dup 33 /arrowright put\n' + 'readonly def\n');
|
97
97
|
var parser = new _type1_parser.Type1Parser(stream, false, _fonts.SEAC_ANALYSIS_ENABLED);
|
98
|
-
var props = {
|
98
|
+
var props = {
|
99
|
+
overridableEncoding: true
|
100
|
+
};
|
99
101
|
parser.extractFontHeader(props);
|
100
102
|
expect(props.builtInEncoding[33]).toEqual('arrowright');
|
101
103
|
});
|