pdfjs-dist 2.2.228 → 2.6.347

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 (229) hide show
  1. package/README.md +4 -0
  2. package/bower.json +1 -1
  3. package/build/pdf.js +8816 -19300
  4. package/build/pdf.js.map +1 -1
  5. package/build/pdf.min.js +22 -1
  6. package/build/pdf.worker.entry.js +5 -3
  7. package/build/pdf.worker.js +27185 -35746
  8. package/build/pdf.worker.js.map +1 -1
  9. package/build/pdf.worker.min.js +22 -1
  10. package/es5/build/pdf.js +26665 -0
  11. package/es5/build/pdf.js.map +1 -0
  12. package/es5/build/pdf.min.js +22 -0
  13. package/{lib/shared/global_scope.js → es5/build/pdf.worker.entry.js} +5 -10
  14. package/es5/build/pdf.worker.js +61231 -0
  15. package/es5/build/pdf.worker.js.map +1 -0
  16. package/es5/build/pdf.worker.min.js +22 -0
  17. package/es5/image_decoders/pdf.image_decoders.js +12529 -0
  18. package/es5/image_decoders/pdf.image_decoders.js.map +1 -0
  19. package/es5/image_decoders/pdf.image_decoders.min.js +22 -0
  20. package/es5/web/images/annotation-check.svg +11 -0
  21. package/es5/web/images/annotation-comment.svg +16 -0
  22. package/es5/web/images/annotation-help.svg +26 -0
  23. package/es5/web/images/annotation-insert.svg +10 -0
  24. package/es5/web/images/annotation-key.svg +11 -0
  25. package/es5/web/images/annotation-newparagraph.svg +11 -0
  26. package/es5/web/images/annotation-noicon.svg +7 -0
  27. package/es5/web/images/annotation-note.svg +42 -0
  28. package/es5/web/images/annotation-paragraph.svg +16 -0
  29. package/es5/web/images/loading-icon.gif +0 -0
  30. package/es5/web/images/shadow.png +0 -0
  31. package/es5/web/pdf_viewer.css +406 -0
  32. package/es5/web/pdf_viewer.js +7886 -0
  33. package/es5/web/pdf_viewer.js.map +1 -0
  34. package/image_decoders/pdf.image_decoders.js +1498 -4832
  35. package/image_decoders/pdf.image_decoders.js.map +1 -1
  36. package/image_decoders/pdf.image_decoders.min.js +22 -1
  37. package/lib/README.md +7 -0
  38. package/lib/core/annotation.js +1144 -927
  39. package/lib/core/arithmetic_decoder.js +81 -97
  40. package/lib/core/bidi.js +54 -46
  41. package/lib/core/ccitt.js +88 -81
  42. package/lib/core/ccitt_stream.js +15 -14
  43. package/lib/core/cff_parser.js +747 -716
  44. package/lib/core/charsets.js +4 -4
  45. package/lib/core/chunked_stream.js +462 -553
  46. package/lib/core/cmap.js +231 -277
  47. package/lib/core/colorspace.js +715 -857
  48. package/lib/core/core_utils.js +57 -52
  49. package/lib/core/crypto.js +416 -437
  50. package/lib/core/document.js +629 -670
  51. package/lib/core/encodings.js +15 -15
  52. package/lib/core/evaluator.js +3229 -2800
  53. package/lib/core/font_renderer.js +135 -178
  54. package/lib/core/fonts.js +602 -534
  55. package/lib/core/function.js +355 -279
  56. package/lib/core/glyphlist.js +4527 -4526
  57. package/lib/core/image.js +442 -439
  58. package/lib/core/image_utils.js +221 -61
  59. package/lib/core/jbig2.js +325 -316
  60. package/lib/core/jbig2_stream.js +18 -17
  61. package/lib/core/jpeg_stream.js +21 -26
  62. package/lib/core/jpg.js +289 -233
  63. package/lib/core/jpx.js +161 -143
  64. package/lib/core/jpx_stream.js +28 -28
  65. package/lib/core/metrics.js +2928 -2928
  66. package/lib/core/murmurhash3.js +87 -102
  67. package/lib/core/obj.js +1343 -1300
  68. package/lib/core/operator_list.js +90 -67
  69. package/lib/core/parser.js +990 -987
  70. package/lib/core/pattern.js +105 -77
  71. package/lib/core/pdf_manager.js +149 -316
  72. package/lib/core/primitives.js +156 -104
  73. package/lib/core/ps_parser.js +175 -214
  74. package/lib/core/standard_fonts.js +237 -236
  75. package/lib/core/stream.js +94 -74
  76. package/lib/core/type1_parser.js +89 -69
  77. package/lib/core/unicode.js +1654 -1654
  78. package/lib/core/worker.js +275 -290
  79. package/lib/core/worker_stream.js +101 -210
  80. package/lib/core/writer.js +242 -0
  81. package/lib/display/annotation_layer.js +772 -1041
  82. package/lib/display/annotation_storage.js +89 -0
  83. package/lib/display/api.js +1575 -1868
  84. package/lib/display/api_compatibility.js +12 -17
  85. package/lib/display/canvas.js +370 -222
  86. package/lib/display/content_disposition.js +40 -59
  87. package/lib/display/display_utils.js +341 -536
  88. package/lib/display/fetch_stream.js +188 -304
  89. package/lib/display/font_loader.js +282 -414
  90. package/lib/display/metadata.js +81 -99
  91. package/lib/display/network.js +362 -511
  92. package/lib/display/network_utils.js +25 -18
  93. package/lib/display/node_stream.js +283 -465
  94. package/lib/display/node_utils.js +87 -0
  95. package/lib/display/optional_content_config.js +184 -0
  96. package/lib/display/pattern_helper.js +93 -44
  97. package/lib/display/svg.js +1163 -1401
  98. package/lib/display/text_layer.js +154 -137
  99. package/lib/display/transport_stream.js +237 -375
  100. package/lib/display/webgl.js +70 -83
  101. package/lib/display/worker_options.js +3 -3
  102. package/lib/display/xml_parser.js +303 -392
  103. package/lib/examples/node/domstubs.js +37 -37
  104. package/lib/pdf.js +220 -58
  105. package/lib/pdf.worker.js +14 -6
  106. package/lib/shared/compatibility.js +3 -246
  107. package/lib/shared/is_node.js +7 -6
  108. package/lib/shared/message_handler.js +327 -332
  109. package/lib/shared/util.js +271 -306
  110. package/lib/test/unit/annotation_spec.js +1902 -763
  111. package/lib/test/unit/annotation_storage_spec.js +83 -0
  112. package/lib/test/unit/api_spec.js +790 -592
  113. package/lib/test/unit/bidi_spec.js +7 -7
  114. package/lib/test/unit/cff_parser_spec.js +73 -72
  115. package/lib/test/unit/clitests_helper.js +7 -9
  116. package/lib/test/unit/cmap_spec.js +86 -88
  117. package/lib/test/unit/colorspace_spec.js +346 -154
  118. package/lib/test/unit/core_utils_spec.js +125 -105
  119. package/lib/test/unit/crypto_spec.js +232 -185
  120. package/lib/test/unit/custom_spec.js +150 -24
  121. package/lib/test/unit/display_svg_spec.js +34 -39
  122. package/lib/test/unit/display_utils_spec.js +139 -149
  123. package/lib/test/unit/document_spec.js +128 -17
  124. package/lib/test/unit/encodings_spec.js +12 -34
  125. package/lib/test/unit/evaluator_spec.js +112 -91
  126. package/lib/test/unit/fetch_stream_spec.js +31 -29
  127. package/lib/test/unit/function_spec.js +206 -204
  128. package/lib/test/unit/jasmine-boot.js +48 -32
  129. package/lib/test/unit/message_handler_spec.js +173 -159
  130. package/lib/test/unit/metadata_spec.js +71 -71
  131. package/lib/test/unit/murmurhash3_spec.js +12 -12
  132. package/lib/test/unit/network_spec.js +13 -11
  133. package/lib/test/unit/network_utils_spec.js +158 -144
  134. package/lib/test/unit/node_stream_spec.js +76 -90
  135. package/lib/test/unit/parser_spec.js +108 -114
  136. package/lib/test/unit/pdf_find_controller_spec.js +55 -86
  137. package/lib/test/unit/pdf_find_utils_spec.js +32 -32
  138. package/lib/test/unit/pdf_history_spec.js +32 -32
  139. package/lib/test/unit/primitives_spec.js +337 -156
  140. package/lib/test/unit/stream_spec.js +16 -14
  141. package/lib/test/unit/test_utils.js +91 -304
  142. package/lib/test/unit/testreporter.js +33 -22
  143. package/lib/test/unit/type1_parser_spec.js +42 -42
  144. package/lib/test/unit/ui_utils_spec.js +299 -461
  145. package/lib/test/unit/unicode_spec.js +42 -42
  146. package/lib/test/unit/util_spec.js +129 -149
  147. package/lib/test/unit/writer_spec.js +84 -0
  148. package/lib/web/annotation_layer_builder.js +78 -111
  149. package/lib/web/app.js +1542 -1267
  150. package/lib/web/app_options.js +76 -91
  151. package/lib/web/base_tree_viewer.js +100 -0
  152. package/lib/web/base_viewer.js +869 -834
  153. package/lib/web/chromecom.js +165 -252
  154. package/lib/web/debugger.js +149 -205
  155. package/lib/web/download_manager.js +34 -58
  156. package/lib/web/firefox_print_service.js +62 -34
  157. package/lib/web/firefoxcom.js +206 -374
  158. package/lib/web/genericcom.js +26 -108
  159. package/lib/web/genericl10n.js +24 -153
  160. package/lib/web/grab_to_pan.js +30 -30
  161. package/lib/web/interfaces.js +80 -254
  162. package/lib/web/overlay_manager.js +70 -246
  163. package/lib/web/password_prompt.js +38 -64
  164. package/lib/web/pdf_attachment_viewer.js +150 -126
  165. package/lib/web/pdf_cursor_tools.js +75 -102
  166. package/lib/web/pdf_document_properties.js +229 -383
  167. package/lib/web/pdf_find_bar.js +136 -170
  168. package/lib/web/pdf_find_controller.js +492 -548
  169. package/lib/web/pdf_find_utils.js +13 -13
  170. package/lib/web/pdf_history.js +397 -406
  171. package/lib/web/pdf_layer_viewer.js +208 -0
  172. package/lib/web/pdf_link_service.js +304 -348
  173. package/lib/web/pdf_outline_viewer.js +119 -212
  174. package/lib/web/pdf_page_view.js +474 -513
  175. package/lib/web/pdf_presentation_mode.js +308 -357
  176. package/lib/web/pdf_print_service.js +96 -110
  177. package/lib/web/pdf_rendering_queue.js +87 -108
  178. package/lib/web/pdf_sidebar.js +286 -302
  179. package/lib/web/pdf_sidebar_resizer.js +92 -119
  180. package/lib/web/pdf_single_page_viewer.js +77 -126
  181. package/lib/web/pdf_thumbnail_view.js +289 -297
  182. package/lib/web/pdf_thumbnail_viewer.js +202 -206
  183. package/lib/web/pdf_viewer.component.js +20 -21
  184. package/lib/web/pdf_viewer.js +55 -115
  185. package/lib/web/preferences.js +69 -273
  186. package/lib/web/secondary_toolbar.js +164 -196
  187. package/lib/web/text_layer_builder.js +284 -319
  188. package/lib/web/toolbar.js +217 -210
  189. package/lib/web/ui_utils.js +274 -421
  190. package/lib/web/view_history.js +52 -226
  191. package/lib/web/viewer_compatibility.js +21 -6
  192. package/package.json +4 -9
  193. package/types/display/annotation_layer.d.ts +61 -0
  194. package/types/display/annotation_storage.d.ts +36 -0
  195. package/types/display/api.d.ts +1107 -0
  196. package/types/display/api_compatibility.d.ts +1 -0
  197. package/types/display/canvas.d.ts +4 -0
  198. package/types/display/content_disposition.d.ts +7 -0
  199. package/types/display/display_utils.d.ts +243 -0
  200. package/types/display/fetch_stream.d.ts +67 -0
  201. package/types/display/font_loader.d.ts +19 -0
  202. package/types/display/metadata.d.ts +9 -0
  203. package/types/display/network.d.ts +80 -0
  204. package/types/display/network_utils.d.ts +14 -0
  205. package/types/display/node_stream.d.ts +72 -0
  206. package/types/display/node_utils.d.ts +6 -0
  207. package/types/display/optional_content_config.d.ts +12 -0
  208. package/types/display/pattern_helper.d.ts +5 -0
  209. package/types/display/svg.d.ts +2 -0
  210. package/types/display/text_layer.d.ts +83 -0
  211. package/types/display/transport_stream.d.ts +57 -0
  212. package/types/display/webgl.d.ts +20 -0
  213. package/types/display/worker_options.d.ts +27 -0
  214. package/types/display/xml_parser.d.ts +35 -0
  215. package/types/pdf.d.ts +33 -0
  216. package/types/shared/compatibility.d.ts +1 -0
  217. package/types/shared/is_node.d.ts +1 -0
  218. package/types/shared/message_handler.d.ts +62 -0
  219. package/types/shared/util.d.ts +421 -0
  220. package/web/images/shadow.png +0 -0
  221. package/web/pdf_viewer.css +29 -27
  222. package/web/pdf_viewer.js +3524 -4746
  223. package/web/pdf_viewer.js.map +1 -1
  224. package/webpack.js +6 -5
  225. package/external/streams/streams-lib.js +0 -3962
  226. package/external/url/url-lib.js +0 -627
  227. package/lib/shared/streams_polyfill.js +0 -43
  228. package/lib/shared/url_polyfill.js +0 -56
  229. package/web/images/texture.png +0 -0
