html2canvas-pro 1.6.6 → 2.0.0

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 (123) hide show
  1. package/README.md +1 -0
  2. package/demo/image-smoothing-demo.html +256 -0
  3. package/demo/refactoring-test.html +602 -0
  4. package/dist/html2canvas-pro.esm.js +2846 -1238
  5. package/dist/html2canvas-pro.esm.js.map +1 -1
  6. package/dist/html2canvas-pro.js +2849 -1237
  7. package/dist/html2canvas-pro.js.map +1 -1
  8. package/dist/html2canvas-pro.min.js +5 -4
  9. package/dist/lib/__tests__/index.js +8 -2
  10. package/dist/lib/__tests__/index.js.map +1 -1
  11. package/dist/lib/config.js +72 -0
  12. package/dist/lib/config.js.map +1 -0
  13. package/dist/lib/core/__tests__/cache-storage.js +6 -3
  14. package/dist/lib/core/__tests__/cache-storage.js.map +1 -1
  15. package/dist/lib/core/__tests__/cache-storage.test.js +158 -0
  16. package/dist/lib/core/__tests__/cache-storage.test.js.map +1 -0
  17. package/dist/lib/core/__tests__/validator.js +296 -0
  18. package/dist/lib/core/__tests__/validator.js.map +1 -0
  19. package/dist/lib/core/cache-storage.js +130 -11
  20. package/dist/lib/core/cache-storage.js.map +1 -1
  21. package/dist/lib/core/context.js +5 -2
  22. package/dist/lib/core/context.js.map +1 -1
  23. package/dist/lib/core/debugger.js +3 -0
  24. package/dist/lib/core/debugger.js.map +1 -1
  25. package/dist/lib/core/origin-checker.js +54 -0
  26. package/dist/lib/core/origin-checker.js.map +1 -0
  27. package/dist/lib/core/performance-monitor.js +208 -0
  28. package/dist/lib/core/performance-monitor.js.map +1 -0
  29. package/dist/lib/core/validator.js +501 -0
  30. package/dist/lib/core/validator.js.map +1 -0
  31. package/dist/lib/css/index.js +2 -0
  32. package/dist/lib/css/index.js.map +1 -1
  33. package/dist/lib/css/property-descriptors/__tests__/background-tests.js +7 -1
  34. package/dist/lib/css/property-descriptors/__tests__/background-tests.js.map +1 -1
  35. package/dist/lib/css/property-descriptors/__tests__/image-rendering-integration.test.js +142 -0
  36. package/dist/lib/css/property-descriptors/__tests__/image-rendering-integration.test.js.map +1 -0
  37. package/dist/lib/css/property-descriptors/__tests__/image-rendering-performance.test.js +167 -0
  38. package/dist/lib/css/property-descriptors/__tests__/image-rendering-performance.test.js.map +1 -0
  39. package/dist/lib/css/property-descriptors/__tests__/image-rendering.test.js +61 -0
  40. package/dist/lib/css/property-descriptors/__tests__/image-rendering.test.js.map +1 -0
  41. package/dist/lib/css/property-descriptors/image-rendering.js +34 -0
  42. package/dist/lib/css/property-descriptors/image-rendering.js.map +1 -0
  43. package/dist/lib/css/types/__tests__/image-tests.js +7 -1
  44. package/dist/lib/css/types/__tests__/image-tests.js.map +1 -1
  45. package/dist/lib/css/types/color-math.js +26 -0
  46. package/dist/lib/css/types/color-math.js.map +1 -0
  47. package/dist/lib/css/types/color-spaces/srgb.js +6 -6
  48. package/dist/lib/css/types/color-spaces/srgb.js.map +1 -1
  49. package/dist/lib/css/types/color-utilities.js +13 -22
  50. package/dist/lib/css/types/color-utilities.js.map +1 -1
  51. package/dist/lib/dom/__tests__/dom-normalizer.test.js +113 -0
  52. package/dist/lib/dom/__tests__/dom-normalizer.test.js.map +1 -0
  53. package/dist/lib/dom/__tests__/element-container.test.js +109 -0
  54. package/dist/lib/dom/__tests__/element-container.test.js.map +1 -0
  55. package/dist/lib/dom/document-cloner.js +152 -11
  56. package/dist/lib/dom/document-cloner.js.map +1 -1
  57. package/dist/lib/dom/dom-normalizer.js +80 -0
  58. package/dist/lib/dom/dom-normalizer.js.map +1 -0
  59. package/dist/lib/dom/element-container.js +32 -15
  60. package/dist/lib/dom/element-container.js.map +1 -1
  61. package/dist/lib/dom/node-parser.js +16 -20
  62. package/dist/lib/dom/node-parser.js.map +1 -1
  63. package/dist/lib/dom/node-type-guards.js +44 -0
  64. package/dist/lib/dom/node-type-guards.js.map +1 -0
  65. package/dist/lib/dom/replaced-elements/iframe-element-container.js +5 -4
  66. package/dist/lib/dom/replaced-elements/iframe-element-container.js.map +1 -1
  67. package/dist/lib/index.js +148 -41
  68. package/dist/lib/index.js.map +1 -1
  69. package/dist/lib/render/canvas/__tests__/background-renderer.test.js +65 -0
  70. package/dist/lib/render/canvas/__tests__/background-renderer.test.js.map +1 -0
  71. package/dist/lib/render/canvas/__tests__/border-renderer.test.js +23 -0
  72. package/dist/lib/render/canvas/__tests__/border-renderer.test.js.map +1 -0
  73. package/dist/lib/render/canvas/__tests__/effects-renderer.test.js +30 -0
  74. package/dist/lib/render/canvas/__tests__/effects-renderer.test.js.map +1 -0
  75. package/dist/lib/render/canvas/__tests__/text-renderer.test.js +63 -0
  76. package/dist/lib/render/canvas/__tests__/text-renderer.test.js.map +1 -0
  77. package/dist/lib/render/canvas/background-renderer.js +222 -0
  78. package/dist/lib/render/canvas/background-renderer.js.map +1 -0
  79. package/dist/lib/render/canvas/border-renderer.js +185 -0
  80. package/dist/lib/render/canvas/border-renderer.js.map +1 -0
  81. package/dist/lib/render/canvas/canvas-renderer.js +61 -689
  82. package/dist/lib/render/canvas/canvas-renderer.js.map +1 -1
  83. package/dist/lib/render/canvas/effects-renderer.js +89 -0
  84. package/dist/lib/render/canvas/effects-renderer.js.map +1 -0
  85. package/dist/lib/render/canvas/text-renderer.js +508 -0
  86. package/dist/lib/render/canvas/text-renderer.js.map +1 -0
  87. package/dist/lib/render/renderer-interface.js +3 -0
  88. package/dist/lib/render/renderer-interface.js.map +1 -0
  89. package/dist/types/config.d.ts +54 -0
  90. package/dist/types/core/__tests__/cache-storage.test.d.ts +1 -0
  91. package/dist/types/core/__tests__/validator.d.ts +1 -0
  92. package/dist/types/core/cache-storage.d.ts +42 -1
  93. package/dist/types/core/context.d.ts +5 -1
  94. package/dist/types/core/origin-checker.d.ts +33 -0
  95. package/dist/types/core/performance-monitor.d.ts +131 -0
  96. package/dist/types/core/validator.d.ts +132 -0
  97. package/dist/types/css/index.d.ts +2 -0
  98. package/dist/types/css/property-descriptors/__tests__/image-rendering-integration.test.d.ts +1 -0
  99. package/dist/types/css/property-descriptors/__tests__/image-rendering-performance.test.d.ts +1 -0
  100. package/dist/types/css/property-descriptors/__tests__/image-rendering.test.d.ts +1 -0
  101. package/dist/types/css/property-descriptors/image-rendering.d.ts +8 -0
  102. package/dist/types/css/types/color-math.d.ts +12 -0
  103. package/dist/types/css/types/color-utilities.d.ts +2 -3
  104. package/dist/types/dom/__tests__/dom-normalizer.test.d.ts +1 -0
  105. package/dist/types/dom/__tests__/element-container.test.d.ts +1 -0
  106. package/dist/types/dom/document-cloner.d.ts +46 -0
  107. package/dist/types/dom/dom-normalizer.d.ts +43 -0
  108. package/dist/types/dom/element-container.d.ts +20 -1
  109. package/dist/types/dom/node-parser.d.ts +2 -7
  110. package/dist/types/dom/node-type-guards.d.ts +33 -0
  111. package/dist/types/dom/replaced-elements/iframe-element-container.d.ts +4 -1
  112. package/dist/types/index.d.ts +48 -3
  113. package/dist/types/render/canvas/__tests__/background-renderer.test.d.ts +1 -0
  114. package/dist/types/render/canvas/__tests__/border-renderer.test.d.ts +1 -0
  115. package/dist/types/render/canvas/__tests__/effects-renderer.test.d.ts +1 -0
  116. package/dist/types/render/canvas/__tests__/text-renderer.test.d.ts +1 -0
  117. package/dist/types/render/canvas/background-renderer.d.ts +87 -0
  118. package/dist/types/render/canvas/border-renderer.d.ts +67 -0
  119. package/dist/types/render/canvas/canvas-renderer.d.ts +19 -23
  120. package/dist/types/render/canvas/effects-renderer.d.ts +64 -0
  121. package/dist/types/render/canvas/text-renderer.d.ts +57 -0
  122. package/dist/types/render/renderer-interface.d.ts +26 -0
  123. package/package.json +2 -1
