html2canvas-pro 1.6.0 → 1.6.2

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.
Files changed (262) hide show
  1. package/dist/html2canvas-pro.esm.js +2509 -3036
  2. package/dist/html2canvas-pro.esm.js.map +1 -1
  3. package/dist/html2canvas-pro.js +2517 -3040
  4. package/dist/html2canvas-pro.js.map +1 -1
  5. package/dist/html2canvas-pro.min.js +6 -2
  6. package/dist/lib/__tests__/index.js +57 -122
  7. package/dist/lib/__tests__/index.js.map +1 -1
  8. package/dist/lib/core/__mocks__/cache-storage.js +2 -5
  9. package/dist/lib/core/__mocks__/cache-storage.js.map +1 -1
  10. package/dist/lib/core/__mocks__/context.js +7 -10
  11. package/dist/lib/core/__mocks__/context.js.map +1 -1
  12. package/dist/lib/core/__mocks__/logger.js +9 -17
  13. package/dist/lib/core/__mocks__/logger.js.map +1 -1
  14. package/dist/lib/core/__tests__/cache-storage.js +153 -351
  15. package/dist/lib/core/__tests__/cache-storage.js.map +1 -1
  16. package/dist/lib/core/__tests__/logger.js +12 -13
  17. package/dist/lib/core/__tests__/logger.js.map +1 -1
  18. package/dist/lib/core/bitwise.js +1 -1
  19. package/dist/lib/core/bitwise.js.map +1 -1
  20. package/dist/lib/core/cache-storage.js +92 -155
  21. package/dist/lib/core/cache-storage.js.map +1 -1
  22. package/dist/lib/core/context.js +8 -10
  23. package/dist/lib/core/context.js.map +1 -1
  24. package/dist/lib/core/debugger.js +5 -5
  25. package/dist/lib/core/debugger.js.map +1 -1
  26. package/dist/lib/core/features.js +65 -68
  27. package/dist/lib/core/features.js.map +1 -1
  28. package/dist/lib/core/logger.js +21 -56
  29. package/dist/lib/core/logger.js.map +1 -1
  30. package/dist/lib/css/index.js +98 -103
  31. package/dist/lib/css/index.js.map +1 -1
  32. package/dist/lib/css/layout/__mocks__/bounds.js +1 -1
  33. package/dist/lib/css/layout/__mocks__/bounds.js.map +1 -1
  34. package/dist/lib/css/layout/bounds.js +20 -21
  35. package/dist/lib/css/layout/bounds.js.map +1 -1
  36. package/dist/lib/css/layout/text.js +50 -58
  37. package/dist/lib/css/layout/text.js.map +1 -1
  38. package/dist/lib/css/property-descriptors/__tests__/background-tests.js +24 -29
  39. package/dist/lib/css/property-descriptors/__tests__/background-tests.js.map +1 -1
  40. package/dist/lib/css/property-descriptors/__tests__/font-family.js +14 -20
  41. package/dist/lib/css/property-descriptors/__tests__/font-family.js.map +1 -1
  42. package/dist/lib/css/property-descriptors/__tests__/paint-order.js +61 -83
  43. package/dist/lib/css/property-descriptors/__tests__/paint-order.js.map +1 -1
  44. package/dist/lib/css/property-descriptors/__tests__/text-shadow.js +75 -87
  45. package/dist/lib/css/property-descriptors/__tests__/text-shadow.js.map +1 -1
  46. package/dist/lib/css/property-descriptors/__tests__/transform-tests.js +9 -13
  47. package/dist/lib/css/property-descriptors/__tests__/transform-tests.js.map +1 -1
  48. package/dist/lib/css/property-descriptors/background-clip.js +3 -3
  49. package/dist/lib/css/property-descriptors/background-clip.js.map +1 -1
  50. package/dist/lib/css/property-descriptors/background-color.js +1 -1
  51. package/dist/lib/css/property-descriptors/background-image.js +6 -6
  52. package/dist/lib/css/property-descriptors/background-image.js.map +1 -1
  53. package/dist/lib/css/property-descriptors/background-origin.js +3 -3
  54. package/dist/lib/css/property-descriptors/background-origin.js.map +1 -1
  55. package/dist/lib/css/property-descriptors/background-position.js +6 -6
  56. package/dist/lib/css/property-descriptors/background-position.js.map +1 -1
  57. package/dist/lib/css/property-descriptors/background-repeat.js +7 -9
  58. package/dist/lib/css/property-descriptors/background-repeat.js.map +1 -1
  59. package/dist/lib/css/property-descriptors/background-size.js +5 -7
  60. package/dist/lib/css/property-descriptors/background-size.js.map +1 -1
  61. package/dist/lib/css/property-descriptors/border-color.js +3 -3
  62. package/dist/lib/css/property-descriptors/border-color.js.map +1 -1
  63. package/dist/lib/css/property-descriptors/border-radius.js +5 -7
  64. package/dist/lib/css/property-descriptors/border-radius.js.map +1 -1
  65. package/dist/lib/css/property-descriptors/border-style.js +4 -4
  66. package/dist/lib/css/property-descriptors/border-style.js.map +1 -1
  67. package/dist/lib/css/property-descriptors/border-width.js +5 -5
  68. package/dist/lib/css/property-descriptors/border-width.js.map +1 -1
  69. package/dist/lib/css/property-descriptors/box-shadow.js +10 -10
  70. package/dist/lib/css/property-descriptors/box-shadow.js.map +1 -1
  71. package/dist/lib/css/property-descriptors/color.js +1 -1
  72. package/dist/lib/css/property-descriptors/content.js +2 -2
  73. package/dist/lib/css/property-descriptors/content.js.map +1 -1
  74. package/dist/lib/css/property-descriptors/counter-increment.js +10 -10
  75. package/dist/lib/css/property-descriptors/counter-increment.js.map +1 -1
  76. package/dist/lib/css/property-descriptors/counter-reset.js +9 -9
  77. package/dist/lib/css/property-descriptors/counter-reset.js.map +1 -1
  78. package/dist/lib/css/property-descriptors/direction.js +1 -1
  79. package/dist/lib/css/property-descriptors/direction.js.map +1 -1
  80. package/dist/lib/css/property-descriptors/display.js +4 -4
  81. package/dist/lib/css/property-descriptors/display.js.map +1 -1
  82. package/dist/lib/css/property-descriptors/duration.js +4 -4
  83. package/dist/lib/css/property-descriptors/duration.js.map +1 -1
  84. package/dist/lib/css/property-descriptors/float.js +1 -1
  85. package/dist/lib/css/property-descriptors/float.js.map +1 -1
  86. package/dist/lib/css/property-descriptors/font-family.js +6 -6
  87. package/dist/lib/css/property-descriptors/font-family.js.map +1 -1
  88. package/dist/lib/css/property-descriptors/font-size.js +1 -1
  89. package/dist/lib/css/property-descriptors/font-style.js +1 -1
  90. package/dist/lib/css/property-descriptors/font-style.js.map +1 -1
  91. package/dist/lib/css/property-descriptors/font-variant.js +3 -3
  92. package/dist/lib/css/property-descriptors/font-variant.js.map +1 -1
  93. package/dist/lib/css/property-descriptors/font-weight.js +2 -2
  94. package/dist/lib/css/property-descriptors/font-weight.js.map +1 -1
  95. package/dist/lib/css/property-descriptors/letter-spacing.js +1 -1
  96. package/dist/lib/css/property-descriptors/letter-spacing.js.map +1 -1
  97. package/dist/lib/css/property-descriptors/line-break.js +1 -1
  98. package/dist/lib/css/property-descriptors/line-break.js.map +1 -1
  99. package/dist/lib/css/property-descriptors/line-height.js +3 -3
  100. package/dist/lib/css/property-descriptors/line-height.js.map +1 -1
  101. package/dist/lib/css/property-descriptors/list-style-image.js +2 -2
  102. package/dist/lib/css/property-descriptors/list-style-image.js.map +1 -1
  103. package/dist/lib/css/property-descriptors/list-style-position.js +1 -1
  104. package/dist/lib/css/property-descriptors/list-style-position.js.map +1 -1
  105. package/dist/lib/css/property-descriptors/list-style-type.js +1 -1
  106. package/dist/lib/css/property-descriptors/list-style-type.js.map +1 -1
  107. package/dist/lib/css/property-descriptors/margin.js +3 -3
  108. package/dist/lib/css/property-descriptors/margin.js.map +1 -1
  109. package/dist/lib/css/property-descriptors/object-fit.js +4 -4
  110. package/dist/lib/css/property-descriptors/object-fit.js.map +1 -1
  111. package/dist/lib/css/property-descriptors/opacity.js +2 -2
  112. package/dist/lib/css/property-descriptors/opacity.js.map +1 -1
  113. package/dist/lib/css/property-descriptors/overflow-wrap.js +1 -1
  114. package/dist/lib/css/property-descriptors/overflow-wrap.js.map +1 -1
  115. package/dist/lib/css/property-descriptors/overflow.js +3 -3
  116. package/dist/lib/css/property-descriptors/overflow.js.map +1 -1
  117. package/dist/lib/css/property-descriptors/padding.js +3 -3
  118. package/dist/lib/css/property-descriptors/padding.js.map +1 -1
  119. package/dist/lib/css/property-descriptors/paint-order.js +6 -6
  120. package/dist/lib/css/property-descriptors/paint-order.js.map +1 -1
  121. package/dist/lib/css/property-descriptors/position.js +1 -1
  122. package/dist/lib/css/property-descriptors/position.js.map +1 -1
  123. package/dist/lib/css/property-descriptors/quotes.js +11 -11
  124. package/dist/lib/css/property-descriptors/quotes.js.map +1 -1
  125. package/dist/lib/css/property-descriptors/rotate.js +3 -3
  126. package/dist/lib/css/property-descriptors/rotate.js.map +1 -1
  127. package/dist/lib/css/property-descriptors/text-align.js +1 -1
  128. package/dist/lib/css/property-descriptors/text-align.js.map +1 -1
  129. package/dist/lib/css/property-descriptors/text-decoration-color.js +1 -1
  130. package/dist/lib/css/property-descriptors/text-decoration-line.js +4 -4
  131. package/dist/lib/css/property-descriptors/text-decoration-line.js.map +1 -1
  132. package/dist/lib/css/property-descriptors/text-shadow.js +10 -10
  133. package/dist/lib/css/property-descriptors/text-shadow.js.map +1 -1
  134. package/dist/lib/css/property-descriptors/text-transform.js +1 -1
  135. package/dist/lib/css/property-descriptors/text-transform.js.map +1 -1
  136. package/dist/lib/css/property-descriptors/transform-origin.js +6 -6
  137. package/dist/lib/css/property-descriptors/transform-origin.js.map +1 -1
  138. package/dist/lib/css/property-descriptors/transform.js +15 -15
  139. package/dist/lib/css/property-descriptors/transform.js.map +1 -1
  140. package/dist/lib/css/property-descriptors/visibility.js +1 -1
  141. package/dist/lib/css/property-descriptors/visibility.js.map +1 -1
  142. package/dist/lib/css/property-descriptors/webkit-text-stroke-color.js +1 -1
  143. package/dist/lib/css/property-descriptors/webkit-text-stroke-width.js +3 -3
  144. package/dist/lib/css/property-descriptors/webkit-text-stroke-width.js.map +1 -1
  145. package/dist/lib/css/property-descriptors/word-break.js +1 -1
  146. package/dist/lib/css/property-descriptors/word-break.js.map +1 -1
  147. package/dist/lib/css/property-descriptors/z-index.js +3 -3
  148. package/dist/lib/css/property-descriptors/z-index.js.map +1 -1
  149. package/dist/lib/css/syntax/__tests__/tokernizer-tests.js +17 -25
  150. package/dist/lib/css/syntax/__tests__/tokernizer-tests.js.map +1 -1
  151. package/dist/lib/css/syntax/parser.js +50 -55
  152. package/dist/lib/css/syntax/parser.js.map +1 -1
  153. package/dist/lib/css/syntax/tokenizer.js +205 -214
  154. package/dist/lib/css/syntax/tokenizer.js.map +1 -1
  155. package/dist/lib/css/types/__tests__/color-tests.js +103 -167
  156. package/dist/lib/css/types/__tests__/color-tests.js.map +1 -1
  157. package/dist/lib/css/types/__tests__/image-tests.js +192 -217
  158. package/dist/lib/css/types/__tests__/image-tests.js.map +1 -1
  159. package/dist/lib/css/types/angle.js +13 -13
  160. package/dist/lib/css/types/angle.js.map +1 -1
  161. package/dist/lib/css/types/color-spaces/a98.js +18 -22
  162. package/dist/lib/css/types/color-spaces/a98.js.map +1 -1
  163. package/dist/lib/css/types/color-spaces/p3.js +17 -22
  164. package/dist/lib/css/types/color-spaces/p3.js.map +1 -1
  165. package/dist/lib/css/types/color-spaces/pro-photo.js +17 -21
  166. package/dist/lib/css/types/color-spaces/pro-photo.js.map +1 -1
  167. package/dist/lib/css/types/color-spaces/rec2020.js +15 -19
  168. package/dist/lib/css/types/color-spaces/rec2020.js.map +1 -1
  169. package/dist/lib/css/types/color-spaces/srgb.js +17 -23
  170. package/dist/lib/css/types/color-spaces/srgb.js.map +1 -1
  171. package/dist/lib/css/types/color-utilities.js +80 -103
  172. package/dist/lib/css/types/color-utilities.js.map +1 -1
  173. package/dist/lib/css/types/color.js +72 -66
  174. package/dist/lib/css/types/color.js.map +1 -1
  175. package/dist/lib/css/types/functions/-prefix-linear-gradient.js +11 -11
  176. package/dist/lib/css/types/functions/-prefix-linear-gradient.js.map +1 -1
  177. package/dist/lib/css/types/functions/-prefix-radial-gradient.js +16 -16
  178. package/dist/lib/css/types/functions/-prefix-radial-gradient.js.map +1 -1
  179. package/dist/lib/css/types/functions/-webkit-gradient.js +26 -26
  180. package/dist/lib/css/types/functions/-webkit-gradient.js.map +1 -1
  181. package/dist/lib/css/types/functions/__tests__/radial-gradient.js +57 -65
  182. package/dist/lib/css/types/functions/__tests__/radial-gradient.js.map +1 -1
  183. package/dist/lib/css/types/functions/counter.js +59 -65
  184. package/dist/lib/css/types/functions/counter.js.map +1 -1
  185. package/dist/lib/css/types/functions/gradient.js +51 -52
  186. package/dist/lib/css/types/functions/gradient.js.map +1 -1
  187. package/dist/lib/css/types/functions/linear-gradient.js +10 -10
  188. package/dist/lib/css/types/functions/linear-gradient.js.map +1 -1
  189. package/dist/lib/css/types/functions/radial-gradient.js +17 -17
  190. package/dist/lib/css/types/functions/radial-gradient.js.map +1 -1
  191. package/dist/lib/css/types/image.js +14 -14
  192. package/dist/lib/css/types/image.js.map +1 -1
  193. package/dist/lib/css/types/length-percentage.js +19 -27
  194. package/dist/lib/css/types/length-percentage.js.map +1 -1
  195. package/dist/lib/css/types/length.js +1 -3
  196. package/dist/lib/css/types/length.js.map +1 -1
  197. package/dist/lib/css/types/time.js +2 -2
  198. package/dist/lib/css/types/time.js.map +1 -1
  199. package/dist/lib/dom/__mocks__/document-cloner.js +7 -8
  200. package/dist/lib/dom/__mocks__/document-cloner.js.map +1 -1
  201. package/dist/lib/dom/document-cloner.js +195 -219
  202. package/dist/lib/dom/document-cloner.js.map +1 -1
  203. package/dist/lib/dom/element-container.js +8 -9
  204. package/dist/lib/dom/element-container.js.map +1 -1
  205. package/dist/lib/dom/elements/li-element-container.js +6 -24
  206. package/dist/lib/dom/elements/li-element-container.js.map +1 -1
  207. package/dist/lib/dom/elements/ol-element-container.js +7 -25
  208. package/dist/lib/dom/elements/ol-element-container.js.map +1 -1
  209. package/dist/lib/dom/elements/select-element-container.js +7 -25
  210. package/dist/lib/dom/elements/select-element-container.js.map +1 -1
  211. package/dist/lib/dom/elements/textarea-element-container.js +6 -24
  212. package/dist/lib/dom/elements/textarea-element-container.js.map +1 -1
  213. package/dist/lib/dom/node-parser.js +42 -46
  214. package/dist/lib/dom/node-parser.js.map +1 -1
  215. package/dist/lib/dom/replaced-elements/canvas-element-container.js +8 -26
  216. package/dist/lib/dom/replaced-elements/canvas-element-container.js.map +1 -1
  217. package/dist/lib/dom/replaced-elements/iframe-element-container.js +17 -35
  218. package/dist/lib/dom/replaced-elements/iframe-element-container.js.map +1 -1
  219. package/dist/lib/dom/replaced-elements/image-element-container.js +9 -27
  220. package/dist/lib/dom/replaced-elements/image-element-container.js.map +1 -1
  221. package/dist/lib/dom/replaced-elements/input-element-container.js +47 -59
  222. package/dist/lib/dom/replaced-elements/input-element-container.js.map +1 -1
  223. package/dist/lib/dom/replaced-elements/svg-element-container.js +14 -32
  224. package/dist/lib/dom/replaced-elements/svg-element-container.js.map +1 -1
  225. package/dist/lib/dom/text-container.js +7 -8
  226. package/dist/lib/dom/text-container.js.map +1 -1
  227. package/dist/lib/index.js +101 -156
  228. package/dist/lib/index.js.map +1 -1
  229. package/dist/lib/invariant.js +1 -1
  230. package/dist/lib/invariant.js.map +1 -1
  231. package/dist/lib/render/background.js +44 -47
  232. package/dist/lib/render/background.js.map +1 -1
  233. package/dist/lib/render/bezier-curve.js +18 -19
  234. package/dist/lib/render/bezier-curve.js.map +1 -1
  235. package/dist/lib/render/border.js +9 -9
  236. package/dist/lib/render/border.js.map +1 -1
  237. package/dist/lib/render/bound-curves.js +35 -36
  238. package/dist/lib/render/bound-curves.js.map +1 -1
  239. package/dist/lib/render/box-sizing.js +11 -11
  240. package/dist/lib/render/box-sizing.js.map +1 -1
  241. package/dist/lib/render/canvas/canvas-renderer.js +639 -918
  242. package/dist/lib/render/canvas/canvas-renderer.js.map +1 -1
  243. package/dist/lib/render/canvas/foreignobject-renderer.js +35 -101
  244. package/dist/lib/render/canvas/foreignobject-renderer.js.map +1 -1
  245. package/dist/lib/render/effects.js +12 -17
  246. package/dist/lib/render/effects.js.map +1 -1
  247. package/dist/lib/render/font-metrics.js +17 -18
  248. package/dist/lib/render/font-metrics.js.map +1 -1
  249. package/dist/lib/render/path.js +4 -4
  250. package/dist/lib/render/path.js.map +1 -1
  251. package/dist/lib/render/renderer.js +3 -4
  252. package/dist/lib/render/renderer.js.map +1 -1
  253. package/dist/lib/render/stacking-context.js +71 -73
  254. package/dist/lib/render/stacking-context.js.map +1 -1
  255. package/dist/lib/render/vector.js +6 -7
  256. package/dist/lib/render/vector.js.map +1 -1
  257. package/dist/types/dom/replaced-elements/input-element-container.d.ts +2 -0
  258. package/dist/types/index.d.ts +1 -0
  259. package/eslint.config.js +35 -0
  260. package/jest.config.cjs +5 -0
  261. package/karma.conf.cjs +295 -0
  262. package/package.json +32 -20
