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,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
- 'use strict';
22
+ "use strict";
23
23
 
24
- var _primitives = require('../../core/primitives');
24
+ var _primitives = require("../../core/primitives");
25
25
 
26
- var _test_utils = require('./test_utils');
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 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,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
- 'use strict';
22
+ "use strict";
23
23
 
24
- var _stream = require('../../core/stream');
24
+ var _stream = require("../../core/stream");
25
25
 
26
- var _primitives = require('../../core/primitives');
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 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,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
- 'use strict';
22
+ "use strict";
23
23
 
24
24
  Object.defineProperty(exports, "__esModule", {
25
25
  value: true
26
26
  });
27
- exports.TEST_PDFS_PATH = exports.buildGetDocumentParams = exports.XRefMock = exports.NodeCMapReaderFactory = exports.NodeFileReaderFactory = undefined;
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 _is_node = require('../../shared/is_node');
30
+ var _util = require("../../shared/util");
34
31
 
35
- var _is_node2 = _interopRequireDefault(_is_node);
32
+ var _is_node = _interopRequireDefault(require("../../shared/is_node"));
36
33
 
37
- var _primitives = require('../../core/primitives');
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 NodeFileReaderFactory = function () {
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: 'fetch',
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
- if ((0, _is_node2.default)()) {
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 NodeCMapReaderFactory = function () {
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 === undefined ? null : _ref$baseUrl,
136
+ baseUrl = _ref$baseUrl === void 0 ? null : _ref$baseUrl,
81
137
  _ref$isCompressed = _ref.isCompressed,
82
- isCompressed = _ref$isCompressed === undefined ? false : _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: 'fetch',
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
- var XRefMock = function () {
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: 'fetch',
201
+ key: "fetch",
136
202
  value: function fetch(ref) {
137
203
  return this._map[ref.toString()];
138
204
  }
139
205
  }, {
140
- key: 'fetchAsync',
206
+ key: "fetchAsync",
141
207
  value: function fetchAsync(ref) {
142
208
  return Promise.resolve(this.fetch(ref));
143
209
  }
144
210
  }, {
145
- key: 'fetchIfRef',
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: 'fetchIfRefAsync',
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.NodeFileReaderFactory = NodeFileReaderFactory;
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 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.
@@ -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', { message: message });
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 unit tests for ' + browser + '.');
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 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,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
- 'use strict';
22
+ "use strict";
23
23
 
24
- var _fonts = require('../../core/fonts');
24
+ var _fonts = require("../../core/fonts");
25
25
 
26
- var _stream = require('../../core/stream');
26
+ var _stream = require("../../core/stream");
27
27
 
28
- var _type1_parser = require('../../core/type1_parser');
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 = { overridableEncoding: true };
98
+ var props = {
99
+ overridableEncoding: true
100
+ };
99
101
  parser.extractFontHeader(props);
100
102
  expect(props.builtInEncoding[33]).toEqual('arrowright');
101
103
  });