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,33 +19,42 @@
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.DummyStatTimer = exports.StatTimer = exports.DOMSVGFactory = exports.DOMCMapReaderFactory = exports.DOMCanvasFactory = exports.DEFAULT_LINK_REL = exports.LinkTarget = exports.getFilenameFromUrl = exports.addLinkAttributes = exports.RenderingCancelledException = 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; }; }();
27
+ exports.addLinkAttributes = addLinkAttributes;
28
+ exports.getFilenameFromUrl = getFilenameFromUrl;
29
+ exports.loadScript = loadScript;
30
+ exports.DummyStatTimer = exports.StatTimer = exports.DOMSVGFactory = exports.DOMCMapReaderFactory = exports.DOMCanvasFactory = exports.DEFAULT_LINK_REL = exports.LinkTarget = exports.RenderingCancelledException = exports.PageViewport = void 0;
30
31
 
31
- var _util = require('../shared/util');
32
+ var _util = require("../shared/util");
32
33
 
33
34
  function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
34
35
 
36
+ 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); } }
37
+
38
+ function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
39
+
35
40
  var DEFAULT_LINK_REL = 'noopener noreferrer nofollow';
41
+ exports.DEFAULT_LINK_REL = DEFAULT_LINK_REL;
36
42
  var SVG_NS = 'http://www.w3.org/2000/svg';
37
43
 