@@ -1,67 +1,19 @@
1
1
  "use strict";
2
- var __assign = (this && this.__assign) || function () {
3
- __assign = Object.assign || function(t) {
4
- for (var s, i = 1, n = arguments.length; i < n; i++) {
5
- s = arguments[i];
6
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
- t[p] = s[p];
8
- }
9
- return t;
10
- };
11
- return __assign.apply(this, arguments);
12
- };
13
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
14
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
15
- return new (P || (P = Promise))(function (resolve, reject) {
16
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
17
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
18
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
19
- step((generator = generator.apply(thisArg, _arguments || [])).next());
20
- });
21
- };
22
- var __generator = (this && this.__generator) || function (thisArg, body) {
23
- var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
24
- return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
25
- function verb(n) { return function (v) { return step([n, v]); }; }
26
- function step(op) {
27
- if (f) throw new TypeError("Generator is already executing.");
28
- while (g && (g = 0, op[0] && (_ = 0)), _) try {
29
- if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
30
- if (y = 0, t) op = [op[0] & 2, t.value];
31
- switch (op[0]) {
32
- case 0: case 1: t = op; break;
33
- case 4: _.label++; return { value: op[1], done: false };
34
- case 5: _.label++; y = op[1]; op = [0]; continue;
35
- case 7: op = _.ops.pop(); _.trys.pop(); continue;
36
- default:
37
- if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
38
- if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
39
- if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
40
- if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
41
- if (t[2]) _.ops.pop();
42
- _.trys.pop(); continue;
43
- }
44
- op = body.call(thisArg, _);
45
- } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
46
- if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
47
- }
48
- };
49
2
  Object.defineProperty(exports, "__esModule", { value: true });