@@ -0,0 +1,501 @@
1
+ "use strict";
2
+ /**
3
+ * Input Validator
4
+ *
5
+ * Provides validation and sanitization for user inputs to prevent security vulnerabilities
6
+ * including SSRF, XSS, and injection attacks.
7
+ */
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ exports.Validator = void 0;
10
+ exports.createDefaultValidator = createDefaultValidator;
11
+ exports.createStrictValidator = createStrictValidator;
12
+ /**
13
+ * Input Validator
14
+ *
15
+ * Validates and sanitizes user inputs for security and correctness.
16
+ */
17
+ class Validator {
18
+ constructor(config = {}) {
19
+ this.config = {
20
+ maxImageTimeout: 300000, // 5 minutes default
21
+ allowDataUrls: true,
22
+ ...config
23
+ };
24
+ }
25
+ /**
26
+ * Validate a URL
27
+ *
28
+ * @param url - URL to validate
29
+ * @param context - Context for validation (e.g., 'proxy', 'image')
30
+ * @returns Validation result
31
+ */
32
+ validateUrl(url, context = 'general') {
33
+ if (!url || typeof url !== 'string') {
34
+ return {
35
+ valid: false,
36
+ error: 'URL must be a non-empty string'
37
+ };
38
+ }
39
+ // Check for data URLs
40
+ if (url.startsWith('data:')) {
41
+ if (!this.config.allowDataUrls) {
42
+ return {
43
+ valid: false,
44
+ error: 'Data URLs are not allowed'
45
+ };
46
+ }
47
+ return { valid: true, sanitized: url };
48
+ }
49
+ // Check for blob URLs
50
+ if (url.startsWith('blob:')) {
51
+ return { valid: true, sanitized: url };
52
+ }
53
+ // Validate URL format
54
+ try {
55
+ const parsedUrl = new URL(url);
56
+ // Only allow http and https protocols
57
+ if (!['http:', 'https:'].includes(parsedUrl.protocol)) {
58
+ return {
59
+ valid: false,
60
+ error: `Protocol ${parsedUrl.protocol} is not allowed. Only http and https are permitted.`
61
+ };
62
+ }
63
+ // For proxy URLs, check domain whitelist
64
+ if (context === 'proxy' && this.config.allowedProxyDomains && this.config.allowedProxyDomains.length > 0) {
65
+ const hostname = parsedUrl.hostname.toLowerCase();
66
+ const isAllowed = this.config.allowedProxyDomains.some((domain) => {
67
+ const normalizedDomain = domain.toLowerCase();
68
+ return hostname === normalizedDomain || hostname.endsWith('.' + normalizedDomain);
69
+ });
70
+ if (!isAllowed) {
71
+ return {
72
+ valid: false,
73
+ error: `Proxy domain ${parsedUrl.hostname} is not in the allowed list`
74
+ };
75
+ }
76
+ }
77
+ // Check for localhost/private IPs to prevent SSRF (skip when allowLocalhostProxy for dev/test)
78
+ if (context === 'proxy') {
79
+ if (!this.config.allowLocalhostProxy) {
80
+ const hostname = parsedUrl.hostname.toLowerCase();
81
+ // Check for localhost
82
+ if (hostname === 'localhost' || hostname === '127.0.0.1' || hostname === '::1') {
83
+ return {
84
+ valid: false,
85
+ error: 'Localhost is not allowed for proxy URLs'
86
+ };
87
+ }
88
+ // For private IP ranges (simplified check)
89
+ if (this.isPrivateIP(hostname)) {
90
+ return {
91
+ valid: false,
92
+ error: 'Private IP addresses are not allowed for proxy URLs'
93
+ };
94
+ }
95
+ // For link-local addresses
96
+ if (hostname.startsWith('169.254.') || hostname.startsWith('fe80:')) {
97
+ return {
98
+ valid: false,
99
+ error: 'Link-local addresses are not allowed for proxy URLs'
100
+ };
101
+ }
102
+ }
103
+ // For proxy URLs, mark that runtime validation is recommended
104
+ // to prevent DNS rebinding attacks
105
+ return {
106
+ valid: true,
107
+ sanitized: url,
108
+ requiresRuntimeCheck: true
109
+ };
110
+ }
111
+ return { valid: true, sanitized: url };
112
+ }
113
+ catch (e) {
114
+ return {
115
+ valid: false,
116
+ error: `Invalid URL format: ${e instanceof Error ? e.message : 'Unknown error'}`
117
+ };
118
+ }
119
+ }
120
+ /**
121
+ * Check if a hostname is a private IP address
122
+ */
123
+ isPrivateIP(hostname) {
124
+ // IPv4 private ranges
125
+ const privateIPv4Patterns = [
126
+ /^0\./, // 0.0.0.0/8 (This network)
127
+ /^10\./, // 10.0.0.0/8 (Private)
128
+ /^100\.(6[4-9]|[7-9][0-9]|1[0-1][0-9]|12[0-7])\./, // 100.64.0.0/10 (CGNAT)
129
+ /^127\./, // 127.0.0.0/8 (Loopback)
130
+ /^169\.254\./, // 169.254.0.0/16 (Link-local)
131
+ /^172\.(1[6-9]|2[0-9]|3[0-1])\./, // 172.16.0.0/12 (Private)
132
+ /^192\.0\.0\./, // 192.0.0.0/24 (IETF Protocol Assignments)
133
+ /^192\.0\.2\./, // 192.0.2.0/24 (TEST-NET-1)
134
+ /^192\.168\./, // 192.168.0.0/16 (Private)
135
+ /^198\.(1[8-9])\./, // 198.18.0.0/15 (Network benchmark)
136
+ /^198\.51\.100\./, // 198.51.100.0/24 (TEST-NET-2)
137
+ /^203\.0\.113\./, // 203.0.113.0/24 (TEST-NET-3)
138
+ /^2(2[4-9]|3[0-9])\./, // 224.0.0.0/4 (Multicast)
139
+ /^24[0-9]\./, // 240.0.0.0/4 (Reserved)
140
+ /^255\.255\.255\.255$/ // 255.255.255.255/32 (Broadcast)
141
+ ];
142
+ // Check IPv4
143
+ if (privateIPv4Patterns.some((pattern) => pattern.test(hostname))) {
144
+ return true;
145
+ }
146
+ // IPv6 private ranges and special addresses
147
+ if (hostname.includes(':')) {
148
+ return this.isPrivateIPv6(hostname);
149
+ }
150
+ return false;
151
+ }
152
+ /**
153
+ * Check if an IPv6 address is private or special
154
+ * Handles compressed IPv6 addresses (e.g., ::1, fc00::1)
155
+ */
156
+ isPrivateIPv6(hostname) {
157
+ const normalizedHost = hostname.toLowerCase().trim();
158
+ // Remove square brackets if present (e.g., [::1])
159
+ const addr = normalizedHost.replace(/^\[|\]$/g, '');
160
+ // Remove zone ID if present (e.g., fe80::1%eth0)
161
+ const addrWithoutZone = addr.split('%')[0];
162
+ // Loopback ::1 (also matches 0:0:0:0:0:0:0:1)
163
+ if (/^(0:){7}1$/.test(addrWithoutZone) || addrWithoutZone === '::1') {
164
+ return true;
165
+ }
166
+ // Unspecified address :: (also matches 0:0:0:0:0:0:0:0)
167
+ if (/^(0:){7}0$/.test(addrWithoutZone) || addrWithoutZone === '::') {
168
+ return true;
169
+ }
170
+ // Expand :: compression to check prefixes
171
+ // This handles cases like fc00::1, fe80::, etc.
172
+ const expandedAddr = this.expandIPv6(addrWithoutZone);
173
+ if (!expandedAddr) {
174
+ // If we can't expand it, fall back to prefix matching
175
+ return this.isPrivateIPv6Prefix(addrWithoutZone);
176
+ }
177
+ // fc00::/7 (Unique Local Address)
178
+ // Check if first byte is in range fc00-fdff
179
+ const firstByte = parseInt(expandedAddr.substring(0, 2), 16);
180
+ if (firstByte >= 0xfc && firstByte <= 0xfd) {
181
+ return true;
182
+ }
183
+ // fe80::/10 (Link-local)
184
+ // First 10 bits should be 1111 1110 10
185
+ if (firstByte === 0xfe) {
186
+ const secondByte = parseInt(expandedAddr.substring(2, 4), 16);
187
+ // Check if bits 11-12 are 10 (0x80-0xbf)
188
+ if (secondByte >= 0x80 && secondByte <= 0xbf) {
189
+ return true;
190
+ }
191
+ }
192
+ // ff00::/8 (Multicast)
193
+ if (firstByte === 0xff) {
194
+ return true;
195
+ }
196
+ return false;
197
+ }
198
+ /**
199
+ * Expand compressed IPv6 address to full form
200
+ * e.g., "::1" -> "0000:0000:0000:0000:0000:0000:0000:0001"
201
+ */
202
+ expandIPv6(addr) {
203
+ try {
204
+ // Handle :: compression
205
+ if (addr.includes('::')) {
206
+ const parts = addr.split('::');
207
+ if (parts.length > 2) {
208
+ return null; // Invalid: more than one ::
209
+ }
210
+ const leftParts = parts[0] ? parts[0].split(':') : [];
211
+ const rightParts = parts[1] ? parts[1].split(':') : [];
212
+ const missingParts = 8 - leftParts.length - rightParts.length;
213
+ if (missingParts < 0) {
214
+ return null; // Invalid
215
+ }
216
+ const middleParts = Array(missingParts).fill('0000');
217
+ const allParts = [...leftParts, ...middleParts, ...rightParts];
218
+ return allParts.map((p) => p.padStart(4, '0')).join(':');
219
+ }
220
+ else {
221
+ // No compression, just normalize
222
+ const parts = addr.split(':');
223
+ if (parts.length !== 8) {
224
+ return null; // Invalid
225
+ }
226
+ return parts.map((p) => p.padStart(4, '0')).join(':');
227
+ }
228
+ }
229
+ catch {
230
+ return null;
231
+ }
232
+ }
233
+ /**
234
+ * Fallback prefix matching for IPv6 when expansion fails
235
+ */
236
+ isPrivateIPv6Prefix(addr) {
237
+ // fc00::/7 (Unique Local Address)
238
+ if (/^fc[0-9a-f]{0,2}:?/i.test(addr) || /^fd[0-9a-f]{0,2}:?/i.test(addr)) {
239
+ return true;
240
+ }
241
+ // fe80::/10 (Link-local)
242
+ if (/^fe[89ab][0-9a-f]:?/i.test(addr)) {
243
+ return true;
244
+ }
245
+ // ff00::/8 (Multicast)
246
+ if (/^ff[0-9a-f]{0,2}:?/i.test(addr)) {
247
+ return true;
248
+ }
249
+ return false;
250
+ }
251
+ /**
252
+ * Validate CSP nonce
253
+ *
254
+ * @param nonce - CSP nonce to validate
255
+ * @returns Validation result
256
+ */
257
+ validateCspNonce(nonce) {
258
+ if (!nonce || typeof nonce !== 'string') {
259
+ return {
260
+ valid: false,
261
+ error: 'CSP nonce must be a non-empty string'
262
+ };
263
+ }
264
+ // Basic format validation - nonce should be base64-like
265
+ // Typical format: base64 string, often 32+ characters
266
+ if (nonce.length < 16) {
267
+ return {
268
+ valid: false,
269
+ error: 'CSP nonce is too short (minimum 16 characters recommended)'
270
+ };
271
+ }
272
+ // Check for suspicious characters
273
+ if (!/^[A-Za-z0-9+/=_-]+$/.test(nonce)) {
274
+ return {
275
+ valid: false,
276
+ error: 'CSP nonce contains invalid characters'
277
+ };
278
+ }
279
+ return { valid: true, sanitized: nonce };
280
+ }
281
+ /**
282
+ * Validate image timeout
283
+ *
284
+ * @param timeout - Timeout in milliseconds
285
+ * @returns Validation result
286
+ */
287
+ validateImageTimeout(timeout) {
288
+ if (typeof timeout !== 'number' || isNaN(timeout)) {
289
+ return {
290
+ valid: false,
291
+ error: 'Image timeout must be a number'
292
+ };
293
+ }
294
+ if (timeout < 0) {
295
+ return {
296
+ valid: false,
297
+ error: 'Image timeout cannot be negative'
298
+ };
299
+ }
300
+ if (this.config.maxImageTimeout && timeout > this.config.maxImageTimeout) {
301
+ return {
302
+ valid: false,
303
+ error: `Image timeout ${timeout}ms exceeds maximum allowed ${this.config.maxImageTimeout}ms`
304
+ };
305
+ }
306
+ return { valid: true, sanitized: timeout };
307
+ }
308
+ /**
309
+ * Validate window dimensions
310
+ *
311
+ * @param width - Window width
312
+ * @param height - Window height
313
+ * @returns Validation result
314
+ */
315
+ validateDimensions(width, height) {
316
+ if (typeof width !== 'number' || typeof height !== 'number') {
317
+ return {
318
+ valid: false,
319
+ error: 'Dimensions must be numbers'
320
+ };
321
+ }
322
+ if (isNaN(width) || isNaN(height)) {
323
+ return {
324
+ valid: false,
325
+ error: 'Dimensions cannot be NaN'
326
+ };
327
+ }
328
+ if (width <= 0 || height <= 0) {
329
+ return {
330
+ valid: false,
331
+ error: 'Dimensions must be positive'
332
+ };
333
+ }
334
+ // Reasonable maximum to prevent memory issues
335
+ const MAX_DIMENSION = 32767; // Common canvas limit
336
+ if (width > MAX_DIMENSION || height > MAX_DIMENSION) {
337
+ return {
338
+ valid: false,
339
+ error: `Dimensions exceed maximum allowed (${MAX_DIMENSION}px)`
340
+ };
341
+ }
342
+ return { valid: true, sanitized: { width, height } };
343
+ }
344
+ /**
345
+ * Validate scale factor
346
+ *
347
+ * @param scale - Scale factor
348
+ * @returns Validation result
349
+ */
350
+ validateScale(scale) {
351
+ if (typeof scale !== 'number' || isNaN(scale)) {
352
+ return {
353
+ valid: false,
354
+ error: 'Scale must be a number'
355
+ };
356
+ }
357
+ if (scale <= 0) {
358
+ return {
359
+ valid: false,
360
+ error: 'Scale must be positive'
361
+ };
362
+ }
363
+ // Reasonable scale limits
364
+ if (scale > 10) {
365
+ return {
366
+ valid: false,
367
+ error: 'Scale factor too large (maximum 10x)'
368
+ };
369
+ }
370
+ return { valid: true, sanitized: scale };
371
+ }
372
+ /**
373
+ * Validate HTML element
374
+ *
375
+ * @param element - Element to validate
376
+ * @returns Validation result
377
+ */
378
+ validateElement(element) {
379
+ if (!element) {
380
+ return {
381
+ valid: false,
382
+ error: 'Element is required'
383
+ };
384
+ }
385
+ if (typeof element !== 'object') {
386
+ return {
387
+ valid: false,
388
+ error: 'Element must be an object'
389
+ };
390
+ }
391
+ // Accept real HTMLElement, or any element-like object with the minimal shape
392
+ // required by the implementation (ownerDocument + defaultView) for backward
393
+ // compatibility and test environments.
394
+ if (typeof HTMLElement !== 'undefined' && element instanceof HTMLElement) {
395
+ // Real DOM element
396
+ if (!element.ownerDocument) {
397
+ return { valid: false, error: 'Element must be attached to a document' };
398
+ }
399
+ return { valid: true };
400
+ }
401
+ // Duck-typing: accept object with ownerDocument and defaultView (minimal contract)
402
+ if (!element.ownerDocument) {
403
+ return {
404
+ valid: false,
405
+ error: 'Element must be attached to a document (ownerDocument required)'
406
+ };
407
+ }
408
+ if (!element.ownerDocument.defaultView) {
409
+ return {
410
+ valid: false,
411
+ error: 'Document must be attached to a window (ownerDocument.defaultView required)'
412
+ };
413
+ }
414
+ return { valid: true };
415
+ }
416
+ /**
417
+ * Validate entire options object
418
+ *
419
+ * @param options - Options to validate
420
+ * @returns Validation result with all errors
421
+ */
422
+ validateOptions(options) {
423
+ const errors = [];
424
+ // Validate proxy URL only when a non-empty string (allow null/undefined to mean "no proxy")
425
+ const proxyUrl = options.proxy;
426
+ if (proxyUrl !== undefined && proxyUrl !== null && typeof proxyUrl === 'string' && proxyUrl.length > 0) {
427
+ const proxyResult = this.validateUrl(proxyUrl, 'proxy');
428
+ if (!proxyResult.valid) {
429
+ errors.push(`Proxy: ${proxyResult.error}`);
430
+ }
431
+ // Note: Proxy URLs are marked with requiresRuntimeCheck to prevent DNS rebinding
432
+ // Consider implementing runtime IP validation in production environments
433
+ }
434
+ // Validate image timeout
435
+ if (options.imageTimeout !== undefined) {
436
+ const timeoutResult = this.validateImageTimeout(options.imageTimeout);
437
+ if (!timeoutResult.valid) {
438
+ errors.push(`Image timeout: ${timeoutResult.error}`);
439
+ }
440
+ }
441
+ // Validate dimensions
442
+ if (options.width !== undefined || options.height !== undefined) {
443
+ const width = options.width ?? 800;
444
+ const height = options.height ?? 600;
445
+ const dimensionsResult = this.validateDimensions(width, height);
446
+ if (!dimensionsResult.valid) {
447
+ errors.push(`Dimensions: ${dimensionsResult.error}`);
448
+ }
449
+ }
450
+ // Validate scale
451
+ if (options.scale !== undefined) {
452
+ const scaleResult = this.validateScale(options.scale);
453
+ if (!scaleResult.valid) {
454
+ errors.push(`Scale: ${scaleResult.error}`);
455
+ }
456
+ }
457
+ // Validate CSP nonce
458
+ if (options.cspNonce !== undefined) {
459
+ const nonceResult = this.validateCspNonce(options.cspNonce);
460
+ if (!nonceResult.valid) {
461
+ errors.push(`CSP nonce: ${nonceResult.error}`);
462
+ }
463
+ }
464
+ // Custom validation
465
+ if (this.config.customValidator) {
466
+ const customResult = this.config.customValidator(options, 'options');
467
+ if (!customResult.valid) {
468
+ errors.push(`Custom validation: ${customResult.error}`);
469
+ }
470
+ }
471
+ if (errors.length > 0) {
472
+ return {
473
+ valid: false,
474
+ error: errors.join('; ')
475
+ };
476
+ }
477
+ return { valid: true };
478
+ }
479
+ }
480
+ exports.Validator = Validator;
481
+ /**
482
+ * Create a default validator instance
483
+ */
484
+ function createDefaultValidator(config = {}) {
485
+ return new Validator({
486
+ allowDataUrls: true,
487
+ maxImageTimeout: 300000, // 5 minutes
488
+ ...config
489
+ });
490
+ }
491
+ /**
492
+ * Create a strict validator with security-focused settings
493
+ */
494
+ function createStrictValidator(allowedProxyDomains) {
495
+ return new Validator({
496
+ allowedProxyDomains,
497
+ allowDataUrls: false,
498
+ maxImageTimeout: 60000 // 1 minute
499
+ });
500
+ }
501
+ //# sourceMappingURL=validator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validator.js","sourceRoot":"","sources":["../../../src/core/validator.ts"],"names":[],"mappings":"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"}
@@ -69,6 +69,7 @@ const webkit_text_stroke_width_1 = require("./property-descriptors/webkit-text-s
69
69
  const webkit_line_clamp_1 = require("./property-descriptors/webkit-line-clamp");
70
70
  const object_fit_1 = require("./property-descriptors/object-fit");
71
71
  const text_overflow_1 = require("./property-descriptors/text-overflow");
72
+ const image_rendering_1 = require("./property-descriptors/image-rendering");
72
73
  class CSSParsedDeclaration {
73
74
  constructor(context, declaration) {
74
75
  this.animationDuration = parse(context, duration_1.duration, declaration.animationDuration);
@@ -145,6 +146,7 @@ class CSSParsedDeclaration {
145
146
  this.wordBreak = parse(context, word_break_1.wordBreak, declaration.wordBreak);
146
147
  this.zIndex = parse(context, z_index_1.zIndex, declaration.zIndex);
147
148
  this.objectFit = parse(context, object_fit_1.objectFit, declaration.objectFit);
149
+ this.imageRendering = parse(context, image_rendering_1.imageRendering, declaration.imageRendering);
148
150
  }
149
151
  isVisible() {
150
152
  return this.display > 0 && this.opacity > 0 && this.visibility === 0 /* VISIBILITY.VISIBLE */;
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/css/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/css/index.ts"],"names":[],"mappings":"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"}
@@ -9,10 +9,16 @@ jest.mock('../../../core/context');
9
9
  const context_1 = require("../../../core/context");
10
10
  jest.mock('../../../core/features');
11
11
  const backgroundImageParse = (context, value) => background_image_1.backgroundImage.parse(context, parser_1.Parser.parseValues(value));
12
+ const config_1 = require("../../../config");
12
13
  describe('property-descriptors', () => {
13
14
  let context;
14
15
  beforeEach(() => {
15
- context = new context_1.Context({}, {});
16
+ const mockWindow = {
17
+ location: { href: 'http://example.com' },
18
+ document: { createElement: () => ({ href: '' }) }
19
+ };
20
+ const config = new config_1.Html2CanvasConfig({ window: mockWindow });
21
+ context = new context_1.Context({}, {}, config);
16
22
  });
17
23
  describe('background-image', () => {
18
24
  it('none', () => {
@@ -1 +1 @@
1
- {"version":3,"file":"background-tests.js","sourceRoot":"","sources":["../../../../../src/css/property-descriptors/__tests__/background-tests.ts"],"names":[],"mappings":";;AAAA,mCAAyC;AACzC,gDAA6C;AAC7C,0DAAsD;AAEtD,iEAAmD;AACnD,6CAAwC;AAExC,IAAI,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;AACnC,mDAAgD;AAEhD,IAAI,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;AAEpC,MAAM,oBAAoB,GAAG,CAAC,OAAgB,EAAE,KAAa,EAAE,EAAE,CAC7D,kCAAe,CAAC,KAAK,CAAC,OAAO,EAAE,eAAM,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC;AAE9D,QAAQ,CAAC,sBAAsB,EAAE,GAAG,EAAE;IAClC,IAAI,OAAgB,CAAC;IACrB,UAAU,CAAC,GAAG,EAAE;QACZ,OAAO,GAAG,IAAI,iBAAO,CAAC,EAAS,EAAE,EAAS,CAAC,CAAC;IAChD,CAAC,CAAC,CAAC;IACH,QAAQ,CAAC,kBAAkB,EAAE,GAAG,EAAE;QAC9B,EAAE,CAAC,MAAM,EAAE,GAAG,EAAE;YACZ,IAAA,wBAAe,EAAC,oBAAoB,CAAC,OAAO,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC;YAC3D,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;QAC1D,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,+BAA+B,EAAE,GAAG,EAAE;YACrC,IAAA,wBAAe,EACX,oBAAoB,CAAC,OAAO,EAAE,qEAAqE,CAAC,EACpG;gBACI,EAAE,GAAG,EAAE,6BAA6B,EAAE,IAAI,0BAAkB,EAAE;gBAC9D,EAAE,GAAG,EAAE,8BAA8B,EAAE,IAAI,0BAAkB,EAAE;aAClE,CACJ,CAAC;YACF,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,oBAAoB,CAAC,6BAA6B,CAAC,CAAC;YACnF,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,oBAAoB,CAAC,8BAA8B,CAAC,CAAC;QACxF,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,4GAA4G,EAAE,GAAG,EAAE,CAClH,IAAA,wBAAe,EACX,oBAAoB,CAChB,OAAO,EACP,4GAA4G,CAC/G,EACD;YACI;gBACI,KAAK,EAAE,IAAA,WAAG,EAAC,GAAG,CAAC;gBACf,IAAI,sCAA8B;gBAClC,KAAK,EAAE;oBACH,EAAE,KAAK,EAAE,IAAA,sBAAI,EAAC,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE;oBAC7C,EAAE,KAAK,EAAE,IAAA,sBAAI,EAAC,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE;iBAC9C;aACJ;YACD,EAAE,GAAG,EAAE,iCAAiC,EAAE,IAAI,0BAAkB,EAAE;SACrE,CACJ,CAAC,CAAC;IACX,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"background-tests.js","sourceRoot":"","sources":["../../../../../src/css/property-descriptors/__tests__/background-tests.ts"],"names":[],"mappings":";;AAAA,mCAAyC;AACzC,gDAA6C;AAC7C,0DAAsD;AAEtD,iEAAmD;AACnD,6CAAwC;AAExC,IAAI,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;AACnC,mDAAgD;AAEhD,IAAI,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;AAEpC,MAAM,oBAAoB,GAAG,CAAC,OAAgB,EAAE,KAAa,EAAE,EAAE,CAC7D,kCAAe,CAAC,KAAK,CAAC,OAAO,EAAE,eAAM,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC;AAE9D,4CAAoD;AAEpD,QAAQ,CAAC,sBAAsB,EAAE,GAAG,EAAE;IAClC,IAAI,OAAgB,CAAC;IACrB,UAAU,CAAC,GAAG,EAAE;QACZ,MAAM,UAAU,GAAG;YACf,QAAQ,EAAE,EAAE,IAAI,EAAE,oBAAoB,EAAE;YACxC,QAAQ,EAAE,EAAE,aAAa,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,EAAE;SAC7C,CAAC;QACT,MAAM,MAAM,GAAG,IAAI,0BAAiB,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC,CAAC;QAC7D,OAAO,GAAG,IAAI,iBAAO,CAAC,EAAS,EAAE,EAAS,EAAE,MAAM,CAAC,CAAC;IACxD,CAAC,CAAC,CAAC;IACH,QAAQ,CAAC,kBAAkB,EAAE,GAAG,EAAE;QAC9B,EAAE,CAAC,MAAM,EAAE,GAAG,EAAE;YACZ,IAAA,wBAAe,EAAC,oBAAoB,CAAC,OAAO,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC;YAC3D,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;QAC1D,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,+BAA+B,EAAE,GAAG,EAAE;YACrC,IAAA,wBAAe,EACX,oBAAoB,CAAC,OAAO,EAAE,qEAAqE,CAAC,EACpG;gBACI,EAAE,GAAG,EAAE,6BAA6B,EAAE,IAAI,0BAAkB,EAAE;gBAC9D,EAAE,GAAG,EAAE,8BAA8B,EAAE,IAAI,0BAAkB,EAAE;aAClE,CACJ,CAAC;YACF,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,oBAAoB,CAAC,6BAA6B,CAAC,CAAC;YACnF,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,oBAAoB,CAAC,8BAA8B,CAAC,CAAC;QACxF,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,4GAA4G,EAAE,GAAG,EAAE,CAClH,IAAA,wBAAe,EACX,oBAAoB,CAChB,OAAO,EACP,4GAA4G,CAC/G,EACD;YACI;gBACI,KAAK,EAAE,IAAA,WAAG,EAAC,GAAG,CAAC;gBACf,IAAI,sCAA8B;gBAClC,KAAK,EAAE;oBACH,EAAE,KAAK,EAAE,IAAA,sBAAI,EAAC,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE;oBAC7C,EAAE,KAAK,EAAE,IAAA,sBAAI,EAAC,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE;iBAC9C;aACJ;YACD,EAAE,GAAG,EAAE,iCAAiC,EAAE,IAAI,0BAAkB,EAAE;SACrE,CACJ,CAAC,CAAC;IACX,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC"}