@@ -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 2019 Mozilla Foundation
5
+ * Copyright 2020 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,18 +21,18 @@
21
21
  */
22
22
  "use strict";
23
23
 
24
- var _test_utils = require("./test_utils");
24
+ var _test_utils = require("./test_utils.js");
25
25
 
26
- var _display_utils = require("../../display/display_utils");
26
+ var _display_utils = require("../../display/display_utils.js");
27
27
 
28
- var _api = require("../../display/api");
28
+ var _api = require("../../display/api.js");
29
29
 
30
- var _is_node = _interopRequireDefault(require("../../shared/is_node"));
30
+ var _is_node = require("../../shared/is_node.js");
31
31
 
32
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
32
+ var _node_utils = require("../../display/node_utils.js");
33
33
 
34
34
  function getTopLeftPixel(canvasContext) {
35
- var imgData = canvasContext.getImageData(0, 0, 1, 1);
35
+ const imgData = canvasContext.getImageData(0, 0, 1, 1);
36
36
  return {
37
37
  r: imgData.data[0],
38
38
  g: imgData.data[1],
@@ -41,14 +41,14 @@ function getTopLeftPixel(canvasContext) {
41
41
  };
42
42
  }
43
43
 
44
- describe('custom canvas rendering', function () {
45
- var transparentGetDocumentParams = (0, _test_utils.buildGetDocumentParams)('transparent.pdf');
46
- var CanvasFactory;
47
- var loadingTask;
48
- var page;
44
+ describe("custom canvas rendering", function () {
45
+ const transparentGetDocumentParams = (0, _test_utils.buildGetDocumentParams)("transparent.pdf");
46
+ let CanvasFactory;
47
+ let loadingTask;
48
+ let page;
49
49
  beforeAll(function (done) {
50
- if ((0, _is_node["default"])()) {
51
- CanvasFactory = new _test_utils.NodeCanvasFactory();
50
+ if (_is_node.isNodeJS) {
51
+ CanvasFactory = new _node_utils.NodeCanvasFactory();
52
52
  } else {
53
53
  CanvasFactory = new _display_utils.DOMCanvasFactory();
54
54
  }
@@ -59,21 +59,21 @@ describe('custom canvas rendering', function () {
59
59
  }).then(function (data) {
60
60
  page = data;
61
61
  done();
62
- })["catch"](done.fail);
62
+ }).catch(done.fail);
63
63
  });
64
64
  afterAll(function (done) {
65
65
  CanvasFactory = null;
66
66
  page = null;
67
67
  loadingTask.destroy().then(done);
68
68
  });
69
- it('renders to canvas with a default white background', function (done) {
69
+ it("renders to canvas with a default white background", function (done) {
70
70
  var viewport = page.getViewport({
71
71
  scale: 1
72
72
  });
73
73
  var canvasAndCtx = CanvasFactory.create(viewport.width, viewport.height);
74
- var renderTask = page.render({
74
+ const renderTask = page.render({
75
75
  canvasContext: canvasAndCtx.context,
76
- viewport: viewport
76
+ viewport
77
77
  });
78
78
  renderTask.promise.then(function () {
79
79
  expect(getTopLeftPixel(canvasAndCtx.context)).toEqual({
@@ -84,17 +84,17 @@ describe('custom canvas rendering', function () {
84
84
  });
85
85
  CanvasFactory.destroy(canvasAndCtx);
86
86
  done();
87
- })["catch"](done.fail);
87
+ }).catch(done.fail);
88
88
  });
89
- it('renders to canvas with a custom background', function (done) {
89
+ it("renders to canvas with a custom background", function (done) {
90
90
  var viewport = page.getViewport({
91
91
  scale: 1
92
92
  });
93
93
  var canvasAndCtx = CanvasFactory.create(viewport.width, viewport.height);
94
- var renderTask = page.render({
94
+ const renderTask = page.render({
95
95
  canvasContext: canvasAndCtx.context,
96
- viewport: viewport,
97
- background: 'rgba(255,0,0,1.0)'
96
+ viewport,
97
+ background: "rgba(255,0,0,1.0)"
98
98
  });
99
99
  renderTask.promise.then(function () {
100
100
  expect(getTopLeftPixel(canvasAndCtx.context)).toEqual({
@@ -105,6 +105,132 @@ describe('custom canvas rendering', function () {
105
105
  });
106
106
  CanvasFactory.destroy(canvasAndCtx);
107
107
  done();
108
- })["catch"](done.fail);
108
+ }).catch(done.fail);
109
+ });
110
+ });
111
+ describe("custom ownerDocument", function () {
112
+ const FontFace = globalThis.FontFace;
113
+
114
+ const checkFont = font => /g_d\d+_f1/.test(font.family);
115
+
116
+ const checkFontFaceRule = rule => /^@font-face {font-family:"g_d\d+_f1";src:/.test(rule);
117
+
118
+ beforeEach(() => {
119
+ globalThis.FontFace = function MockFontFace(name) {
120
+ this.family = name;
121
+ };
122
+ });
123
+ afterEach(() => {
124
+ globalThis.FontFace = FontFace;
125
+ });
126
+
127
+ function getMocks() {
128
+ const elements = [];
129
+
130
+ const createElement = name => {
131
+ let element = typeof document !== "undefined" && document.createElement(name);
132
+
133
+ if (name === "style") {
134
+ element = {
135
+ tagName: name,
136
+ sheet: {
137
+ cssRules: [],
138
+
139
+ insertRule(rule) {
140
+ this.cssRules.push(rule);
141
+ }
142
+
143
+ }
144
+ };
145
+ Object.assign(element, {
146
+ remove() {
147
+ this.remove.called = true;
148
+ }
149
+
150
+ });
151
+ }
152
+
153
+ elements.push(element);
154
+ return element;
155
+ };
156
+
157
+ const ownerDocument = {
158
+ fonts: new Set(),
159
+ createElement,
160
+ documentElement: {
161
+ getElementsByTagName: () => [{
162
+ appendChild: () => {}
163
+ }]
164
+ }
165
+ };
166
+ const CanvasFactory = _is_node.isNodeJS ? new _node_utils.NodeCanvasFactory() : new _display_utils.DOMCanvasFactory({
167
+ ownerDocument
168
+ });
169
+ return {
170
+ elements,
171
+ ownerDocument,
172
+ CanvasFactory
173
+ };
174
+ }
175
+
176
+ it("should use given document for loading fonts (with Font Loading API)", async function () {
177
+ const {
178
+ ownerDocument,
179
+ elements,
180
+ CanvasFactory
181
+ } = getMocks();
182
+ const getDocumentParams = (0, _test_utils.buildGetDocumentParams)("TrueType_without_cmap.pdf", {
183
+ disableFontFace: false,
184
+ ownerDocument
185
+ });
186
+ const loadingTask = (0, _api.getDocument)(getDocumentParams);
187
+ const doc = await loadingTask.promise;
188
+ const page = await doc.getPage(1);
189
+ const viewport = page.getViewport({
190
+ scale: 1
191
+ });
192
+ const canvasAndCtx = CanvasFactory.create(viewport.width, viewport.height);
193
+ await page.render({
194
+ canvasContext: canvasAndCtx.context,
195
+ viewport
196
+ }).promise;
197
+ const style = elements.find(element => element.tagName === "style");
198
+ expect(style).toBeFalsy();
199
+ expect(ownerDocument.fonts.size).toBeGreaterThanOrEqual(1);
200
+ expect(Array.from(ownerDocument.fonts).find(checkFont)).toBeTruthy();
201
+ await doc.destroy();
202
+ await loadingTask.destroy();
203
+ CanvasFactory.destroy(canvasAndCtx);
204
+ expect(ownerDocument.fonts.size).toBe(0);
205
+ });
206
+ it("should use given document for loading fonts (with CSS rules)", async function () {
207
+ const {
208
+ ownerDocument,
209
+ elements,
210
+ CanvasFactory
211
+ } = getMocks();
212
+ ownerDocument.fonts = null;
213
+ const getDocumentParams = (0, _test_utils.buildGetDocumentParams)("TrueType_without_cmap.pdf", {
214
+ disableFontFace: false,
215
+ ownerDocument
216
+ });
217
+ const loadingTask = (0, _api.getDocument)(getDocumentParams);
218
+ const doc = await loadingTask.promise;
219
+ const page = await doc.getPage(1);
220
+ const viewport = page.getViewport({
221
+ scale: 1
222
+ });
223
+ const canvasAndCtx = CanvasFactory.create(viewport.width, viewport.height);
224
+ await page.render({
225
+ canvasContext: canvasAndCtx.context,
226
+ viewport
227
+ }).promise;
228
+ const style = elements.find(element => element.tagName === "style");
229
+ expect(style.sheet.cssRules.length).toBeGreaterThanOrEqual(1);
230
+ expect(style.sheet.cssRules.find(checkFontFaceRule)).toBeTruthy();
231
+ await doc.destroy();
232
+ await loadingTask.destroy();
233
+ CanvasFactory.destroy(canvasAndCtx);
234
+ expect(style.remove.called).toBe(true);
109
235
  });
110
236
  });
@@ -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 2019 Mozilla Foundation
5
+ * Copyright 2020 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,42 +21,38 @@
21
21
  */
22
22
  "use strict";
23
23
 
24
- var _domstubs = require("../../examples/node/domstubs");
24
+ var _domstubs = require("../../examples/node/domstubs.js");
25
25
 
26
- var _test_utils = require("./test_utils");
26
+ var _test_utils = require("./test_utils.js");
27
27
 
28
- var _api = require("../../display/api");
28
+ var _api = require("../../display/api.js");
29
29
 
30
- var _is_node = _interopRequireDefault(require("../../shared/is_node"));
30
+ var _is_node = require("../../shared/is_node.js");
31
31
 
32
- var _util = require("../../shared/util");
32
+ var _svg = require("../../display/svg.js");
33
33
 
34
- var _svg = require("../../display/svg");
35
-
36
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
37
-
38
- var XLINK_NS = 'http://www.w3.org/1999/xlink';
34
+ const XLINK_NS = "http://www.w3.org/1999/xlink";
39
35
 
40
36
  function withZlib(isZlibRequired, callback) {
41
37
  if (isZlibRequired) {
42
- if (!(0, _is_node["default"])()) {
43
- throw new Error('zlib test can only be run in Node.js');
38
+ if (!_is_node.isNodeJS) {
39
+ throw new Error("zlib test can only be run in Node.js");
44
40
  }
45
41
 
46
42
  return callback();
47
43
  }
48
44
 
49
- if (!(0, _is_node["default"])()) {
45
+ if (!_is_node.isNodeJS) {
50
46
  return callback();
51
47
  }
52
48
 
53
- var zlib = require('zlib');
49
+ var zlib = require("zlib");
54
50
 
55
51
  var deflateSync = zlib.deflateSync;
56
52
  zlib.deflateSync = disabledDeflateSync;
57
53
 
58
54
  function disabledDeflateSync() {
59
- throw new Error('zlib.deflateSync is explicitly disabled for testing.');
55
+ throw new Error("zlib.deflateSync is explicitly disabled for testing.");
60
56
  }
61
57
 
62
58
  function restoreDeflateSync() {
@@ -70,13 +66,11 @@ function withZlib(isZlibRequired, callback) {
70
66
  return promise;
71
67
  }
72
68
 
73
- describe('SVGGraphics', function () {
69
+ describe("SVGGraphics", function () {
74
70
  var loadingTask;
75
71
  var page;
76
72
  beforeAll(function (done) {
77
- loadingTask = (0, _api.getDocument)((0, _test_utils.buildGetDocumentParams)('xobject-image.pdf', {
78
- nativeImageDecoderSupport: _util.NativeImageDecoding.DISPLAY
79
- }));
73
+ loadingTask = (0, _api.getDocument)((0, _test_utils.buildGetDocumentParams)("xobject-image.pdf"));
80
74
  loadingTask.promise.then(function (doc) {
81
75
  doc.getPage(1).then(function (firstPage) {
82
76
  page = firstPage;
@@ -87,7 +81,7 @@ describe('SVGGraphics', function () {
87
81
  afterAll(function (done) {
88
82
  loadingTask.destroy().then(done);
89
83
  });
90
- describe('paintImageXObject', function () {
84
+ describe("paintImageXObject", function () {
91
85
  function getSVGImage() {
92
86
  var svgGfx;
93
87
  return page.getOperatorList().then(function (opList) {
@@ -97,13 +91,14 @@ describe('SVGGraphics', function () {
97
91
  }).then(function () {
98
92
  var svgImg;
99
93
  var elementContainer = {
100
- appendChild: function appendChild(element) {
94
+ appendChild(element) {
101
95
  svgImg = element;
102
96
  }
97
+
103
98
  };
104
- var xobjectObjId = 'img_p0_1';
99
+ var xobjectObjId = "img_p0_1";
105
100
 
106
- if ((0, _is_node["default"])()) {
101
+ if (_is_node.isNodeJS) {
107
102
  (0, _domstubs.setStubs)(global);
108
103
  }
109
104
 
@@ -111,7 +106,7 @@ describe('SVGGraphics', function () {
111
106
  var imgData = svgGfx.objs.get(xobjectObjId);
112
107
  svgGfx.paintInlineImageXObject(imgData, elementContainer);
113
108
  } finally {
114
- if ((0, _is_node["default"])()) {
109
+ if (_is_node.isNodeJS) {
115
110
  (0, _domstubs.unsetStubs)(global);
116
111
  }
117
112
  }
@@ -122,37 +117,37 @@ describe('SVGGraphics', function () {
122
117
 
123
118
  it('should fail require("zlib") unless in Node.js', function () {
124
119
  function testFunc() {
125
- require('zlib');
120
+ require("zlib");
126
121
  }
127
122
 
128
123
  expect(testFunc.toString()).toMatch(/\srequire\(["']zlib["']\)/);
129
124
 
130
- if ((0, _is_node["default"])()) {
125
+ if (_is_node.isNodeJS) {
131
126
  expect(testFunc).not.toThrow();
132
127
  } else {
133
128
  expect(testFunc).toThrow();
134
129
  }
135
130
  });
136
- it('should produce a reasonably small svg:image', function (done) {
137
- if (!(0, _is_node["default"])()) {
138
- pending('zlib.deflateSync is not supported in non-Node environments.');
131
+ it("should produce a reasonably small svg:image", function (done) {
132
+ if (!_is_node.isNodeJS) {
133
+ pending("zlib.deflateSync is not supported in non-Node environments.");
139
134
  }
140
135
 
141
136
  withZlib(true, getSVGImage).then(function (svgImg) {
142
- expect(svgImg.nodeName).toBe('svg:image');
143
- expect(svgImg.getAttributeNS(null, 'width')).toBe('200px');
144
- expect(svgImg.getAttributeNS(null, 'height')).toBe('100px');
145
- var imgUrl = svgImg.getAttributeNS(XLINK_NS, 'href');
137
+ expect(svgImg.nodeName).toBe("svg:image");
138
+ expect(svgImg.getAttributeNS(null, "width")).toBe("200px");
139
+ expect(svgImg.getAttributeNS(null, "height")).toBe("100px");
140
+ var imgUrl = svgImg.getAttributeNS(XLINK_NS, "href");
146
141
  expect(imgUrl).toMatch(/^data:image\/png;base64,/);
147
142
  expect(imgUrl.length).toBeLessThan(367);
148
143
  }).then(done, done.fail);
149
144
  });
150
- it('should be able to produce a svg:image without zlib', function (done) {
145
+ it("should be able to produce a svg:image without zlib", function (done) {
151
146
  withZlib(false, getSVGImage).then(function (svgImg) {
152
- expect(svgImg.nodeName).toBe('svg:image');
153
- expect(svgImg.getAttributeNS(null, 'width')).toBe('200px');
154
- expect(svgImg.getAttributeNS(null, 'height')).toBe('100px');
155
- var imgUrl = svgImg.getAttributeNS(XLINK_NS, 'href');
147
+ expect(svgImg.nodeName).toBe("svg:image");
148
+ expect(svgImg.getAttributeNS(null, "width")).toBe("200px");
149
+ expect(svgImg.getAttributeNS(null, "height")).toBe("100px");
150
+ var imgUrl = svgImg.getAttributeNS(XLINK_NS, "href");
156
151
  expect(imgUrl).toMatch(/^data:image\/png;base64,/);
157
152
  expect(imgUrl.length).toBe(80246);
158
153
  }).then(done, done.fail);