50
- var assert_1 = require("assert");
51
- var features_1 = require("../features");
52
- var cache_storage_1 = require("../cache-storage");
53
- var context_1 = require("../context");
54
- var bounds_1 = require("../../css/layout/bounds");
55
- var proxy = 'http://example.com/proxy';
56
- var createMockContext = function (origin, opts) {
57
- if (opts === void 0) { opts = {}; }
58
- var context = {
3
+ const assert_1 = require("assert");
4
+ const features_1 = require("../features");
5
+ const cache_storage_1 = require("../cache-storage");
6
+ const context_1 = require("../context");
7
+ const bounds_1 = require("../../css/layout/bounds");
8
+ const proxy = 'http://example.com/proxy';
9
+ const createMockContext = (origin, opts = {}) => {
10
+ const context = {
59
11
  location: {
60
12
  href: origin
61
13
  },
62
14
  document: {
63
- createElement: function (_name) {
64
- var _href = '';
15
+ createElement(_name) {
16
+ let _href = '';
65
17
  return {
66
18
  set href(value) {
67
19
  _href = value;
@@ -83,338 +35,188 @@ var createMockContext = function (origin, opts) {
83
35
  }
84
36
  };
85
37
  cache_storage_1.CacheStorage.setContext(context);
86
- return new context_1.Context(__assign({ logging: false, imageTimeout: 0, useCORS: false, allowTaint: false, proxy: proxy }, opts), new bounds_1.Bounds(0, 0, 0, 0));
38
+ return new context_1.Context({
39
+ logging: false,
40
+ imageTimeout: 0,
41
+ useCORS: false,
42
+ allowTaint: false,
43
+ proxy,
44
+ ...opts
45
+ }, new bounds_1.Bounds(0, 0, 0, 0));
87
46
  };
88
- var images = [];
89
- var xhr = [];
90
- var sleep = function (timeout) { return __awaiter(void 0, void 0, void 0, function () { return __generator(this, function (_a) {
91
- switch (_a.label) {
92
- case 0: return [4 /*yield*/, new Promise(function (resolve) { return setTimeout(resolve, timeout); })];
93
- case 1: return [2 /*return*/, _a.sent()];
94
- }
95
- }); }); };
96
- var ImageMock = /** @class */ (function () {
97
- function ImageMock() {
47
+ const images = [];
48
+ const xhr = [];
49
+ const sleep = async (timeout) => await new Promise((resolve) => setTimeout(resolve, timeout));
50
+ class ImageMock {
51
+ constructor() {
98
52
  images.push(this);
99
53
  }
100
- return ImageMock;
101
- }());
102
- var XMLHttpRequestMock = /** @class */ (function () {
103
- function XMLHttpRequestMock() {
54
+ }
55
+ class XMLHttpRequestMock {
56
+ constructor() {
104
57
  this.sent = false;
105
58
  this.status = 500;
106
59
  this.timeout = 5000;
107
60
  xhr.push(this);
108
61
  }
109
- XMLHttpRequestMock.prototype.load = function (status, response) {
110
- return __awaiter(this, void 0, void 0, function () {
111
- return __generator(this, function (_a) {
112
- switch (_a.label) {
113
- case 0:
114
- this.response = response;
115
- this.status = status;
116
- if (this.onload) {
117
- this.onload();
118
- }
119
- return [4 /*yield*/, sleep(0)];
120
- case 1:
121
- _a.sent();
122
- return [2 /*return*/];
123
- }
124
- });
125
- });
126
- };
127
- XMLHttpRequestMock.prototype.open = function (method, url) {
62
+ async load(status, response) {
63
+ this.response = response;
64
+ this.status = status;
65
+ if (this.onload) {
66
+ this.onload();
67
+ }
68
+ await sleep(0);
69
+ }
70
+ open(method, url) {
128
71
  this.method = method;
129
72
  this.url = url;
130
- };
131
- XMLHttpRequestMock.prototype.send = function () {
73
+ }
74
+ send() {
132
75
  this.sent = true;
133
- };
134
- return XMLHttpRequestMock;
135
- }());
76
+ }
77
+ }
136
78
  Object.defineProperty(global, 'Image', { value: ImageMock, writable: true });
137
79
  Object.defineProperty(global, 'XMLHttpRequest', {
138
80
  value: XMLHttpRequestMock,
139
81
  writable: true
140
82
  });
141
- var setFeatures = function (opts) {
142
- if (opts === void 0) { opts = {}; }
143
- var defaults = {
83
+ const setFeatures = (opts = {}) => {
84
+ const defaults = {
144
85
  SUPPORT_SVG_DRAWING: true,
145
86
  SUPPORT_CORS_IMAGES: true,
146
87
  SUPPORT_CORS_XHR: true,
147
88
  SUPPORT_RESPONSE_TYPE: false
148
89
  };
149
- Object.keys(defaults).forEach(function (key) {
90
+ Object.keys(defaults).forEach((key) => {
150
91
  Object.defineProperty(features_1.FEATURES, key, {
151
92
  value: typeof opts[key] === 'boolean' ? opts[key] : defaults[key],
152
93
  writable: true
153
94
  });
154
95
  });
155
96
  };
156
- describe('cache-storage', function () {
157
- beforeEach(function () { return setFeatures(); });
158
- afterEach(function () {
97
+ describe('cache-storage', () => {
98
+ beforeEach(() => setFeatures());
99
+ afterEach(() => {
159
100
  xhr.splice(0, xhr.length);
160
101
  images.splice(0, images.length);
161
102
  });
162
- it('addImage adds images to cache', function () { return __awaiter(void 0, void 0, void 0, function () {
163
- var cache;
164
- return __generator(this, function (_a) {
165
- switch (_a.label) {
166
- case 0:
167
- cache = createMockContext('http://example.com', { proxy: null }).cache;
168
- return [4 /*yield*/, cache.addImage('http://example.com/test.jpg')];
169
- case 1:
170
- _a.sent();
171
- return [4 /*yield*/, cache.addImage('http://example.com/test2.jpg')];
172
- case 2:
173
- _a.sent();
174
- (0, assert_1.deepStrictEqual)(images.length, 2);
175
- (0, assert_1.deepStrictEqual)(images[0].src, 'http://example.com/test.jpg');
176
- (0, assert_1.deepStrictEqual)(images[1].src, 'http://example.com/test2.jpg');
177
- return [2 /*return*/];
178
- }
103
+ it('addImage adds images to cache', async () => {
104
+ const { cache } = createMockContext('http://example.com', { proxy: null });
105
+ await cache.addImage('http://example.com/test.jpg');
106
+ await cache.addImage('http://example.com/test2.jpg');
107
+ (0, assert_1.deepStrictEqual)(images.length, 2);
108
+ (0, assert_1.deepStrictEqual)(images[0].src, 'http://example.com/test.jpg');
109
+ (0, assert_1.deepStrictEqual)(images[1].src, 'http://example.com/test2.jpg');
110
+ });
111
+ it('addImage should not add duplicate entries', async () => {
112
+ const { cache } = createMockContext('http://example.com');
113
+ await cache.addImage('http://example.com/test.jpg');
114
+ await cache.addImage('http://example.com/test.jpg');
115
+ (0, assert_1.deepStrictEqual)(images.length, 1);
116
+ (0, assert_1.deepStrictEqual)(images[0].src, 'http://example.com/test.jpg');
117
+ });
118
+ describe('svg', () => {
119
+ it('should add svg images correctly', async () => {
120
+ const { cache } = createMockContext('http://example.com');
121
+ await cache.addImage('http://example.com/test.svg');
122
+ await cache.addImage('http://example.com/test2.svg');
123
+ (0, assert_1.deepStrictEqual)(images.length, 2);
124
+ (0, assert_1.deepStrictEqual)(images[0].src, 'http://example.com/test.svg');
125
+ (0, assert_1.deepStrictEqual)(images[1].src, 'http://example.com/test2.svg');
179
126
  });
180
- }); });
181
- it('addImage should not add duplicate entries', function () { return __awaiter(void 0, void 0, void 0, function () {
182
- var cache;
183
- return __generator(this, function (_a) {
184
- switch (_a.label) {
185
- case 0:
186
- cache = createMockContext('http://example.com').cache;
187
- return [4 /*yield*/, cache.addImage('http://example.com/test.jpg')];
188
- case 1:
189
- _a.sent();
190
- return [4 /*yield*/, cache.addImage('http://example.com/test.jpg')];
191
- case 2:
192
- _a.sent();
193
- (0, assert_1.deepStrictEqual)(images.length, 1);
194
- (0, assert_1.deepStrictEqual)(images[0].src, 'http://example.com/test.jpg');
195
- return [2 /*return*/];
196
- }
127
+ it('should omit svg images if not supported', async () => {
128
+ setFeatures({ SUPPORT_SVG_DRAWING: false });
129
+ const { cache } = createMockContext('http://example.com');
130
+ await cache.addImage('http://example.com/test.svg');
131
+ await cache.addImage('http://example.com/test2.svg');
132
+ (0, assert_1.deepStrictEqual)(images.length, 0);
197
133
  });
198
- }); });
199
- describe('svg', function () {
200
- it('should add svg images correctly', function () { return __awaiter(void 0, void 0, void 0, function () {
201
- var cache;
202
- return __generator(this, function (_a) {
203
- switch (_a.label) {
204
- case 0:
205
- cache = createMockContext('http://example.com').cache;
206
- return [4 /*yield*/, cache.addImage('http://example.com/test.svg')];
207
- case 1:
208
- _a.sent();
209
- return [4 /*yield*/, cache.addImage('http://example.com/test2.svg')];
210
- case 2:
211
- _a.sent();
212
- (0, assert_1.deepStrictEqual)(images.length, 2);
213
- (0, assert_1.deepStrictEqual)(images[0].src, 'http://example.com/test.svg');
214
- (0, assert_1.deepStrictEqual)(images[1].src, 'http://example.com/test2.svg');
215
- return [2 /*return*/];
216
- }
217
- });
218
- }); });
219
- it('should omit svg images if not supported', function () { return __awaiter(void 0, void 0, void 0, function () {
220
- var cache;
221
- return __generator(this, function (_a) {
222
- switch (_a.label) {
223
- case 0:
224
- setFeatures({ SUPPORT_SVG_DRAWING: false });
225
- cache = createMockContext('http://example.com').cache;
226
- return [4 /*yield*/, cache.addImage('http://example.com/test.svg')];
227
- case 1:
228
- _a.sent();
229
- return [4 /*yield*/, cache.addImage('http://example.com/test2.svg')];
230
- case 2:
231
- _a.sent();
232
- (0, assert_1.deepStrictEqual)(images.length, 0);
233
- return [2 /*return*/];
234
- }
235
- });
236
- }); });
237
134
  });
238
- describe('cross-origin', function () {
239
- it('addImage should not add images it cannot load/render', function () { return __awaiter(void 0, void 0, void 0, function () {
240
- var cache;
241
- return __generator(this, function (_a) {
242
- switch (_a.label) {
243
- case 0:
244
- cache = createMockContext('http://example.com', {
245
- proxy: undefined
246
- }).cache;
247
- return [4 /*yield*/, cache.addImage('http://html2canvas.hertzen.com/test.jpg')];
248
- case 1:
249
- _a.sent();
250
- (0, assert_1.deepStrictEqual)(images.length, 0);
251
- return [2 /*return*/];
252
- }
253
- });
254
- }); });
255
- it('addImage should add images if tainting enabled', function () { return __awaiter(void 0, void 0, void 0, function () {
256
- var cache;
257
- return __generator(this, function (_a) {
258
- switch (_a.label) {
259
- case 0:
260
- cache = createMockContext('http://example.com', {
261
- allowTaint: true,
262
- proxy: undefined
263
- }).cache;
264
- return [4 /*yield*/, cache.addImage('http://html2canvas.hertzen.com/test.jpg')];
265
- case 1:
266
- _a.sent();
267
- (0, assert_1.deepStrictEqual)(images.length, 1);
268
- (0, assert_1.deepStrictEqual)(images[0].src, 'http://html2canvas.hertzen.com/test.jpg');
269
- (0, assert_1.deepStrictEqual)(images[0].crossOrigin, undefined);
270
- return [2 /*return*/];
271
- }
272
- });
273
- }); });
274
- it('addImage should add images if cors enabled', function () { return __awaiter(void 0, void 0, void 0, function () {
275
- var cache;
276
- return __generator(this, function (_a) {
277
- switch (_a.label) {
278
- case 0:
279
- cache = createMockContext('http://example.com', { useCORS: true }).cache;
280
- return [4 /*yield*/, cache.addImage('http://html2canvas.hertzen.com/test.jpg')];
281
- case 1:
282
- _a.sent();
283
- (0, assert_1.deepStrictEqual)(images.length, 1);
284
- (0, assert_1.deepStrictEqual)(images[0].src, 'http://html2canvas.hertzen.com/test.jpg');
285
- (0, assert_1.deepStrictEqual)(images[0].crossOrigin, 'anonymous');
286
- return [2 /*return*/];
287
- }
135
+ describe('cross-origin', () => {
136
+ it('addImage should not add images it cannot load/render', async () => {
137
+ const { cache } = createMockContext('http://example.com', {
138
+ proxy: undefined
288
139
  });
289
- }); });
290
- it('addImage should not add images if cors enabled but not supported', function () { return __awaiter(void 0, void 0, void 0, function () {
291
- var cache;
292
- return __generator(this, function (_a) {
293
- switch (_a.label) {
294
- case 0:
295
- setFeatures({ SUPPORT_CORS_IMAGES: false });
296
- cache = createMockContext('http://example.com', {
297
- useCORS: true,
298
- proxy: undefined
299
- }).cache;
300
- return [4 /*yield*/, cache.addImage('http://html2canvas.hertzen.com/test.jpg')];
301
- case 1:
302
- _a.sent();
303
- (0, assert_1.deepStrictEqual)(images.length, 0);
304
- return [2 /*return*/];
305
- }
306
- });
307
- }); });
308
- it('addImage should not add images to proxy if cors enabled', function () { return __awaiter(void 0, void 0, void 0, function () {
309
- var cache;
310
- return __generator(this, function (_a) {
311
- switch (_a.label) {
312
- case 0:
313
- cache = createMockContext('http://example.com', { useCORS: true }).cache;
314
- return [4 /*yield*/, cache.addImage('http://html2canvas.hertzen.com/test.jpg')];
315
- case 1:
316
- _a.sent();
317
- (0, assert_1.deepStrictEqual)(images.length, 1);
318
- (0, assert_1.deepStrictEqual)(images[0].src, 'http://html2canvas.hertzen.com/test.jpg');
319
- (0, assert_1.deepStrictEqual)(images[0].crossOrigin, 'anonymous');
320
- return [2 /*return*/];
321
- }
140
+ await cache.addImage('http://html2canvas.hertzen.com/test.jpg');
141
+ (0, assert_1.deepStrictEqual)(images.length, 0);
142
+ });
143
+ it('addImage should add images if tainting enabled', async () => {
144
+ const { cache } = createMockContext('http://example.com', {
145
+ allowTaint: true,
146
+ proxy: undefined
322
147
  });
323
- }); });
324
- it('addImage should use proxy ', function () { return __awaiter(void 0, void 0, void 0, function () {
325
- var cache;
326
- return __generator(this, function (_a) {
327
- switch (_a.label) {
328
- case 0:
329
- cache = createMockContext('http://example.com').cache;
330
- return [4 /*yield*/, cache.addImage('http://html2canvas.hertzen.com/test.jpg')];
331
- case 1:
332
- _a.sent();
333
- (0, assert_1.deepStrictEqual)(xhr.length, 1);
334
- (0, assert_1.deepStrictEqual)(xhr[0].url, "".concat(proxy, "?url=").concat(encodeURIComponent('http://html2canvas.hertzen.com/test.jpg'), "&responseType=text"));
335
- return [4 /*yield*/, xhr[0].load(200, '<data response>')];
336
- case 2:
337
- _a.sent();
338
- (0, assert_1.deepStrictEqual)(images.length, 1);
339
- (0, assert_1.deepStrictEqual)(images[0].src, '<data response>');
340
- return [2 /*return*/];
341
- }
148
+ await cache.addImage('http://html2canvas.hertzen.com/test.jpg');
149
+ (0, assert_1.deepStrictEqual)(images.length, 1);
150
+ (0, assert_1.deepStrictEqual)(images[0].src, 'http://html2canvas.hertzen.com/test.jpg');
151
+ (0, assert_1.deepStrictEqual)(images[0].crossOrigin, undefined);
152
+ });
153
+ it('addImage should add images if cors enabled', async () => {
154
+ const { cache } = createMockContext('http://example.com', { useCORS: true });
155
+ await cache.addImage('http://html2canvas.hertzen.com/test.jpg');
156
+ (0, assert_1.deepStrictEqual)(images.length, 1);
157
+ (0, assert_1.deepStrictEqual)(images[0].src, 'http://html2canvas.hertzen.com/test.jpg');
158
+ (0, assert_1.deepStrictEqual)(images[0].crossOrigin, 'anonymous');
159
+ });
160
+ it('addImage should not add images if cors enabled but not supported', async () => {
161
+ setFeatures({ SUPPORT_CORS_IMAGES: false });
162
+ const { cache } = createMockContext('http://example.com', {
163
+ useCORS: true,
164
+ proxy: undefined
342
165
  });
343
- }); });
344
- it('proxy should respect imageTimeout', function () { return __awaiter(void 0, void 0, void 0, function () {
345
- var cache, e_1;
346
- return __generator(this, function (_a) {
347
- switch (_a.label) {
348
- case 0:
349
- cache = createMockContext('http://example.com', {
350
- imageTimeout: 10
351
- }).cache;
352
- return [4 /*yield*/, cache.addImage('http://html2canvas.hertzen.com/test.jpg')];
353
- case 1:
354
- _a.sent();
355
- (0, assert_1.deepStrictEqual)(xhr.length, 1);
356
- (0, assert_1.deepStrictEqual)(xhr[0].url, "".concat(proxy, "?url=").concat(encodeURIComponent('http://html2canvas.hertzen.com/test.jpg'), "&responseType=text"));
357
- (0, assert_1.deepStrictEqual)(xhr[0].timeout, 10);
358
- if (xhr[0].ontimeout) {
359
- xhr[0].ontimeout();
360
- }
361
- _a.label = 2;
362
- case 2:
363
- _a.trys.push([2, 4, , 5]);
364
- return [4 /*yield*/, cache.match('http://html2canvas.hertzen.com/test.jpg')];
365
- case 3:
366
- _a.sent();
367
- (0, assert_1.fail)('Expected result to timeout');
368
- return [3 /*break*/, 5];
369
- case 4:
370
- e_1 = _a.sent();
371
- return [3 /*break*/, 5];
372
- case 5: return [2 /*return*/];
373
- }
166
+ await cache.addImage('http://html2canvas.hertzen.com/test.jpg');
167
+ (0, assert_1.deepStrictEqual)(images.length, 0);
168
+ });
169
+ it('addImage should not add images to proxy if cors enabled', async () => {
170
+ const { cache } = createMockContext('http://example.com', { useCORS: true });
171
+ await cache.addImage('http://html2canvas.hertzen.com/test.jpg');
172
+ (0, assert_1.deepStrictEqual)(images.length, 1);
173
+ (0, assert_1.deepStrictEqual)(images[0].src, 'http://html2canvas.hertzen.com/test.jpg');
174
+ (0, assert_1.deepStrictEqual)(images[0].crossOrigin, 'anonymous');
175
+ });
176
+ it('addImage should use proxy ', async () => {
177
+ const { cache } = createMockContext('http://example.com');
178
+ await cache.addImage('http://html2canvas.hertzen.com/test.jpg');
179
+ (0, assert_1.deepStrictEqual)(xhr.length, 1);
180
+ (0, assert_1.deepStrictEqual)(xhr[0].url, `${proxy}?url=${encodeURIComponent('http://html2canvas.hertzen.com/test.jpg')}&responseType=text`);
181
+ await xhr[0].load(200, '<data response>');
182
+ (0, assert_1.deepStrictEqual)(images.length, 1);
183
+ (0, assert_1.deepStrictEqual)(images[0].src, '<data response>');
184
+ });
185
+ it('proxy should respect imageTimeout', async () => {
186
+ const { cache } = createMockContext('http://example.com', {
187
+ imageTimeout: 10
374
188
  });
375
- }); });
376
- });
377
- it('match should return cache entry', function () { return __awaiter(void 0, void 0, void 0, function () {
378
- var cache, response;
379
- return __generator(this, function (_a) {
380
- switch (_a.label) {
381
- case 0:
382
- cache = createMockContext('http://example.com').cache;
383
- return [4 /*yield*/, cache.addImage('http://example.com/test.jpg')];
384
- case 1:
385
- _a.sent();
386
- if (images[0].onload) {
387
- images[0].onload();
388
- }
389
- return [4 /*yield*/, cache.match('http://example.com/test.jpg')];
390
- case 2:
391
- response = _a.sent();
392
- (0, assert_1.deepStrictEqual)(response.src, 'http://example.com/test.jpg');
393
- return [2 /*return*/];
189
+ await cache.addImage('http://html2canvas.hertzen.com/test.jpg');
190
+ (0, assert_1.deepStrictEqual)(xhr.length, 1);
191
+ (0, assert_1.deepStrictEqual)(xhr[0].url, `${proxy}?url=${encodeURIComponent('http://html2canvas.hertzen.com/test.jpg')}&responseType=text`);
192
+ (0, assert_1.deepStrictEqual)(xhr[0].timeout, 10);
193
+ if (xhr[0].ontimeout) {
194
+ xhr[0].ontimeout();
394
195
  }
395
- });
396
- }); });
397
- it('image should respect imageTimeout', function () { return __awaiter(void 0, void 0, void 0, function () {
398
- var cache, e_2;
399
- return __generator(this, function (_a) {
400
- switch (_a.label) {
401
- case 0:
402
- cache = createMockContext('http://example.com', { imageTimeout: 10 }).cache;
403
- cache.addImage('http://example.com/test.jpg');
404
- _a.label = 1;
405
- case 1:
406
- _a.trys.push([1, 3, , 4]);
407
- return [4 /*yield*/, cache.match('http://example.com/test.jpg')];
408
- case 2:
409
- _a.sent();
410
- (0, assert_1.fail)('Expected result to timeout');
411
- return [3 /*break*/, 4];
412
- case 3:
413
- e_2 = _a.sent();
414
- return [3 /*break*/, 4];
415
- case 4: return [2 /*return*/];
196
+ try {
197
+ await cache.match('http://html2canvas.hertzen.com/test.jpg');
198
+ (0, assert_1.fail)('Expected result to timeout');
416
199
  }
200
+ catch (e) { }
417
201
  });
418
- }); });
202
+ });
203
+ it('match should return cache entry', async () => {
204
+ const { cache } = createMockContext('http://example.com');
205
+ await cache.addImage('http://example.com/test.jpg');
206
+ if (images[0].onload) {
207
+ images[0].onload();
208
+ }
209
+ const response = await cache.match('http://example.com/test.jpg');
210
+ (0, assert_1.deepStrictEqual)(response.src, 'http://example.com/test.jpg');
211
+ });
212
+ it('image should respect imageTimeout', async () => {
213
+ const { cache } = createMockContext('http://example.com', { imageTimeout: 10 });
214
+ cache.addImage('http://example.com/test.jpg');
215
+ try {
216
+ await cache.match('http://example.com/test.jpg');
217
+ (0, assert_1.fail)('Expected result to timeout');
218
+ }
219
+ catch (e) { }
220
+ });
419
221
  });
420
222
  //# sourceMappingURL=cache-storage.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"cache-storage.js","sourceRoot":"","sources":["../../../../src/core/__tests__/cache-storage.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cache-storage.js","sourceRoot":"","sources":["../../../../src/core/__tests__/cache-storage.ts"],"names":[],"mappings":"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"}