38
- var DOMCanvasFactory = function () {
44
+ var DOMCanvasFactory =
45
+ /*#__PURE__*/
46
+ function () {
39
47
  function DOMCanvasFactory() {
40
48
  _classCallCheck(this, DOMCanvasFactory);
41
49
  }
42
50
 
43
51
  _createClass(DOMCanvasFactory, [{
44
- key: 'create',
52
+ key: "create",
45
53
  value: function create(width, height) {
46
54
  if (width <= 0 || height <= 0) {
47
55
  throw new Error('invalid canvas size');
48
56
  }
57
+
49
58
  var canvas = document.createElement('canvas');
50
59
  var context = canvas.getContext('2d');
51
60
  canvas.width = width;
@@ -56,23 +65,26 @@ var DOMCanvasFactory = function () {
56
65
  };
57
66
  }
58
67
  }, {
59
- key: 'reset',
68
+ key: "reset",
60
69
  value: function reset(canvasAndContext, width, height) {
61
70
  if (!canvasAndContext.canvas) {
62
71
  throw new Error('canvas is not specified');
63
72
  }
73
+
64
74
  if (width <= 0 || height <= 0) {
65
75
  throw new Error('invalid canvas size');
66
76
  }
77
+
67
78
  canvasAndContext.canvas.width = width;
68
79
  canvasAndContext.canvas.height = height;
69
80
  }
70
81
  }, {
71
- key: 'destroy',
82
+ key: "destroy",
72
83
  value: function destroy(canvasAndContext) {
73
84
  if (!canvasAndContext.canvas) {
74
85
  throw new Error('canvas is not specified');
75
86
  }
87
+
76
88
  canvasAndContext.canvas.width = 0;
77
89
  canvasAndContext.canvas.height = 0;
78
90
  canvasAndContext.canvas = null;
@@ -83,12 +95,16 @@ var DOMCanvasFactory = function () {
83
95
  return DOMCanvasFactory;
84
96
  }();
85
97
 
86
- var DOMCMapReaderFactory = function () {
98
+ exports.DOMCanvasFactory = DOMCanvasFactory;
99
+
100
+ var DOMCMapReaderFactory =
101
+ /*#__PURE__*/
102
+ function () {
87
103
  function DOMCMapReaderFactory(_ref) {
88
104
  var _ref$baseUrl = _ref.baseUrl,
89
- baseUrl = _ref$baseUrl === undefined ? null : _ref$baseUrl,
105
+ baseUrl = _ref$baseUrl === void 0 ? null : _ref$baseUrl,
90
106
  _ref$isCompressed = _ref.isCompressed,
91
- isCompressed = _ref$isCompressed === undefined ? false : _ref$isCompressed;
107
+ isCompressed = _ref$isCompressed === void 0 ? false : _ref$isCompressed;
92
108
 
93
109
  _classCallCheck(this, DOMCMapReaderFactory);
94
110
 
@@ -97,7 +113,7 @@ var DOMCMapReaderFactory = function () {
97
113
  }
98
114
 
99
115
  _createClass(DOMCMapReaderFactory, [{
100
- key: 'fetch',
116
+ key: "fetch",
101
117
  value: function fetch(_ref2) {
102
118
  var _this = this;
103
119
 
@@ -106,27 +122,34 @@ var DOMCMapReaderFactory = function () {
106
122
  if (!this.baseUrl) {
107
123
  return Promise.reject(new Error('The CMap "baseUrl" parameter must be specified, ensure that ' + 'the "cMapUrl" and "cMapPacked" API parameters are provided.'));
108
124
  }
125
+
109
126
  if (!name) {
110
127
  return Promise.reject(new Error('CMap name must be specified.'));
111
128
  }
129
+
112
130
  return new Promise(function (resolve, reject) {
113
131
  var url = _this.baseUrl + name + (_this.isCompressed ? '.bcmap' : '');
114
132
  var request = new XMLHttpRequest();
115
133
  request.open('GET', url, true);
134
+
116
135
  if (_this.isCompressed) {
117
136
  request.responseType = 'arraybuffer';
118
137
  }
138
+
119
139
  request.onreadystatechange = function () {
120
140
  if (request.readyState !== XMLHttpRequest.DONE) {
121
141
  return;
122
142
  }
143
+
123
144
  if (request.status === 200 || request.status === 0) {
124
- var data = void 0;
145
+ var data;
146
+
125
147
  if (_this.isCompressed && request.response) {
126
148
  data = new Uint8Array(request.response);
127
149
  } else if (!_this.isCompressed && request.responseText) {
128
150
  data = (0, _util.stringToBytes)(request.responseText);
129
151
  }
152
+
130
153
  if (data) {
131
154
  resolve({
132
155
  cMapData: data,
@@ -135,8 +158,10 @@ var DOMCMapReaderFactory = function () {
135
158
  return;
136
159
  }
137
160
  }
161
+
138
162
  reject(new Error('Unable to load ' + (_this.isCompressed ? 'binary ' : '') + 'CMap at: ' + url));
139
163
  };
164
+
140
165
  request.send(null);
141
166
  });
142
167
  }
@@ -145,13 +170,17 @@ var DOMCMapReaderFactory = function () {
145
170
  return DOMCMapReaderFactory;
146
171
  }();
147
172
 
148
- var DOMSVGFactory = function () {
173
+ exports.DOMCMapReaderFactory = DOMCMapReaderFactory;
174
+
175
+ var DOMSVGFactory =
176
+ /*#__PURE__*/
177
+ function () {
149
178
  function DOMSVGFactory() {
150
179
  _classCallCheck(this, DOMSVGFactory);
151
180
  }
152
181
 
153
182
  _createClass(DOMSVGFactory, [{
154
- key: 'create',
183
+ key: "create",
155
184
  value: function create(width, height) {
156
185
  (0, _util.assert)(width > 0 && height > 0, 'Invalid SVG dimensions');
157
186
  var svg = document.createElementNS(SVG_NS, 'svg:svg');
@@ -163,7 +192,7 @@ var DOMSVGFactory = function () {
163
192
  return svg;
164
193
  }
165
194
  }, {
166
- key: 'createElement',
195
+ key: "createElement",
167
196
  value: function createElement(type) {
168
197
  (0, _util.assert)(typeof type === 'string', 'Invalid SVG element type');
169
198
  return document.createElementNS(SVG_NS, type);
@@ -173,16 +202,149 @@ var DOMSVGFactory = function () {
173
202
  return DOMSVGFactory;
174
203
  }();
175
204
 
205
+ exports.DOMSVGFactory = DOMSVGFactory;
206
+
207
+ var PageViewport =
208
+ /*#__PURE__*/
209
+ function () {
210
+ function PageViewport(_ref3) {
211
+ var viewBox = _ref3.viewBox,
212
+ scale = _ref3.scale,
213
+ rotation = _ref3.rotation,
214
+ _ref3$offsetX = _ref3.offsetX,
215
+ offsetX = _ref3$offsetX === void 0 ? 0 : _ref3$offsetX,
216
+ _ref3$offsetY = _ref3.offsetY,
217
+ offsetY = _ref3$offsetY === void 0 ? 0 : _ref3$offsetY,
218
+ _ref3$dontFlip = _ref3.dontFlip,
219
+ dontFlip = _ref3$dontFlip === void 0 ? false : _ref3$dontFlip;
220
+
221
+ _classCallCheck(this, PageViewport);
222
+
223
+ this.viewBox = viewBox;
224
+ this.scale = scale;
225
+ this.rotation = rotation;
226
+ this.offsetX = offsetX;
227
+ this.offsetY = offsetY;
228
+ var centerX = (viewBox[2] + viewBox[0]) / 2;
229
+ var centerY = (viewBox[3] + viewBox[1]) / 2;
230
+ var rotateA, rotateB, rotateC, rotateD;
231
+ rotation = rotation % 360;
232
+ rotation = rotation < 0 ? rotation + 360 : rotation;
233
+
234
+ switch (rotation) {
235
+ case 180:
236
+ rotateA = -1;
237
+ rotateB = 0;
238
+ rotateC = 0;
239
+ rotateD = 1;
240
+ break;
241
+
242
+ case 90:
243
+ rotateA = 0;
244
+ rotateB = 1;
245
+ rotateC = 1;
246
+ rotateD = 0;
247
+ break;
248
+
249
+ case 270:
250
+ rotateA = 0;
251
+ rotateB = -1;
252
+ rotateC = -1;
253
+ rotateD = 0;
254
+ break;
255
+
256
+ default:
257
+ rotateA = 1;
258
+ rotateB = 0;
259
+ rotateC = 0;
260
+ rotateD = -1;
261
+ break;
262
+ }
263
+
264
+ if (dontFlip) {
265
+ rotateC = -rotateC;
266
+ rotateD = -rotateD;
267
+ }
268
+
269
+ var offsetCanvasX, offsetCanvasY;
270
+ var width, height;
271
+
272
+ if (rotateA === 0) {
273
+ offsetCanvasX = Math.abs(centerY - viewBox[1]) * scale + offsetX;
274
+ offsetCanvasY = Math.abs(centerX - viewBox[0]) * scale + offsetY;
275
+ width = Math.abs(viewBox[3] - viewBox[1]) * scale;
276
+ height = Math.abs(viewBox[2] - viewBox[0]) * scale;
277
+ } else {
278
+ offsetCanvasX = Math.abs(centerX - viewBox[0]) * scale + offsetX;
279
+ offsetCanvasY = Math.abs(centerY - viewBox[1]) * scale + offsetY;
280
+ width = Math.abs(viewBox[2] - viewBox[0]) * scale;
281
+ height = Math.abs(viewBox[3] - viewBox[1]) * scale;
282
+ }
283
+
284
+ this.transform = [rotateA * scale, rotateB * scale, rotateC * scale, rotateD * scale, offsetCanvasX - rotateA * scale * centerX - rotateC * scale * centerY, offsetCanvasY - rotateB * scale * centerX - rotateD * scale * centerY];
285
+ this.width = width;
286
+ this.height = height;
287
+ }
288
+
289
+ _createClass(PageViewport, [{
290
+ key: "clone",
291
+ value: function clone() {
292
+ var _ref4 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
293
+ _ref4$scale = _ref4.scale,
294
+ scale = _ref4$scale === void 0 ? this.scale : _ref4$scale,
295
+ _ref4$rotation = _ref4.rotation,
296
+ rotation = _ref4$rotation === void 0 ? this.rotation : _ref4$rotation,
297
+ _ref4$dontFlip = _ref4.dontFlip,
298
+ dontFlip = _ref4$dontFlip === void 0 ? false : _ref4$dontFlip;
299
+
300
+ return new PageViewport({
301
+ viewBox: this.viewBox.slice(),
302
+ scale: scale,
303
+ rotation: rotation,
304
+ offsetX: this.offsetX,
305
+ offsetY: this.offsetY,
306
+ dontFlip: dontFlip
307
+ });
308
+ }
309
+ }, {
310
+ key: "convertToViewportPoint",
311
+ value: function convertToViewportPoint(x, y) {
312
+ return _util.Util.applyTransform([x, y], this.transform);
313
+ }
314
+ }, {
315
+ key: "convertToViewportRectangle",
316
+ value: function convertToViewportRectangle(rect) {
317
+ var tl = _util.Util.applyTransform([rect[0], rect[1]], this.transform);
318
+
319
+ var br = _util.Util.applyTransform([rect[2], rect[3]], this.transform);
320
+
321
+ return [tl[0], tl[1], br[0], br[1]];
322
+ }
323
+ }, {
324
+ key: "convertToPdfPoint",
325
+ value: function convertToPdfPoint(x, y) {
326
+ return _util.Util.applyInverseTransform([x, y], this.transform);
327
+ }
328
+ }]);
329
+
330
+ return PageViewport;
331
+ }();
332
+
333
+ exports.PageViewport = PageViewport;
334
+
176
335
  var RenderingCancelledException = function RenderingCancelledException() {
177
336
  function RenderingCancelledException(msg, type) {
178
337
  this.message = msg;
179
338
  this.type = type;
180
339
  }
340
+
181
341
  RenderingCancelledException.prototype = new Error();
182
342
  RenderingCancelledException.prototype.name = 'RenderingCancelledException';
183
343
  RenderingCancelledException.constructor = RenderingCancelledException;
184
344
  return RenderingCancelledException;
185
345
  }();
346
+
347
+ exports.RenderingCancelledException = RenderingCancelledException;
186
348
  var LinkTarget = {
187
349
  NONE: 0,
188
350
  SELF: 1,
@@ -190,14 +352,17 @@ var LinkTarget = {
190
352
  PARENT: 3,
191
353
  TOP: 4
192
354
  };
355
+ exports.LinkTarget = LinkTarget;
193
356
  var LinkTargetStringMap = ['', '_self', '_blank', '_parent', '_top'];
357
+
194
358
  function addLinkAttributes(link) {
195
- var _ref3 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},
196
- url = _ref3.url,
197
- target = _ref3.target,
198
- rel = _ref3.rel;
359
+ var _ref5 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},
360
+ url = _ref5.url,
361
+ target = _ref5.target,
362
+ rel = _ref5.rel;
199
363
 
200
364
  link.href = link.title = url ? (0, _util.removeNullCharacters)(url) : '';
365
+
201
366
  if (url) {
202
367
  var LinkTargetValues = Object.values(LinkTarget);
203
368
  var targetIndex = LinkTargetValues.includes(target) ? target : LinkTarget.NONE;
@@ -205,6 +370,7 @@ function addLinkAttributes(link) {
205
370
  link.rel = typeof rel === 'string' ? rel : DEFAULT_LINK_REL;
206
371
  }
207
372
  }
373
+
208
374
  function getFilenameFromUrl(url) {
209
375
  var anchor = url.indexOf('#');
210
376
  var query = url.indexOf('?');
@@ -212,7 +378,9 @@ function getFilenameFromUrl(url) {
212
378
  return url.substring(url.lastIndexOf('/', end) + 1, end);
213
379
  }
214
380
 
215
- var StatTimer = function () {
381
+ var StatTimer =
382
+ /*#__PURE__*/
383
+ function () {
216
384
  function StatTimer() {
217
385
  var enable = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;
218
386
 
@@ -224,25 +392,29 @@ var StatTimer = function () {
224
392
  }
225
393
 
226
394
  _createClass(StatTimer, [{
227
- key: 'time',
395
+ key: "time",
228
396
  value: function time(name) {
229
397
  if (!this.enabled) {
230
398
  return;
231
399
  }
400
+
232
401
  if (name in this.started) {
233
402
  (0, _util.warn)('Timer is already running for ' + name);
234
403
  }
404
+
235
405
  this.started[name] = Date.now();
236
406
  }
237
407
  }, {
238
- key: 'timeEnd',
408
+ key: "timeEnd",
239
409
  value: function timeEnd(name) {
240
410
  if (!this.enabled) {
241
411
  return;
242
412
  }
413
+
243
414
  if (!(name in this.started)) {
244
415
  (0, _util.warn)('Timer has not been started for ' + name);
245
416
  }
417
+
246
418
  this.times.push({
247
419
  'name': name,
248
420
  'start': this.started[name],
@@ -251,22 +423,26 @@ var StatTimer = function () {
251
423
  delete this.started[name];
252
424
  }
253
425
  }, {
254
- key: 'toString',
426
+ key: "toString",
255
427
  value: function toString() {
256
428
  var times = this.times;
257
429
  var out = '',
258
430
  longest = 0;
431
+
259
432
  for (var i = 0, ii = times.length; i < ii; ++i) {
260
433
  var name = times[i]['name'];
434
+
261
435
  if (name.length > longest) {
262
436
  longest = name.length;
263
437
  }
264
438
  }
439
+
265
440
  for (var _i = 0, _ii = times.length; _i < _ii; ++_i) {
266
441
  var span = times[_i];
267
442
  var duration = span.end - span.start;
268
- out += span['name'].padEnd(longest) + ' ' + duration + 'ms\n';
443
+ out += "".concat(span['name'].padEnd(longest), " ").concat(duration, "ms\n");
269
444
  }
445
+
270
446
  return out;
271
447
  }
272
448
  }]);
@@ -274,7 +450,11 @@ var StatTimer = function () {
274
450
  return StatTimer;
275
451
  }();
276
452
 
277
- var DummyStatTimer = function () {
453
+ exports.StatTimer = StatTimer;
454
+
455
+ var DummyStatTimer =
456
+ /*#__PURE__*/
457
+ function () {
278
458
  function DummyStatTimer() {
279
459
  _classCallCheck(this, DummyStatTimer);
280
460
 
@@ -282,13 +462,13 @@ var DummyStatTimer = function () {
282
462
  }
283
463
 
284
464
  _createClass(DummyStatTimer, null, [{
285
- key: 'time',
465
+ key: "time",
286
466
  value: function time(name) {}
287
467
  }, {
288
- key: 'timeEnd',
468
+ key: "timeEnd",
289
469
  value: function timeEnd(name) {}
290
470
  }, {
291
- key: 'toString',
471
+ key: "toString",
292
472
  value: function toString() {
293
473
  return '';
294
474
  }
@@ -297,13 +477,18 @@ var DummyStatTimer = function () {
297
477
  return DummyStatTimer;
298
478
  }();
299
479
 
300
- exports.RenderingCancelledException = RenderingCancelledException;
301
- exports.addLinkAttributes = addLinkAttributes;
302
- exports.getFilenameFromUrl = getFilenameFromUrl;
303
- exports.LinkTarget = LinkTarget;
304
- exports.DEFAULT_LINK_REL = DEFAULT_LINK_REL;
305
- exports.DOMCanvasFactory = DOMCanvasFactory;
306
- exports.DOMCMapReaderFactory = DOMCMapReaderFactory;
307
- exports.DOMSVGFactory = DOMSVGFactory;
308
- exports.StatTimer = StatTimer;
309
- exports.DummyStatTimer = DummyStatTimer;
480
+ exports.DummyStatTimer = DummyStatTimer;
481
+
482
+ function loadScript(src) {
483
+ return new Promise(function (resolve, reject) {
484
+ var script = document.createElement('script');
485
+ script.src = src;
486
+ script.onload = resolve;
487
+
488
+ script.onerror = function () {
489
+ reject(new Error("Cannot load script at: ".concat(script.src)));
490
+ };
491
+
492
+ (document.head || document.documentElement).appendChild(script);
493
+ });
494
+ }