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.
- package/README.md +1 -0
- package/demo/image-smoothing-demo.html +256 -0
- package/demo/refactoring-test.html +602 -0
- package/dist/html2canvas-pro.esm.js +2846 -1238
- package/dist/html2canvas-pro.esm.js.map +1 -1
- package/dist/html2canvas-pro.js +2849 -1237
- package/dist/html2canvas-pro.js.map +1 -1
- package/dist/html2canvas-pro.min.js +5 -4
- package/dist/lib/__tests__/index.js +8 -2
- package/dist/lib/__tests__/index.js.map +1 -1
- package/dist/lib/config.js +72 -0
- package/dist/lib/config.js.map +1 -0
- package/dist/lib/core/__tests__/cache-storage.js +6 -3
- package/dist/lib/core/__tests__/cache-storage.js.map +1 -1
- package/dist/lib/core/__tests__/cache-storage.test.js +158 -0
- package/dist/lib/core/__tests__/cache-storage.test.js.map +1 -0
- package/dist/lib/core/__tests__/validator.js +296 -0
- package/dist/lib/core/__tests__/validator.js.map +1 -0
- package/dist/lib/core/cache-storage.js +130 -11
- package/dist/lib/core/cache-storage.js.map +1 -1
- package/dist/lib/core/context.js +5 -2
- package/dist/lib/core/context.js.map +1 -1
- package/dist/lib/core/debugger.js +3 -0
- package/dist/lib/core/debugger.js.map +1 -1
- package/dist/lib/core/origin-checker.js +54 -0
- package/dist/lib/core/origin-checker.js.map +1 -0
- package/dist/lib/core/performance-monitor.js +208 -0
- package/dist/lib/core/performance-monitor.js.map +1 -0
- package/dist/lib/core/validator.js +501 -0
- package/dist/lib/core/validator.js.map +1 -0
- package/dist/lib/css/index.js +2 -0
- package/dist/lib/css/index.js.map +1 -1
- package/dist/lib/css/property-descriptors/__tests__/background-tests.js +7 -1
- package/dist/lib/css/property-descriptors/__tests__/background-tests.js.map +1 -1
- package/dist/lib/css/property-descriptors/__tests__/image-rendering-integration.test.js +142 -0
- package/dist/lib/css/property-descriptors/__tests__/image-rendering-integration.test.js.map +1 -0
- package/dist/lib/css/property-descriptors/__tests__/image-rendering-performance.test.js +167 -0
- package/dist/lib/css/property-descriptors/__tests__/image-rendering-performance.test.js.map +1 -0
- package/dist/lib/css/property-descriptors/__tests__/image-rendering.test.js +61 -0
- package/dist/lib/css/property-descriptors/__tests__/image-rendering.test.js.map +1 -0
- package/dist/lib/css/property-descriptors/image-rendering.js +34 -0
- package/dist/lib/css/property-descriptors/image-rendering.js.map +1 -0
- package/dist/lib/css/types/__tests__/image-tests.js +7 -1
- package/dist/lib/css/types/__tests__/image-tests.js.map +1 -1
- package/dist/lib/css/types/color-math.js +26 -0
- package/dist/lib/css/types/color-math.js.map +1 -0
- package/dist/lib/css/types/color-spaces/srgb.js +6 -6
- package/dist/lib/css/types/color-spaces/srgb.js.map +1 -1
- package/dist/lib/css/types/color-utilities.js +13 -22
- package/dist/lib/css/types/color-utilities.js.map +1 -1
- package/dist/lib/dom/__tests__/dom-normalizer.test.js +113 -0
- package/dist/lib/dom/__tests__/dom-normalizer.test.js.map +1 -0
- package/dist/lib/dom/__tests__/element-container.test.js +109 -0
- package/dist/lib/dom/__tests__/element-container.test.js.map +1 -0
- package/dist/lib/dom/document-cloner.js +152 -11
- package/dist/lib/dom/document-cloner.js.map +1 -1
- package/dist/lib/dom/dom-normalizer.js +80 -0
- package/dist/lib/dom/dom-normalizer.js.map +1 -0
- package/dist/lib/dom/element-container.js +32 -15
- package/dist/lib/dom/element-container.js.map +1 -1
- package/dist/lib/dom/node-parser.js +16 -20
- package/dist/lib/dom/node-parser.js.map +1 -1
- package/dist/lib/dom/node-type-guards.js +44 -0
- package/dist/lib/dom/node-type-guards.js.map +1 -0
- package/dist/lib/dom/replaced-elements/iframe-element-container.js +5 -4
- package/dist/lib/dom/replaced-elements/iframe-element-container.js.map +1 -1
- package/dist/lib/index.js +148 -41
- package/dist/lib/index.js.map +1 -1
- package/dist/lib/render/canvas/__tests__/background-renderer.test.js +65 -0
- package/dist/lib/render/canvas/__tests__/background-renderer.test.js.map +1 -0
- package/dist/lib/render/canvas/__tests__/border-renderer.test.js +23 -0
- package/dist/lib/render/canvas/__tests__/border-renderer.test.js.map +1 -0
- package/dist/lib/render/canvas/__tests__/effects-renderer.test.js +30 -0
- package/dist/lib/render/canvas/__tests__/effects-renderer.test.js.map +1 -0
- package/dist/lib/render/canvas/__tests__/text-renderer.test.js +63 -0
- package/dist/lib/render/canvas/__tests__/text-renderer.test.js.map +1 -0
- package/dist/lib/render/canvas/background-renderer.js +222 -0
- package/dist/lib/render/canvas/background-renderer.js.map +1 -0
- package/dist/lib/render/canvas/border-renderer.js +185 -0
- package/dist/lib/render/canvas/border-renderer.js.map +1 -0
- package/dist/lib/render/canvas/canvas-renderer.js +61 -689
- package/dist/lib/render/canvas/canvas-renderer.js.map +1 -1
- package/dist/lib/render/canvas/effects-renderer.js +89 -0
- package/dist/lib/render/canvas/effects-renderer.js.map +1 -0
- package/dist/lib/render/canvas/text-renderer.js +508 -0
- package/dist/lib/render/canvas/text-renderer.js.map +1 -0
- package/dist/lib/render/renderer-interface.js +3 -0
- package/dist/lib/render/renderer-interface.js.map +1 -0
- package/dist/types/config.d.ts +54 -0
- package/dist/types/core/__tests__/cache-storage.test.d.ts +1 -0
- package/dist/types/core/__tests__/validator.d.ts +1 -0
- package/dist/types/core/cache-storage.d.ts +42 -1
- package/dist/types/core/context.d.ts +5 -1
- package/dist/types/core/origin-checker.d.ts +33 -0
- package/dist/types/core/performance-monitor.d.ts +131 -0
- package/dist/types/core/validator.d.ts +132 -0
- package/dist/types/css/index.d.ts +2 -0
- package/dist/types/css/property-descriptors/__tests__/image-rendering-integration.test.d.ts +1 -0
- package/dist/types/css/property-descriptors/__tests__/image-rendering-performance.test.d.ts +1 -0
- package/dist/types/css/property-descriptors/__tests__/image-rendering.test.d.ts +1 -0
- package/dist/types/css/property-descriptors/image-rendering.d.ts +8 -0
- package/dist/types/css/types/color-math.d.ts +12 -0
- package/dist/types/css/types/color-utilities.d.ts +2 -3
- package/dist/types/dom/__tests__/dom-normalizer.test.d.ts +1 -0
- package/dist/types/dom/__tests__/element-container.test.d.ts +1 -0
- package/dist/types/dom/document-cloner.d.ts +46 -0
- package/dist/types/dom/dom-normalizer.d.ts +43 -0
- package/dist/types/dom/element-container.d.ts +20 -1
- package/dist/types/dom/node-parser.d.ts +2 -7
- package/dist/types/dom/node-type-guards.d.ts +33 -0
- package/dist/types/dom/replaced-elements/iframe-element-container.d.ts +4 -1
- package/dist/types/index.d.ts +48 -3
- package/dist/types/render/canvas/__tests__/background-renderer.test.d.ts +1 -0
- package/dist/types/render/canvas/__tests__/border-renderer.test.d.ts +1 -0
- package/dist/types/render/canvas/__tests__/effects-renderer.test.d.ts +1 -0
- package/dist/types/render/canvas/__tests__/text-renderer.test.d.ts +1 -0
- package/dist/types/render/canvas/background-renderer.d.ts +87 -0
- package/dist/types/render/canvas/border-renderer.d.ts +67 -0
- package/dist/types/render/canvas/canvas-renderer.d.ts +19 -23
- package/dist/types/render/canvas/effects-renderer.d.ts +64 -0
- package/dist/types/render/canvas/text-renderer.d.ts +57 -0
- package/dist/types/render/renderer-interface.d.ts +26 -0
- package/package.json +2 -1
|
@@ -5,6 +5,9 @@ const parser_1 = require("../syntax/parser");
|
|
|
5
5
|
const srgb_1 = require("./color-spaces/srgb");
|
|
6
6
|
const angle_1 = require("./angle");
|
|
7
7
|
const length_percentage_1 = require("./length-percentage");
|
|
8
|
+
const color_math_1 = require("./color-math");
|
|
9
|
+
Object.defineProperty(exports, "clamp", { enumerable: true, get: function () { return color_math_1.clamp; } });
|
|
10
|
+
Object.defineProperty(exports, "multiplyMatrices", { enumerable: true, get: function () { return color_math_1.multiplyMatrices; } });
|
|
8
11
|
const isTransparent = (color) => (0xff & color) === 0;
|
|
9
12
|
exports.isTransparent = isTransparent;
|
|
10
13
|
const asString = (color) => {
|
|
@@ -30,25 +33,13 @@ const getTokenColorValue = (token, i) => {
|
|
|
30
33
|
exports.getTokenColorValue = getTokenColorValue;
|
|
31
34
|
const isRelativeTransform = (tokens) => (tokens[0].type === 20 /* TokenType.IDENT_TOKEN */ ? tokens[0].value : 'unknown') === 'from';
|
|
32
35
|
exports.isRelativeTransform = isRelativeTransform;
|
|
33
|
-
const clamp = (value, min, max) => {
|
|
34
|
-
return Math.min(Math.max(value, min), max);
|
|
35
|
-
};
|
|
36
|
-
exports.clamp = clamp;
|
|
37
|
-
const multiplyMatrices = (A, B) => {
|
|
38
|
-
return [
|
|
39
|
-
A[0] * B[0] + A[1] * B[1] + A[2] * B[2],
|
|
40
|
-
A[3] * B[0] + A[4] * B[1] + A[5] * B[2],
|
|
41
|
-
A[6] * B[0] + A[7] * B[1] + A[8] * B[2]
|
|
42
|
-
];
|
|
43
|
-
};
|
|
44
|
-
exports.multiplyMatrices = multiplyMatrices;
|
|
45
36
|
const packSrgb = (args) => {
|
|
46
|
-
return (0, exports.pack)((0,
|
|
37
|
+
return (0, exports.pack)((0, color_math_1.clamp)(Math.round(args[0] * 255), 0, 255), (0, color_math_1.clamp)(Math.round(args[1] * 255), 0, 255), (0, color_math_1.clamp)(Math.round(args[2] * 255), 0, 255), (0, color_math_1.clamp)(args[3], 0, 1));
|
|
47
38
|
};
|
|
48
39
|
exports.packSrgb = packSrgb;
|
|
49
40
|
const packSrgbLinear = ([r, g, b, a]) => {
|
|
50
41
|
const rgb = (0, srgb_1.srgbLinear2rgb)([r, g, b]);
|
|
51
|
-
return (0, exports.pack)((0,
|
|
42
|
+
return (0, exports.pack)((0, color_math_1.clamp)(Math.round(rgb[0] * 255), 0, 255), (0, color_math_1.clamp)(Math.round(rgb[1] * 255), 0, 255), (0, color_math_1.clamp)(Math.round(rgb[2] * 255), 0, 255), a);
|
|
52
43
|
};
|
|
53
44
|
exports.packSrgbLinear = packSrgbLinear;
|
|
54
45
|
const packXYZ = (args) => {
|
|
@@ -61,7 +52,7 @@ const packLab = (_context, args) => {
|
|
|
61
52
|
throw new Error('Relative color not supported for lab()');
|
|
62
53
|
}
|
|
63
54
|
const [l, a, b, alpha] = (0, exports.extractLabComponents)(args), rgb = (0, srgb_1.srgbLinear2rgb)((0, srgb_1.xyz2rgbLinear)(lab2xyz([l, a, b])));
|
|
64
|
-
return (0, exports.pack)((0,
|
|
55
|
+
return (0, exports.pack)((0, color_math_1.clamp)(Math.round(rgb[0] * 255), 0, 255), (0, color_math_1.clamp)(Math.round(rgb[1] * 255), 0, 255), (0, color_math_1.clamp)(Math.round(rgb[2] * 255), 0, 255), alpha);
|
|
65
56
|
};
|
|
66
57
|
exports.packLab = packLab;
|
|
67
58
|
const packOkLab = (_context, args) => {
|
|
@@ -69,7 +60,7 @@ const packOkLab = (_context, args) => {
|
|
|
69
60
|
throw new Error('Relative color not supported for oklab()');
|
|
70
61
|
}
|
|
71
62
|
const [l, a, b, alpha] = (0, exports.extractLabComponents)(args), rgb = (0, srgb_1.srgbLinear2rgb)((0, srgb_1.xyz2rgbLinear)(oklab2xyz([l, a, b])));
|
|
72
|
-
return (0, exports.pack)((0,
|
|
63
|
+
return (0, exports.pack)((0, color_math_1.clamp)(Math.round(rgb[0] * 255), 0, 255), (0, color_math_1.clamp)(Math.round(rgb[1] * 255), 0, 255), (0, color_math_1.clamp)(Math.round(rgb[2] * 255), 0, 255), alpha);
|
|
73
64
|
};
|
|
74
65
|
exports.packOkLab = packOkLab;
|
|
75
66
|
const packOkLch = (_context, args) => {
|
|
@@ -77,7 +68,7 @@ const packOkLch = (_context, args) => {
|
|
|
77
68
|
throw new Error('Relative color not supported for oklch()');
|
|
78
69
|
}
|
|
79
70
|
const [l, c, h, alpha] = (0, exports.extractOkLchComponents)(args), rgb = (0, srgb_1.srgbLinear2rgb)((0, srgb_1.xyz2rgbLinear)(oklab2xyz(lch2lab([l, c, h]))));
|
|
80
|
-
return (0, exports.pack)((0,
|
|
71
|
+
return (0, exports.pack)((0, color_math_1.clamp)(Math.round(rgb[0] * 255), 0, 255), (0, color_math_1.clamp)(Math.round(rgb[1] * 255), 0, 255), (0, color_math_1.clamp)(Math.round(rgb[2] * 255), 0, 255), alpha);
|
|
81
72
|
};
|
|
82
73
|
exports.packOkLch = packOkLch;
|
|
83
74
|
const packLch = (_context, args) => {
|
|
@@ -85,7 +76,7 @@ const packLch = (_context, args) => {
|
|
|
85
76
|
throw new Error('Relative color not supported for lch()');
|
|
86
77
|
}
|
|
87
78
|
const [l, c, h, a] = (0, exports.extractLchComponents)(args), rgb = (0, srgb_1.srgbLinear2rgb)((0, srgb_1.xyz2rgbLinear)(lab2xyz(lch2lab([l, c, h]))));
|
|
88
|
-
return (0, exports.pack)((0,
|
|
79
|
+
return (0, exports.pack)((0, color_math_1.clamp)(Math.round(rgb[0] * 255), 0, 255), (0, color_math_1.clamp)(Math.round(rgb[1] * 255), 0, 255), (0, color_math_1.clamp)(Math.round(rgb[2] * 255), 0, 255), a);
|
|
89
80
|
};
|
|
90
81
|
exports.packLch = packLch;
|
|
91
82
|
const extractHslComponents = (context, args) => {
|
|
@@ -138,7 +129,7 @@ exports.extractOkLchComponents = extractOkLchComponents;
|
|
|
138
129
|
* @param xyz
|
|
139
130
|
*/
|
|
140
131
|
const d65toD50 = (xyz) => {
|
|
141
|
-
return (0,
|
|
132
|
+
return (0, color_math_1.multiplyMatrices)([
|
|
142
133
|
1.0479297925449969, 0.022946870601609652, -0.05019226628920524, 0.02962780877005599, 0.9904344267538799,
|
|
143
134
|
-0.017073799063418826, -0.009243040646204504, 0.015055191490298152, 0.7518742814281371
|
|
144
135
|
], xyz);
|
|
@@ -150,7 +141,7 @@ exports.d65toD50 = d65toD50;
|
|
|
150
141
|
* @param xyz
|
|
151
142
|
*/
|
|
152
143
|
const d50toD65 = (xyz) => {
|
|
153
|
-
return (0,
|
|
144
|
+
return (0, color_math_1.multiplyMatrices)([
|
|
154
145
|
0.955473421488075, -0.02309845494876471, 0.06325924320057072, -0.0283697093338637, 1.0099953980813041,
|
|
155
146
|
0.021041441191917323, 0.012314014864481998, -0.020507649298898964, 1.330365926242124
|
|
156
147
|
], xyz);
|
|
@@ -206,11 +197,11 @@ const lch2lab = ([l, c, h]) => {
|
|
|
206
197
|
* @param lab
|
|
207
198
|
*/
|
|
208
199
|
const oklab2xyz = (lab) => {
|
|
209
|
-
const LMSg = (0,
|
|
200
|
+
const LMSg = (0, color_math_1.multiplyMatrices)([
|
|
210
201
|
1, 0.3963377773761749, 0.2158037573099136, 1, -0.1055613458156586, -0.0638541728258133, 1,
|
|
211
202
|
-0.0894841775298119, -1.2914855480194092
|
|
212
203
|
], lab), LMS = LMSg.map((val) => val ** 3);
|
|
213
|
-
return (0,
|
|
204
|
+
return (0, color_math_1.multiplyMatrices)([
|
|
214
205
|
1.2268798758459243, -0.5578149944602171, 0.2813910456659647, -0.0405757452148008, 1.112286803280317,
|
|
215
206
|
-0.0717110580655164, -0.0763729366746601, -0.4214933324022432, 1.5869240198367816
|
|
216
207
|
], LMS);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"color-utilities.js","sourceRoot":"","sources":["../../../../src/css/types/color-utilities.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"color-utilities.js","sourceRoot":"","sources":["../../../../src/css/types/color-utilities.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const assert_1 = require("assert");
|
|
4
|
+
const dom_normalizer_1 = require("../dom-normalizer");
|
|
5
|
+
const css_1 = require("../../css");
|
|
6
|
+
const context_1 = require("../../core/context");
|
|
7
|
+
const bounds_1 = require("../../css/layout/bounds");
|
|
8
|
+
const config_1 = require("../../config");
|
|
9
|
+
describe('DOMNormalizer', () => {
|
|
10
|
+
let context;
|
|
11
|
+
let mockElement;
|
|
12
|
+
beforeEach(() => {
|
|
13
|
+
const mockWindow = {
|
|
14
|
+
document: {
|
|
15
|
+
createElement: (_name) => {
|
|
16
|
+
let _href = '';
|
|
17
|
+
return {
|
|
18
|
+
set href(value) {
|
|
19
|
+
_href = value;
|
|
20
|
+
},
|
|
21
|
+
get href() {
|
|
22
|
+
return _href;
|
|
23
|
+
},
|
|
24
|
+
get protocol() {
|
|
25
|
+
return 'http:';
|
|
26
|
+
},
|
|
27
|
+
get hostname() {
|
|
28
|
+
return 'localhost';
|
|
29
|
+
},
|
|
30
|
+
get port() {
|
|
31
|
+
return '';
|
|
32
|
+
}
|
|
33
|
+
};
|
|
34
|
+
}
|
|
35
|
+
},
|
|
36
|
+
location: { href: 'http://localhost/' },
|
|
37
|
+
getComputedStyle: () => ({
|
|
38
|
+
animationDuration: '1s',
|
|
39
|
+
transform: 'rotate(45deg)',
|
|
40
|
+
rotate: '45deg'
|
|
41
|
+
})
|
|
42
|
+
};
|
|
43
|
+
const config = new config_1.Html2CanvasConfig({ window: mockWindow });
|
|
44
|
+
context = new context_1.Context({
|
|
45
|
+
logging: false,
|
|
46
|
+
imageTimeout: 15000,
|
|
47
|
+
useCORS: false,
|
|
48
|
+
allowTaint: false
|
|
49
|
+
}, new bounds_1.Bounds(0, 0, 800, 600), config);
|
|
50
|
+
// Create a mock HTMLElement with style property
|
|
51
|
+
mockElement = {
|
|
52
|
+
nodeType: 1, // Node.ELEMENT_NODE
|
|
53
|
+
tagName: 'DIV',
|
|
54
|
+
style: {
|
|
55
|
+
animationDuration: '1s',
|
|
56
|
+
transform: 'rotate(45deg)',
|
|
57
|
+
rotate: '45deg'
|
|
58
|
+
}
|
|
59
|
+
};
|
|
60
|
+
});
|
|
61
|
+
it('should disable animations on element', () => {
|
|
62
|
+
const styles = new css_1.CSSParsedDeclaration(context, {
|
|
63
|
+
animationDuration: '1s',
|
|
64
|
+
transform: null,
|
|
65
|
+
rotate: null
|
|
66
|
+
});
|
|
67
|
+
dom_normalizer_1.DOMNormalizer.normalizeElement(mockElement, styles);
|
|
68
|
+
(0, assert_1.strictEqual)(mockElement.style.animationDuration, '0s');
|
|
69
|
+
});
|
|
70
|
+
it('should reset transform property', () => {
|
|
71
|
+
const styles = new css_1.CSSParsedDeclaration(context, {
|
|
72
|
+
animationDuration: '0s',
|
|
73
|
+
transform: 'rotate(45deg)',
|
|
74
|
+
rotate: null
|
|
75
|
+
});
|
|
76
|
+
dom_normalizer_1.DOMNormalizer.normalizeElement(mockElement, styles);
|
|
77
|
+
(0, assert_1.strictEqual)(mockElement.style.transform, 'none');
|
|
78
|
+
});
|
|
79
|
+
it('should reset rotate property', () => {
|
|
80
|
+
const styles = new css_1.CSSParsedDeclaration(context, {
|
|
81
|
+
animationDuration: '0s',
|
|
82
|
+
transform: null,
|
|
83
|
+
rotate: '45deg'
|
|
84
|
+
});
|
|
85
|
+
dom_normalizer_1.DOMNormalizer.normalizeElement(mockElement, styles);
|
|
86
|
+
(0, assert_1.strictEqual)(mockElement.style.rotate, 'none');
|
|
87
|
+
});
|
|
88
|
+
it('should normalize all properties when all are set', () => {
|
|
89
|
+
const styles = new css_1.CSSParsedDeclaration(context, {
|
|
90
|
+
animationDuration: '2s',
|
|
91
|
+
transform: 'rotate(90deg)',
|
|
92
|
+
rotate: '90deg'
|
|
93
|
+
});
|
|
94
|
+
dom_normalizer_1.DOMNormalizer.normalizeElement(mockElement, styles);
|
|
95
|
+
(0, assert_1.strictEqual)(mockElement.style.animationDuration, '0s');
|
|
96
|
+
(0, assert_1.strictEqual)(mockElement.style.transform, 'none');
|
|
97
|
+
(0, assert_1.strictEqual)(mockElement.style.rotate, 'none');
|
|
98
|
+
});
|
|
99
|
+
it('should not modify element if it is not an HTMLElement', () => {
|
|
100
|
+
const svgElement = {
|
|
101
|
+
nodeType: 1,
|
|
102
|
+
tagName: 'svg'
|
|
103
|
+
};
|
|
104
|
+
const styles = new css_1.CSSParsedDeclaration(context, {
|
|
105
|
+
animationDuration: '1s',
|
|
106
|
+
transform: 'rotate(45deg)',
|
|
107
|
+
rotate: '45deg'
|
|
108
|
+
});
|
|
109
|
+
// Should not throw and should not try to access style
|
|
110
|
+
dom_normalizer_1.DOMNormalizer.normalizeElement(svgElement, styles);
|
|
111
|
+
});
|
|
112
|
+
});
|
|
113
|
+
//# sourceMappingURL=dom-normalizer.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dom-normalizer.test.js","sourceRoot":"","sources":["../../../../src/dom/__tests__/dom-normalizer.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const assert_1 = require("assert");
|
|
4
|
+
const element_container_1 = require("../element-container");
|
|
5
|
+
const context_1 = require("../../core/context");
|
|
6
|
+
const bounds_1 = require("../../css/layout/bounds");
|
|
7
|
+
const config_1 = require("../../config");
|
|
8
|
+
describe('ElementContainer', () => {
|
|
9
|
+
let context;
|
|
10
|
+
let mockElement;
|
|
11
|
+
beforeEach(() => {
|
|
12
|
+
const mockWindow = {
|
|
13
|
+
document: {
|
|
14
|
+
createElement: (_name) => {
|
|
15
|
+
let _href = '';
|
|
16
|
+
return {
|
|
17
|
+
set href(value) {
|
|
18
|
+
_href = value;
|
|
19
|
+
},
|
|
20
|
+
get href() {
|
|
21
|
+
return _href;
|
|
22
|
+
},
|
|
23
|
+
get protocol() {
|
|
24
|
+
return 'http:';
|
|
25
|
+
},
|
|
26
|
+
get hostname() {
|
|
27
|
+
return 'localhost';
|
|
28
|
+
},
|
|
29
|
+
get port() {
|
|
30
|
+
return '';
|
|
31
|
+
}
|
|
32
|
+
};
|
|
33
|
+
}
|
|
34
|
+
},
|
|
35
|
+
location: { href: 'http://localhost/' },
|
|
36
|
+
getComputedStyle: () => ({
|
|
37
|
+
animationDuration: '1s',
|
|
38
|
+
transform: 'rotate(45deg)',
|
|
39
|
+
rotate: '45deg',
|
|
40
|
+
display: 'block',
|
|
41
|
+
position: 'static'
|
|
42
|
+
})
|
|
43
|
+
};
|
|
44
|
+
const config = new config_1.Html2CanvasConfig({ window: mockWindow });
|
|
45
|
+
context = new context_1.Context({
|
|
46
|
+
logging: false,
|
|
47
|
+
imageTimeout: 15000,
|
|
48
|
+
useCORS: false,
|
|
49
|
+
allowTaint: false
|
|
50
|
+
}, new bounds_1.Bounds(0, 0, 800, 600), config);
|
|
51
|
+
mockElement = {
|
|
52
|
+
nodeType: 1,
|
|
53
|
+
tagName: 'DIV',
|
|
54
|
+
style: {
|
|
55
|
+
animationDuration: '1s',
|
|
56
|
+
transform: 'rotate(45deg)',
|
|
57
|
+
rotate: '45deg'
|
|
58
|
+
},
|
|
59
|
+
getAttribute: () => null,
|
|
60
|
+
getBoundingClientRect: () => ({
|
|
61
|
+
left: 0,
|
|
62
|
+
top: 0,
|
|
63
|
+
width: 100,
|
|
64
|
+
height: 100,
|
|
65
|
+
right: 100,
|
|
66
|
+
bottom: 100
|
|
67
|
+
})
|
|
68
|
+
};
|
|
69
|
+
});
|
|
70
|
+
it('should normalize DOM by default', () => {
|
|
71
|
+
const container = new element_container_1.ElementContainer(context, mockElement);
|
|
72
|
+
(0, assert_1.ok)(container.styles);
|
|
73
|
+
(0, assert_1.ok)(container.bounds);
|
|
74
|
+
// DOM should be normalized (animationDuration set to '0s')
|
|
75
|
+
(0, assert_1.strictEqual)(mockElement.style.animationDuration, '0s');
|
|
76
|
+
});
|
|
77
|
+
it('should not normalize DOM when normalizeDom is false', () => {
|
|
78
|
+
const originalAnimation = mockElement.style.animationDuration;
|
|
79
|
+
const options = {
|
|
80
|
+
normalizeDom: false
|
|
81
|
+
};
|
|
82
|
+
const container = new element_container_1.ElementContainer(context, mockElement, options);
|
|
83
|
+
(0, assert_1.ok)(container.styles);
|
|
84
|
+
(0, assert_1.ok)(container.bounds);
|
|
85
|
+
// DOM should NOT be normalized
|
|
86
|
+
(0, assert_1.strictEqual)(mockElement.style.animationDuration, originalAnimation);
|
|
87
|
+
});
|
|
88
|
+
it('should support explicit normalizeDom: true', () => {
|
|
89
|
+
const options = {
|
|
90
|
+
normalizeDom: true
|
|
91
|
+
};
|
|
92
|
+
const container = new element_container_1.ElementContainer(context, mockElement, options);
|
|
93
|
+
(0, assert_1.ok)(container.styles);
|
|
94
|
+
(0, assert_1.ok)(container.bounds);
|
|
95
|
+
(0, assert_1.strictEqual)(mockElement.style.animationDuration, '0s');
|
|
96
|
+
});
|
|
97
|
+
it('should initialize empty arrays for textNodes and elements', () => {
|
|
98
|
+
const container = new element_container_1.ElementContainer(context, mockElement);
|
|
99
|
+
(0, assert_1.ok)(Array.isArray(container.textNodes));
|
|
100
|
+
(0, assert_1.ok)(Array.isArray(container.elements));
|
|
101
|
+
(0, assert_1.strictEqual)(container.textNodes.length, 0);
|
|
102
|
+
(0, assert_1.strictEqual)(container.elements.length, 0);
|
|
103
|
+
});
|
|
104
|
+
it('should initialize flags to 0', () => {
|
|
105
|
+
const container = new element_container_1.ElementContainer(context, mockElement);
|
|
106
|
+
(0, assert_1.strictEqual)(container.flags, 0);
|
|
107
|
+
});
|
|
108
|
+
});
|
|
109
|
+
//# sourceMappingURL=element-container.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"element-container.test.js","sourceRoot":"","sources":["../../../../src/dom/__tests__/element-container.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -53,7 +53,7 @@ class DocumentCloner {
|
|
|
53
53
|
toIFrame(ownerDocument, windowSize) {
|
|
54
54
|
const iframe = createIFrameContainer(ownerDocument, windowSize, this.options.iframeContainer);
|
|
55
55
|
if (!iframe.contentWindow) {
|
|
56
|
-
|
|
56
|
+
throw new Error('Unable to find iframe window');
|
|
57
57
|
}
|
|
58
58
|
const scrollX = ownerDocument.defaultView.pageXOffset;
|
|
59
59
|
const scrollY = ownerDocument.defaultView.pageYOffset;
|
|
@@ -75,7 +75,7 @@ class DocumentCloner {
|
|
|
75
75
|
const onclone = this.options.onclone;
|
|
76
76
|
const referenceElement = this.clonedReferenceElement;
|
|
77
77
|
if (typeof referenceElement === 'undefined') {
|
|
78
|
-
|
|
78
|
+
throw new Error(`Error finding the ${this.referenceElement.nodeName} in the cloned document`);
|
|
79
79
|
}
|
|
80
80
|
if (documentClone.fonts && documentClone.fonts.ready) {
|
|
81
81
|
await documentClone.fonts.ready;
|
|
@@ -151,7 +151,7 @@ class DocumentCloner {
|
|
|
151
151
|
clone.loading = 'eager';
|
|
152
152
|
}
|
|
153
153
|
}
|
|
154
|
-
if ((0, node_parser_1.isCustomElement)(clone)) {
|
|
154
|
+
if ((0, node_parser_1.isCustomElement)(clone) && !(0, node_parser_1.isSVGElementNode)(clone)) {
|
|
155
155
|
return this.createCustomElementClone(clone);
|
|
156
156
|
}
|
|
157
157
|
return clone;
|
|
@@ -277,20 +277,161 @@ class DocumentCloner {
|
|
|
277
277
|
}
|
|
278
278
|
}
|
|
279
279
|
}
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
280
|
+
/**
|
|
281
|
+
* Check if a child node should be cloned based on filtering rules
|
|
282
|
+
* Filters out: scripts, ignored elements, and optionally styles
|
|
283
|
+
*/
|
|
284
|
+
shouldCloneChild(child) {
|
|
285
|
+
return (!(0, node_parser_1.isElementNode)(child) ||
|
|
286
|
+
(!(0, node_parser_1.isScriptElement)(child) &&
|
|
287
|
+
!child.hasAttribute(IGNORE_ATTRIBUTE) &&
|
|
288
|
+
(typeof this.options.ignoreElements !== 'function' || !this.options.ignoreElements(child))));
|
|
289
|
+
}
|
|
290
|
+
/**
|
|
291
|
+
* Check if a style element should be cloned based on copyStyles option
|
|
292
|
+
*/
|
|
293
|
+
shouldCloneStyleElement(child) {
|
|
294
|
+
return !this.options.copyStyles || !(0, node_parser_1.isElementNode)(child) || !(0, node_parser_1.isStyleElement)(child);
|
|
295
|
+
}
|
|
296
|
+
/**
|
|
297
|
+
* Safely append a cloned child to a target, applying all filtering rules
|
|
298
|
+
*/
|
|
299
|
+
safeAppendClonedChild(target, child, copyStyles) {
|
|
300
|
+
if (this.shouldCloneChild(child) && this.shouldCloneStyleElement(child)) {
|
|
301
|
+
target.appendChild(this.cloneNode(child, copyStyles));
|
|
302
|
+
}
|
|
303
|
+
}
|
|
304
|
+
/**
|
|
305
|
+
* Clone assigned nodes from a slot element to the target
|
|
306
|
+
*/
|
|
307
|
+
cloneAssignedNodes(assignedNodes, target, copyStyles) {
|
|
308
|
+
assignedNodes.forEach((node) => {
|
|
309
|
+
this.safeAppendClonedChild(target, node, copyStyles);
|
|
310
|
+
});
|
|
311
|
+
}
|
|
312
|
+
/**
|
|
313
|
+
* Clone fallback content from a slot element when no nodes are assigned
|
|
314
|
+
*/
|
|
315
|
+
cloneSlotFallbackContent(slot, target, copyStyles) {
|
|
316
|
+
for (let child = slot.firstChild; child; child = child.nextSibling) {
|
|
317
|
+
this.safeAppendClonedChild(target, child, copyStyles);
|
|
318
|
+
}
|
|
319
|
+
}
|
|
320
|
+
/**
|
|
321
|
+
* Handle cloning of a slot element, including assigned nodes or fallback content
|
|
322
|
+
*/
|
|
323
|
+
cloneSlotElement(slot, targetShadowRoot, copyStyles) {
|
|
324
|
+
if (!(0, node_parser_1.isSlotElement)(slot)) {
|
|
325
|
+
return;
|
|
326
|
+
}
|
|
327
|
+
const slotElement = slot;
|
|
328
|
+
// Defensive check: ensure assignedNodes method exists
|
|
329
|
+
if (typeof slotElement.assignedNodes !== 'function') {
|
|
330
|
+
this.context.logger.warn('HTMLSlotElement.assignedNodes is not available', slot);
|
|
331
|
+
this.cloneSlotFallbackContent(slot, targetShadowRoot, copyStyles);
|
|
332
|
+
return;
|
|
333
|
+
}
|
|
334
|
+
const assignedNodes = slotElement.assignedNodes();
|
|
335
|
+
// Defensive check: ensure assignedNodes returns an array
|
|
336
|
+
if (!assignedNodes || !Array.isArray(assignedNodes)) {
|
|
337
|
+
this.context.logger.warn('assignedNodes() did not return a valid array', slot);
|
|
338
|
+
this.cloneSlotFallbackContent(slot, targetShadowRoot, copyStyles);
|
|
339
|
+
return;
|
|
340
|
+
}
|
|
341
|
+
if (assignedNodes.length > 0) {
|
|
342
|
+
// Clone assigned nodes
|
|
343
|
+
this.cloneAssignedNodes(assignedNodes, targetShadowRoot, copyStyles);
|
|
344
|
+
}
|
|
345
|
+
else {
|
|
346
|
+
// Clone fallback content
|
|
347
|
+
this.cloneSlotFallbackContent(slot, targetShadowRoot, copyStyles);
|
|
348
|
+
}
|
|
349
|
+
}
|
|
350
|
+
/**
|
|
351
|
+
* Clone shadow DOM children to the target shadow root
|
|
352
|
+
*/
|
|
353
|
+
cloneShadowDOMChildren(shadowRoot, targetShadowRoot, copyStyles) {
|
|
354
|
+
for (let child = shadowRoot.firstChild; child; child = child.nextSibling) {
|
|
355
|
+
if ((0, node_parser_1.isElementNode)(child) && (0, node_parser_1.isSlotElement)(child)) {
|
|
356
|
+
// Handle slot elements specially
|
|
357
|
+
this.cloneSlotElement(child, targetShadowRoot, copyStyles);
|
|
358
|
+
}
|
|
359
|
+
else {
|
|
360
|
+
// Clone regular elements
|
|
361
|
+
this.safeAppendClonedChild(targetShadowRoot, child, copyStyles);
|
|
287
362
|
}
|
|
288
363
|
}
|
|
289
|
-
|
|
364
|
+
}
|
|
365
|
+
/**
|
|
366
|
+
* Clone light DOM children to the target element
|
|
367
|
+
*/
|
|
368
|
+
cloneLightDOMChildren(node, clone, copyStyles) {
|
|
290
369
|
for (let child = node.firstChild; child; child = child.nextSibling) {
|
|
291
370
|
this.appendChildNode(clone, child, copyStyles);
|
|
292
371
|
}
|
|
293
372
|
}
|
|
373
|
+
/**
|
|
374
|
+
* Clone slot element as light DOM when shadow root creation failed
|
|
375
|
+
*/
|
|
376
|
+
cloneSlotElementAsLightDOM(slot, clone, copyStyles) {
|
|
377
|
+
if (!(0, node_parser_1.isSlotElement)(slot)) {
|
|
378
|
+
return;
|
|
379
|
+
}
|
|
380
|
+
const slotElement = slot;
|
|
381
|
+
if (typeof slotElement.assignedNodes !== 'function') {
|
|
382
|
+
// Fallback: clone slot's children
|
|
383
|
+
for (let child = slot.firstChild; child; child = child.nextSibling) {
|
|
384
|
+
this.appendChildNode(clone, child, copyStyles);
|
|
385
|
+
}
|
|
386
|
+
return;
|
|
387
|
+
}
|
|
388
|
+
const assignedNodes = slotElement.assignedNodes();
|
|
389
|
+
if (assignedNodes && Array.isArray(assignedNodes) && assignedNodes.length > 0) {
|
|
390
|
+
// Clone assigned nodes as light DOM
|
|
391
|
+
assignedNodes.forEach((node) => this.appendChildNode(clone, node, copyStyles));
|
|
392
|
+
}
|
|
393
|
+
else {
|
|
394
|
+
// Clone fallback content as light DOM
|
|
395
|
+
for (let child = slot.firstChild; child; child = child.nextSibling) {
|
|
396
|
+
this.appendChildNode(clone, child, copyStyles);
|
|
397
|
+
}
|
|
398
|
+
}
|
|
399
|
+
}
|
|
400
|
+
/**
|
|
401
|
+
* Clone shadow DOM content as light DOM when shadow root creation failed
|
|
402
|
+
* This is a fallback mechanism to ensure content is not lost
|
|
403
|
+
*/
|
|
404
|
+
cloneShadowDOMAsLightDOM(shadowRoot, clone, copyStyles) {
|
|
405
|
+
for (let child = shadowRoot.firstChild; child; child = child.nextSibling) {
|
|
406
|
+
if ((0, node_parser_1.isElementNode)(child) && (0, node_parser_1.isSlotElement)(child)) {
|
|
407
|
+
this.cloneSlotElementAsLightDOM(child, clone, copyStyles);
|
|
408
|
+
}
|
|
409
|
+
else {
|
|
410
|
+
this.appendChildNode(clone, child, copyStyles);
|
|
411
|
+
}
|
|
412
|
+
}
|
|
413
|
+
}
|
|
414
|
+
/**
|
|
415
|
+
* Clone child nodes from source element to clone element
|
|
416
|
+
* Handles shadow DOM, slots, and light DOM appropriately
|
|
417
|
+
*/
|
|
418
|
+
cloneChildNodes(node, clone, copyStyles) {
|
|
419
|
+
if (node.shadowRoot && clone.shadowRoot) {
|
|
420
|
+
// Both original and clone have shadow roots - clone shadow DOM content
|
|
421
|
+
this.cloneShadowDOMChildren(node.shadowRoot, clone.shadowRoot, copyStyles);
|
|
422
|
+
// Also clone light DOM (slot content sources)
|
|
423
|
+
this.cloneLightDOMChildren(node, clone, copyStyles);
|
|
424
|
+
}
|
|
425
|
+
else if (node.shadowRoot && !clone.shadowRoot) {
|
|
426
|
+
// Original has shadow root but clone doesn't (creation failed)
|
|
427
|
+
// Fallback: clone shadow DOM content as light DOM to preserve content
|
|
428
|
+
this.cloneShadowDOMAsLightDOM(node.shadowRoot, clone, copyStyles);
|
|
429
|
+
}
|
|
430
|
+
else {
|
|
431
|
+
// No shadow DOM - just clone light DOM children
|
|
432
|
+
this.cloneLightDOMChildren(node, clone, copyStyles);
|
|
433
|
+
}
|
|
434
|
+
}
|
|
294
435
|
cloneNode(node, copyStyles) {
|
|
295
436
|
if ((0, node_parser_1.isTextNode)(node)) {
|
|
296
437
|
return document.createTextNode(node.data);
|