@highlight-run/rrweb 2.1.5 → 2.1.6
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/plugins/console-record.js +3 -3
- package/dist/plugins/console-record.min.js +3 -3
- package/dist/plugins/console-record.min.js.map +1 -1
- package/dist/plugins/console-replay.js +0 -0
- package/dist/plugins/console-replay.min.js +0 -0
- package/dist/plugins/console-replay.min.js.map +1 -1
- package/dist/plugins/sequential-id-record.js +0 -0
- package/dist/plugins/sequential-id-record.min.js +0 -0
- package/dist/plugins/sequential-id-record.min.js.map +0 -0
- package/dist/plugins/sequential-id-replay.js +0 -0
- package/dist/plugins/sequential-id-replay.min.js +0 -0
- package/dist/plugins/sequential-id-replay.min.js.map +0 -0
- package/dist/record/rrweb-record-pack.js +0 -0
- package/dist/record/rrweb-record-pack.min.js +0 -0
- package/dist/record/rrweb-record-pack.min.js.map +1 -1
- package/dist/record/rrweb-record.js +3 -3
- package/dist/record/rrweb-record.min.js +3 -3
- package/dist/record/rrweb-record.min.js.map +1 -1
- package/dist/replay/rrweb-replay-unpack.css +0 -0
- package/dist/replay/rrweb-replay-unpack.js +3 -3
- package/dist/replay/rrweb-replay-unpack.min.css +0 -0
- package/dist/replay/rrweb-replay-unpack.min.css.map +0 -0
- package/dist/replay/rrweb-replay-unpack.min.js +3 -3
- package/dist/replay/rrweb-replay-unpack.min.js.map +1 -1
- package/dist/replay/rrweb-replay.css +0 -0
- package/dist/replay/rrweb-replay.js +4 -4
- package/dist/replay/rrweb-replay.min.css +0 -0
- package/dist/replay/rrweb-replay.min.css.map +0 -0
- package/dist/replay/rrweb-replay.min.js +4 -4
- package/dist/replay/rrweb-replay.min.js.map +1 -1
- package/dist/rrweb-all.css +0 -0
- package/dist/rrweb-all.js +6 -6
- package/dist/rrweb-all.min.css +0 -0
- package/dist/rrweb-all.min.css.map +0 -0
- package/dist/rrweb-all.min.js +6 -6
- package/dist/rrweb-all.min.js.map +1 -1
- package/dist/rrweb.css +0 -0
- package/dist/rrweb.js +5 -5
- package/dist/rrweb.min.css +0 -0
- package/dist/rrweb.min.css.map +0 -0
- package/dist/rrweb.min.js +5 -5
- package/dist/rrweb.min.js.map +1 -1
- package/es/rrweb/_virtual/_rollup-plugin-web-worker-loader__helper__auto__createBase64WorkerFactory.js +0 -0
- package/es/rrweb/_virtual/_rollup-plugin-web-worker-loader__helper__auto__isNodeJS.js +0 -0
- package/es/rrweb/_virtual/_rollup-plugin-web-worker-loader__helper__browser__createBase64WorkerFactory.js +0 -0
- package/es/rrweb/_virtual/_rollup-plugin-web-worker-loader__helper__node__WorkerClass.js +0 -0
- package/es/rrweb/_virtual/_rollup-plugin-web-worker-loader__helper__node__createBase64WorkerFactory.js +0 -0
- package/es/rrweb/_virtual/image-bitmap-data-url-worker.js +0 -0
- package/es/rrweb/all.css +0 -0
- package/es/rrweb/ext/@xstate/fsm/es/index.js +0 -0
- package/es/rrweb/ext/base64-arraybuffer/dist/base64-arraybuffer.es5.js +0 -0
- package/es/rrweb/ext/fflate/esm/browser.js +0 -0
- package/es/rrweb/ext/mitt/dist/mitt.mjs.js +0 -0
- package/es/rrweb/ext/tslib/tslib.es6.js +0 -0
- package/es/rrweb/packages/rrdom/es/rrdom.js +0 -0
- package/es/rrweb/packages/rrweb/src/entries/all.js +0 -0
- package/es/rrweb/packages/rrweb/src/index.js +0 -0
- package/es/rrweb/packages/rrweb/src/packer/base.js +0 -0
- package/es/rrweb/packages/rrweb/src/packer/pack.js +0 -0
- package/es/rrweb/packages/rrweb/src/packer/unpack.js +0 -0
- package/es/rrweb/packages/rrweb/src/plugins/console/record/error-stack-parser.js +0 -0
- package/es/rrweb/packages/rrweb/src/plugins/console/record/index.js +0 -0
- package/es/rrweb/packages/rrweb/src/plugins/console/record/stringify.js +0 -0
- package/es/rrweb/packages/rrweb/src/plugins/console/replay/index.js +0 -0
- package/es/rrweb/packages/rrweb/src/plugins/sequential-id/record/index.js +0 -0
- package/es/rrweb/packages/rrweb/src/plugins/sequential-id/replay/index.js +0 -0
- package/es/rrweb/packages/rrweb/src/record/iframe-manager.js +0 -0
- package/es/rrweb/packages/rrweb/src/record/index.js +0 -0
- package/es/rrweb/packages/rrweb/src/record/mutation.js +0 -0
- package/es/rrweb/packages/rrweb/src/record/observer.js +0 -0
- package/es/rrweb/packages/rrweb/src/record/observers/canvas/2d.js +0 -0
- package/es/rrweb/packages/rrweb/src/record/observers/canvas/canvas-manager.js +0 -0
- package/es/rrweb/packages/rrweb/src/record/observers/canvas/canvas.js +0 -0
- package/es/rrweb/packages/rrweb/src/record/observers/canvas/serialize-args.js +0 -0
- package/es/rrweb/packages/rrweb/src/record/observers/canvas/webgl.js +0 -0
- package/es/rrweb/packages/rrweb/src/record/shadow-dom-manager.js +0 -0
- package/es/rrweb/packages/rrweb/src/record/stylesheet-manager.js +0 -0
- package/es/rrweb/packages/rrweb/src/replay/canvas/2d.js +0 -0
- package/es/rrweb/packages/rrweb/src/replay/canvas/deserialize-args.js +0 -0
- package/es/rrweb/packages/rrweb/src/replay/canvas/index.js +0 -0
- package/es/rrweb/packages/rrweb/src/replay/canvas/webgl.js +0 -0
- package/es/rrweb/packages/rrweb/src/replay/index.js +0 -0
- package/es/rrweb/packages/rrweb/src/replay/machine.js +0 -0
- package/es/rrweb/packages/rrweb/src/replay/smoothscroll.js +0 -0
- package/es/rrweb/packages/rrweb/src/replay/styles/inject-style.js +0 -0
- package/es/rrweb/packages/rrweb/src/replay/timer.js +0 -0
- package/es/rrweb/packages/rrweb/src/types.js +0 -0
- package/es/rrweb/packages/rrweb/src/utils.js +0 -0
- package/es/rrweb/packages/rrweb-snapshot/es/rrweb-snapshot.js +13 -9
- package/lib/plugins/console-record.js +0 -0
- package/lib/plugins/console-replay.js +0 -0
- package/lib/plugins/sequential-id-record.js +0 -0
- package/lib/plugins/sequential-id-replay.js +0 -0
- package/lib/record/rrweb-record-pack.js +0 -0
- package/lib/record/rrweb-record.js +13 -9
- package/lib/replay/rrweb-replay-unpack.css +0 -0
- package/lib/replay/rrweb-replay-unpack.js +0 -0
- package/lib/replay/rrweb-replay.css +0 -0
- package/lib/replay/rrweb-replay.js +0 -0
- package/lib/rrweb-all.css +0 -0
- package/lib/rrweb-all.js +13 -9
- package/lib/rrweb.css +0 -0
- package/lib/rrweb.js +13 -9
- package/package.json +3 -3
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
package/es/rrweb/all.css
CHANGED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
@@ -571,8 +571,8 @@ function serializeTextNode(n, options) {
|
|
|
571
571
|
}
|
|
572
572
|
function serializeElementNode(n, options) {
|
|
573
573
|
var doc = options.doc, blockClass = options.blockClass, blockSelector = options.blockSelector, inlineStylesheet = options.inlineStylesheet, _a = options.maskInputOptions, maskInputOptions = _a === void 0 ? {} : _a, maskInputFn = options.maskInputFn, maskTextClass = options.maskTextClass, _b = options.dataURLOptions, dataURLOptions = _b === void 0 ? {} : _b, inlineImages = options.inlineImages, recordCanvas = options.recordCanvas, keepIframeSrcFn = options.keepIframeSrcFn, _c = options.newlyAddedElement, newlyAddedElement = _c === void 0 ? false : _c, enableStrictPrivacy = options.enableStrictPrivacy, rootId = options.rootId;
|
|
574
|
-
var needBlock = _isBlockedElement(n, blockClass, blockSelector)
|
|
575
|
-
|
|
574
|
+
var needBlock = _isBlockedElement(n, blockClass, blockSelector);
|
|
575
|
+
var needMask = _isBlockedElement(n, maskTextClass, null);
|
|
576
576
|
var tagName = getValidTagName(n);
|
|
577
577
|
var attributes = {};
|
|
578
578
|
var len = n.attributes.length;
|
|
@@ -646,7 +646,7 @@ function serializeElementNode(n, options) {
|
|
|
646
646
|
}
|
|
647
647
|
}
|
|
648
648
|
}
|
|
649
|
-
if (tagName === 'img' && inlineImages && !needBlock) {
|
|
649
|
+
if (tagName === 'img' && inlineImages && !needBlock && !needMask) {
|
|
650
650
|
if (!canvasService) {
|
|
651
651
|
canvasService = doc.createElement('canvas');
|
|
652
652
|
canvasCtx = canvasService.getContext('2d');
|
|
@@ -687,14 +687,16 @@ function serializeElementNode(n, options) {
|
|
|
687
687
|
attributes.rr_scrollTop = n.scrollTop;
|
|
688
688
|
}
|
|
689
689
|
}
|
|
690
|
-
if (needBlock || (tagName === 'img' && enableStrictPrivacy)) {
|
|
690
|
+
if (needBlock || needMask || (tagName === 'img' && enableStrictPrivacy)) {
|
|
691
691
|
var _d = n.getBoundingClientRect(), width = _d.width, height = _d.height;
|
|
692
692
|
attributes = {
|
|
693
693
|
"class": attributes["class"],
|
|
694
694
|
rr_width: "".concat(width, "px"),
|
|
695
695
|
rr_height: "".concat(height, "px")
|
|
696
696
|
};
|
|
697
|
-
|
|
697
|
+
if (enableStrictPrivacy) {
|
|
698
|
+
needBlock = true;
|
|
699
|
+
}
|
|
698
700
|
}
|
|
699
701
|
if (tagName === 'iframe' && !keepIframeSrcFn(attributes.src)) {
|
|
700
702
|
if (!n.contentDocument) {
|
|
@@ -702,9 +704,6 @@ function serializeElementNode(n, options) {
|
|
|
702
704
|
}
|
|
703
705
|
delete attributes.src;
|
|
704
706
|
}
|
|
705
|
-
if (needBlock && tagName === 'img') {
|
|
706
|
-
delete attributes.src;
|
|
707
|
-
}
|
|
708
707
|
return {
|
|
709
708
|
type: NodeType.Element,
|
|
710
709
|
tagName: tagName,
|
|
@@ -712,6 +711,7 @@ function serializeElementNode(n, options) {
|
|
|
712
711
|
childNodes: [],
|
|
713
712
|
isSVG: isSVGElement(n) || undefined,
|
|
714
713
|
needBlock: needBlock,
|
|
714
|
+
needMask: needMask,
|
|
715
715
|
rootId: rootId
|
|
716
716
|
};
|
|
717
717
|
}
|
|
@@ -845,13 +845,17 @@ function serializeNodeWithId(n, options) {
|
|
|
845
845
|
var strictPrivacy = enableStrictPrivacy;
|
|
846
846
|
if (serializedNode.type === NodeType.Element) {
|
|
847
847
|
recordChild = recordChild && !serializedNode.needBlock;
|
|
848
|
-
strictPrivacy =
|
|
848
|
+
strictPrivacy =
|
|
849
|
+
enableStrictPrivacy ||
|
|
850
|
+
!!serializedNode.needBlock ||
|
|
851
|
+
!!serializedNode.needMask;
|
|
849
852
|
if (strictPrivacy && serializedNode.tagName === 'img') {
|
|
850
853
|
var clone = n.cloneNode();
|
|
851
854
|
clone.src = '';
|
|
852
855
|
mirror.add(clone, serializedNode);
|
|
853
856
|
}
|
|
854
857
|
delete serializedNode.needBlock;
|
|
858
|
+
delete serializedNode.needMask;
|
|
855
859
|
var shadowRoot = n.shadowRoot;
|
|
856
860
|
if (shadowRoot && isNativeShadowDom(shadowRoot))
|
|
857
861
|
serializedNode.isShadowHost = true;
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
@@ -573,8 +573,8 @@ function serializeTextNode(n, options) {
|
|
|
573
573
|
}
|
|
574
574
|
function serializeElementNode(n, options) {
|
|
575
575
|
var doc = options.doc, blockClass = options.blockClass, blockSelector = options.blockSelector, inlineStylesheet = options.inlineStylesheet, _a = options.maskInputOptions, maskInputOptions = _a === void 0 ? {} : _a, maskInputFn = options.maskInputFn, maskTextClass = options.maskTextClass, _b = options.dataURLOptions, dataURLOptions = _b === void 0 ? {} : _b, inlineImages = options.inlineImages, recordCanvas = options.recordCanvas, keepIframeSrcFn = options.keepIframeSrcFn, _c = options.newlyAddedElement, newlyAddedElement = _c === void 0 ? false : _c, enableStrictPrivacy = options.enableStrictPrivacy, rootId = options.rootId;
|
|
576
|
-
var needBlock = _isBlockedElement(n, blockClass, blockSelector)
|
|
577
|
-
|
|
576
|
+
var needBlock = _isBlockedElement(n, blockClass, blockSelector);
|
|
577
|
+
var needMask = _isBlockedElement(n, maskTextClass, null);
|
|
578
578
|
var tagName = getValidTagName(n);
|
|
579
579
|
var attributes = {};
|
|
580
580
|
var len = n.attributes.length;
|
|
@@ -648,7 +648,7 @@ function serializeElementNode(n, options) {
|
|
|
648
648
|
}
|
|
649
649
|
}
|
|
650
650
|
}
|
|
651
|
-
if (tagName === 'img' && inlineImages && !needBlock) {
|
|
651
|
+
if (tagName === 'img' && inlineImages && !needBlock && !needMask) {
|
|
652
652
|
if (!canvasService) {
|
|
653
653
|
canvasService = doc.createElement('canvas');
|
|
654
654
|
canvasCtx = canvasService.getContext('2d');
|
|
@@ -689,14 +689,16 @@ function serializeElementNode(n, options) {
|
|
|
689
689
|
attributes.rr_scrollTop = n.scrollTop;
|
|
690
690
|
}
|
|
691
691
|
}
|
|
692
|
-
if (needBlock || (tagName === 'img' && enableStrictPrivacy)) {
|
|
692
|
+
if (needBlock || needMask || (tagName === 'img' && enableStrictPrivacy)) {
|
|
693
693
|
var _d = n.getBoundingClientRect(), width = _d.width, height = _d.height;
|
|
694
694
|
attributes = {
|
|
695
695
|
"class": attributes["class"],
|
|
696
696
|
rr_width: "".concat(width, "px"),
|
|
697
697
|
rr_height: "".concat(height, "px")
|
|
698
698
|
};
|
|
699
|
-
|
|
699
|
+
if (enableStrictPrivacy) {
|
|
700
|
+
needBlock = true;
|
|
701
|
+
}
|
|
700
702
|
}
|
|
701
703
|
if (tagName === 'iframe' && !keepIframeSrcFn(attributes.src)) {
|
|
702
704
|
if (!n.contentDocument) {
|
|
@@ -704,9 +706,6 @@ function serializeElementNode(n, options) {
|
|
|
704
706
|
}
|
|
705
707
|
delete attributes.src;
|
|
706
708
|
}
|
|
707
|
-
if (needBlock && tagName === 'img') {
|
|
708
|
-
delete attributes.src;
|
|
709
|
-
}
|
|
710
709
|
return {
|
|
711
710
|
type: NodeType.Element,
|
|
712
711
|
tagName: tagName,
|
|
@@ -714,6 +713,7 @@ function serializeElementNode(n, options) {
|
|
|
714
713
|
childNodes: [],
|
|
715
714
|
isSVG: isSVGElement(n) || undefined,
|
|
716
715
|
needBlock: needBlock,
|
|
716
|
+
needMask: needMask,
|
|
717
717
|
rootId: rootId
|
|
718
718
|
};
|
|
719
719
|
}
|
|
@@ -847,13 +847,17 @@ function serializeNodeWithId(n, options) {
|
|
|
847
847
|
var strictPrivacy = enableStrictPrivacy;
|
|
848
848
|
if (serializedNode.type === NodeType.Element) {
|
|
849
849
|
recordChild = recordChild && !serializedNode.needBlock;
|
|
850
|
-
strictPrivacy =
|
|
850
|
+
strictPrivacy =
|
|
851
|
+
enableStrictPrivacy ||
|
|
852
|
+
!!serializedNode.needBlock ||
|
|
853
|
+
!!serializedNode.needMask;
|
|
851
854
|
if (strictPrivacy && serializedNode.tagName === 'img') {
|
|
852
855
|
var clone = n.cloneNode();
|
|
853
856
|
clone.src = '';
|
|
854
857
|
mirror.add(clone, serializedNode);
|
|
855
858
|
}
|
|
856
859
|
delete serializedNode.needBlock;
|
|
860
|
+
delete serializedNode.needMask;
|
|
857
861
|
var shadowRoot = n.shadowRoot;
|
|
858
862
|
if (shadowRoot && isNativeShadowDom(shadowRoot))
|
|
859
863
|
serializedNode.isShadowHost = true;
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
package/lib/rrweb-all.css
CHANGED
|
File without changes
|
package/lib/rrweb-all.js
CHANGED
|
@@ -575,8 +575,8 @@ function serializeTextNode(n, options) {
|
|
|
575
575
|
}
|
|
576
576
|
function serializeElementNode(n, options) {
|
|
577
577
|
var doc = options.doc, blockClass = options.blockClass, blockSelector = options.blockSelector, inlineStylesheet = options.inlineStylesheet, _a = options.maskInputOptions, maskInputOptions = _a === void 0 ? {} : _a, maskInputFn = options.maskInputFn, maskTextClass = options.maskTextClass, _b = options.dataURLOptions, dataURLOptions = _b === void 0 ? {} : _b, inlineImages = options.inlineImages, recordCanvas = options.recordCanvas, keepIframeSrcFn = options.keepIframeSrcFn, _c = options.newlyAddedElement, newlyAddedElement = _c === void 0 ? false : _c, enableStrictPrivacy = options.enableStrictPrivacy, rootId = options.rootId;
|
|
578
|
-
var needBlock = _isBlockedElement(n, blockClass, blockSelector)
|
|
579
|
-
|
|
578
|
+
var needBlock = _isBlockedElement(n, blockClass, blockSelector);
|
|
579
|
+
var needMask = _isBlockedElement(n, maskTextClass, null);
|
|
580
580
|
var tagName = getValidTagName$1(n);
|
|
581
581
|
var attributes = {};
|
|
582
582
|
var len = n.attributes.length;
|
|
@@ -650,7 +650,7 @@ function serializeElementNode(n, options) {
|
|
|
650
650
|
}
|
|
651
651
|
}
|
|
652
652
|
}
|
|
653
|
-
if (tagName === 'img' && inlineImages && !needBlock) {
|
|
653
|
+
if (tagName === 'img' && inlineImages && !needBlock && !needMask) {
|
|
654
654
|
if (!canvasService) {
|
|
655
655
|
canvasService = doc.createElement('canvas');
|
|
656
656
|
canvasCtx = canvasService.getContext('2d');
|
|
@@ -691,14 +691,16 @@ function serializeElementNode(n, options) {
|
|
|
691
691
|
attributes.rr_scrollTop = n.scrollTop;
|
|
692
692
|
}
|
|
693
693
|
}
|
|
694
|
-
if (needBlock || (tagName === 'img' && enableStrictPrivacy)) {
|
|
694
|
+
if (needBlock || needMask || (tagName === 'img' && enableStrictPrivacy)) {
|
|
695
695
|
var _d = n.getBoundingClientRect(), width = _d.width, height = _d.height;
|
|
696
696
|
attributes = {
|
|
697
697
|
"class": attributes["class"],
|
|
698
698
|
rr_width: "".concat(width, "px"),
|
|
699
699
|
rr_height: "".concat(height, "px")
|
|
700
700
|
};
|
|
701
|
-
|
|
701
|
+
if (enableStrictPrivacy) {
|
|
702
|
+
needBlock = true;
|
|
703
|
+
}
|
|
702
704
|
}
|
|
703
705
|
if (tagName === 'iframe' && !keepIframeSrcFn(attributes.src)) {
|
|
704
706
|
if (!n.contentDocument) {
|
|
@@ -706,9 +708,6 @@ function serializeElementNode(n, options) {
|
|
|
706
708
|
}
|
|
707
709
|
delete attributes.src;
|
|
708
710
|
}
|
|
709
|
-
if (needBlock && tagName === 'img') {
|
|
710
|
-
delete attributes.src;
|
|
711
|
-
}
|
|
712
711
|
return {
|
|
713
712
|
type: NodeType$2.Element,
|
|
714
713
|
tagName: tagName,
|
|
@@ -716,6 +715,7 @@ function serializeElementNode(n, options) {
|
|
|
716
715
|
childNodes: [],
|
|
717
716
|
isSVG: isSVGElement(n) || undefined,
|
|
718
717
|
needBlock: needBlock,
|
|
718
|
+
needMask: needMask,
|
|
719
719
|
rootId: rootId
|
|
720
720
|
};
|
|
721
721
|
}
|
|
@@ -849,13 +849,17 @@ function serializeNodeWithId(n, options) {
|
|
|
849
849
|
var strictPrivacy = enableStrictPrivacy;
|
|
850
850
|
if (serializedNode.type === NodeType$2.Element) {
|
|
851
851
|
recordChild = recordChild && !serializedNode.needBlock;
|
|
852
|
-
strictPrivacy =
|
|
852
|
+
strictPrivacy =
|
|
853
|
+
enableStrictPrivacy ||
|
|
854
|
+
!!serializedNode.needBlock ||
|
|
855
|
+
!!serializedNode.needMask;
|
|
853
856
|
if (strictPrivacy && serializedNode.tagName === 'img') {
|
|
854
857
|
var clone = n.cloneNode();
|
|
855
858
|
clone.src = '';
|
|
856
859
|
mirror.add(clone, serializedNode);
|
|
857
860
|
}
|
|
858
861
|
delete serializedNode.needBlock;
|
|
862
|
+
delete serializedNode.needMask;
|
|
859
863
|
var shadowRoot = n.shadowRoot;
|
|
860
864
|
if (shadowRoot && isNativeShadowDom(shadowRoot))
|
|
861
865
|
serializedNode.isShadowHost = true;
|
package/lib/rrweb.css
CHANGED
|
File without changes
|
package/lib/rrweb.js
CHANGED
|
@@ -575,8 +575,8 @@ function serializeTextNode(n, options) {
|
|
|
575
575
|
}
|
|
576
576
|
function serializeElementNode(n, options) {
|
|
577
577
|
var doc = options.doc, blockClass = options.blockClass, blockSelector = options.blockSelector, inlineStylesheet = options.inlineStylesheet, _a = options.maskInputOptions, maskInputOptions = _a === void 0 ? {} : _a, maskInputFn = options.maskInputFn, maskTextClass = options.maskTextClass, _b = options.dataURLOptions, dataURLOptions = _b === void 0 ? {} : _b, inlineImages = options.inlineImages, recordCanvas = options.recordCanvas, keepIframeSrcFn = options.keepIframeSrcFn, _c = options.newlyAddedElement, newlyAddedElement = _c === void 0 ? false : _c, enableStrictPrivacy = options.enableStrictPrivacy, rootId = options.rootId;
|
|
578
|
-
var needBlock = _isBlockedElement(n, blockClass, blockSelector)
|
|
579
|
-
|
|
578
|
+
var needBlock = _isBlockedElement(n, blockClass, blockSelector);
|
|
579
|
+
var needMask = _isBlockedElement(n, maskTextClass, null);
|
|
580
580
|
var tagName = getValidTagName$1(n);
|
|
581
581
|
var attributes = {};
|
|
582
582
|
var len = n.attributes.length;
|
|
@@ -650,7 +650,7 @@ function serializeElementNode(n, options) {
|
|
|
650
650
|
}
|
|
651
651
|
}
|
|
652
652
|
}
|
|
653
|
-
if (tagName === 'img' && inlineImages && !needBlock) {
|
|
653
|
+
if (tagName === 'img' && inlineImages && !needBlock && !needMask) {
|
|
654
654
|
if (!canvasService) {
|
|
655
655
|
canvasService = doc.createElement('canvas');
|
|
656
656
|
canvasCtx = canvasService.getContext('2d');
|
|
@@ -691,14 +691,16 @@ function serializeElementNode(n, options) {
|
|
|
691
691
|
attributes.rr_scrollTop = n.scrollTop;
|
|
692
692
|
}
|
|
693
693
|
}
|
|
694
|
-
if (needBlock || (tagName === 'img' && enableStrictPrivacy)) {
|
|
694
|
+
if (needBlock || needMask || (tagName === 'img' && enableStrictPrivacy)) {
|
|
695
695
|
var _d = n.getBoundingClientRect(), width = _d.width, height = _d.height;
|
|
696
696
|
attributes = {
|
|
697
697
|
"class": attributes["class"],
|
|
698
698
|
rr_width: "".concat(width, "px"),
|
|
699
699
|
rr_height: "".concat(height, "px")
|
|
700
700
|
};
|
|
701
|
-
|
|
701
|
+
if (enableStrictPrivacy) {
|
|
702
|
+
needBlock = true;
|
|
703
|
+
}
|
|
702
704
|
}
|
|
703
705
|
if (tagName === 'iframe' && !keepIframeSrcFn(attributes.src)) {
|
|
704
706
|
if (!n.contentDocument) {
|
|
@@ -706,9 +708,6 @@ function serializeElementNode(n, options) {
|
|
|
706
708
|
}
|
|
707
709
|
delete attributes.src;
|
|
708
710
|
}
|
|
709
|
-
if (needBlock && tagName === 'img') {
|
|
710
|
-
delete attributes.src;
|
|
711
|
-
}
|
|
712
711
|
return {
|
|
713
712
|
type: NodeType$2.Element,
|
|
714
713
|
tagName: tagName,
|
|
@@ -716,6 +715,7 @@ function serializeElementNode(n, options) {
|
|
|
716
715
|
childNodes: [],
|
|
717
716
|
isSVG: isSVGElement(n) || undefined,
|
|
718
717
|
needBlock: needBlock,
|
|
718
|
+
needMask: needMask,
|
|
719
719
|
rootId: rootId
|
|
720
720
|
};
|
|
721
721
|
}
|
|
@@ -849,13 +849,17 @@ function serializeNodeWithId(n, options) {
|
|
|
849
849
|
var strictPrivacy = enableStrictPrivacy;
|
|
850
850
|
if (serializedNode.type === NodeType$2.Element) {
|
|
851
851
|
recordChild = recordChild && !serializedNode.needBlock;
|
|
852
|
-
strictPrivacy =
|
|
852
|
+
strictPrivacy =
|
|
853
|
+
enableStrictPrivacy ||
|
|
854
|
+
!!serializedNode.needBlock ||
|
|
855
|
+
!!serializedNode.needMask;
|
|
853
856
|
if (strictPrivacy && serializedNode.tagName === 'img') {
|
|
854
857
|
var clone = n.cloneNode();
|
|
855
858
|
clone.src = '';
|
|
856
859
|
mirror.add(clone, serializedNode);
|
|
857
860
|
}
|
|
858
861
|
delete serializedNode.needBlock;
|
|
862
|
+
delete serializedNode.needMask;
|
|
859
863
|
var shadowRoot = n.shadowRoot;
|
|
860
864
|
if (shadowRoot && isNativeShadowDom(shadowRoot))
|
|
861
865
|
serializedNode.isShadowHost = true;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@highlight-run/rrweb",
|
|
3
|
-
"version": "2.1.
|
|
3
|
+
"version": "2.1.6",
|
|
4
4
|
"description": "record and replay the web",
|
|
5
5
|
"scripts": {
|
|
6
6
|
"prepare": "npm run prepack",
|
|
@@ -76,12 +76,12 @@
|
|
|
76
76
|
},
|
|
77
77
|
"dependencies": {
|
|
78
78
|
"@highlight-run/rrdom": "0.1.17",
|
|
79
|
-
"@highlight-run/rrweb-snapshot": "1.1.
|
|
79
|
+
"@highlight-run/rrweb-snapshot": "1.1.29",
|
|
80
80
|
"@types/css-font-loading-module": "0.0.7",
|
|
81
81
|
"@xstate/fsm": "^1.4.0",
|
|
82
82
|
"base64-arraybuffer": "^1.0.1",
|
|
83
83
|
"fflate": "^0.4.4",
|
|
84
84
|
"mitt": "^3.0.0"
|
|
85
85
|
},
|
|
86
|
-
"gitHead": "
|
|
86
|
+
"gitHead": "decc1b7fa6e0f0f50d3777c5abae92df455bd3e7"
|
|
87
87
|
}
|