From 519240fd245cf69c8b1a48172b4c9760f1770414 Mon Sep 17 00:00:00 2001 From: Michael Dellanoce Date: Fri, 10 Feb 2023 13:04:31 -0500 Subject: [PATCH] skip mask distance if unmask is not found and maskAllText is true #1096 --- packages/rrweb-snapshot/src/snapshot.ts | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/packages/rrweb-snapshot/src/snapshot.ts b/packages/rrweb-snapshot/src/snapshot.ts index fa0a559eaf..827bf5e4ff 100644 --- a/packages/rrweb-snapshot/src/snapshot.ts +++ b/packages/rrweb-snapshot/src/snapshot.ts @@ -384,12 +384,18 @@ export function needMaskingText( : node.parentElement; if (el === null) return false; - const maskDistance = distanceToMatch(el, maskTextClass, maskTextSelector); const unmaskDistance = distanceToMatch( el, unmaskTextClass, unmaskTextSelector, ); + + let maskDistance = -1; + if (maskAllText && unmaskDistance < 0) { + return true; + } + + maskDistance = distanceToMatch(el, maskTextClass, maskTextSelector); return maskDistance >= 0 ? unmaskDistance >= 0