@percy/dom 1.30.3-alpha.2 → 1.30.3-alpha.4
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/dist/bundle.js +19 -6
- package/package.json +2 -2
package/dist/bundle.js
CHANGED
|
@@ -518,7 +518,8 @@
|
|
|
518
518
|
clone.shadowRoot.innerHTML = '';
|
|
519
519
|
} else {
|
|
520
520
|
clone.attachShadow({
|
|
521
|
-
mode: 'open'
|
|
521
|
+
mode: 'open',
|
|
522
|
+
serializable: true
|
|
522
523
|
});
|
|
523
524
|
}
|
|
524
525
|
// clone dom elements
|
|
@@ -547,14 +548,26 @@
|
|
|
547
548
|
* Use `getInnerHTML()` to serialize shadow dom as <template> tags. `innerHTML` and `outerHTML` don't do this. Buzzword: "declarative shadow dom"
|
|
548
549
|
*/
|
|
549
550
|
function getOuterHTML(docElement) {
|
|
550
|
-
//
|
|
551
|
-
|
|
551
|
+
// All major browsers in latest versions supports getHTML API to get serialized DOM
|
|
552
|
+
// https://developer.mozilla.org/en-US/docs/Web/API/Element/getHTML
|
|
553
|
+
// old firefox doesn't serialize shadow DOM, we're awaiting API's by firefox to become ready and are not polyfilling it.
|
|
554
|
+
// new firefox from 128 onwards serializes it using getHTML
|
|
555
|
+
/* istanbul ignore if: Only triggered in firefox <= 128 and tests runs on latest */
|
|
556
|
+
if (!docElement.getHTML) {
|
|
552
557
|
return docElement.outerHTML;
|
|
553
558
|
}
|
|
554
559
|
// chromium gives us declarative shadow DOM serialization API
|
|
555
|
-
let innerHTML =
|
|
556
|
-
|
|
557
|
-
|
|
560
|
+
let innerHTML = '';
|
|
561
|
+
/* istanbul ignore else if: Only triggered in chrome <= 128 and tests runs on latest */
|
|
562
|
+
if (docElement.getHTML) {
|
|
563
|
+
innerHTML = docElement.getHTML({
|
|
564
|
+
serializableShadowRoots: true
|
|
565
|
+
});
|
|
566
|
+
} else if (docElement.getInnerHTML) {
|
|
567
|
+
innerHTML = docElement.getInnerHTML({
|
|
568
|
+
includeShadowRoots: true
|
|
569
|
+
});
|
|
570
|
+
}
|
|
558
571
|
docElement.textContent = '';
|
|
559
572
|
// Note: Here we are specifically passing replacer function to avoid any replacements due to
|
|
560
573
|
// special characters in client's dom like $&
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@percy/dom",
|
|
3
|
-
"version": "1.30.3-alpha.
|
|
3
|
+
"version": "1.30.3-alpha.4",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -35,5 +35,5 @@
|
|
|
35
35
|
"devDependencies": {
|
|
36
36
|
"interactor.js": "^2.0.0-beta.10"
|
|
37
37
|
},
|
|
38
|
-
"gitHead": "
|
|
38
|
+
"gitHead": "c524e283ea199ee9169fa7f5c50a796d46864c3e"
|
|
39
39
|
}
|