SessionReplayMasking class
Properties
-
hashCode
→ int
-
The hash code for this object.
no setterinherited
-
runtimeType
→ Type
-
A representation of the runtime type of the object.
no setterinherited
Methods
-
noSuchMethod(Invocation invocation)
→ dynamic
-
Invoked when a nonexistent method or property is accessed.
inherited
-
toString()
→ String
-
A string representation of this object.
inherited
Static Methods
-
addMaskEntryForTesting(String id, GlobalKey<State<StatefulWidget>> key, bool isMasked())
→ void
-
Registers a raw registry entry. Only a real MaskedWidget does this in
production; tests use it to inject an entry that misbehaves (a throwing
isMasked, a key that never mounts) and assert one bad entry cannot cost
the frame its other masks.
-
applyOptions({bool maskAllTexts = false, bool maskAllImages = false, double captureScale = 1.0, List<String>? textsToMask})
→ Future<void>
-
Applies masking configuration. Called internally by
CxFlutterPlugin.initializeSessionReplay from CXSessionReplayOptions —
you normally do not call this directly. Set masking on the options object
instead, so there is exactly one place that controls it.
-
capturedRenderViewsForTesting()
→ List<RenderView>
-
Exposes the capture's view scoping for testing.
-
collectAllMaskRectsSync()
→ List<Rect>
-
Returns all currently-active mask rects in logical pixels.
-
collectCaptureMaskRectsSync()
→ ({List<Rect> content, List<Rect> exported})
-
Collects, in one synchronous walk, the two rect sets a capture needs
(both in logical pixels):
-
collectImageRegionsForTesting()
→ List<Map<String, dynamic>>
-
-
collectTextRegionsForTesting({List<RegExp>? patterns})
→ List<Map<String, dynamic>>
-
-
initialize()
→ void
-
Registers the Dart masking handler so the native SDK can request
pre-masked frames. Call once at app startup (e.g. in
main()).
-
isInCapturedViewForTesting(RenderObject node, {required Set<RenderObject> capturedViews})
→ bool
-
Exposes the per-node view-scoping test used to filter registry entries.
-
navigationTransitionActiveForTesting()
→ bool
-
Exposes the navigation-transition guard for testing.
-
noteUserInteraction()
→ void
-
Tracks time since the last rendered frame (for the scroll-skip heuristic).
Registered once; persistent frame callbacks fire on every produced frame,
so when the UI is idle the stopwatch grows and when it's animating it
stays near zero.
No-op since native moved the tap capture to finger-down.
-
removeMaskEntryForTesting(String id)
→ void
-
-
resetForTesting()
→ void
-
-
shouldSkipCaptureForTesting({required int inFlight, required int msSinceLastFrame})
→ bool
-
Exposes the capture-pacing decision for testing.
-
visibleFragmentsForTesting(Rect rect, List<Rect> covered)
→ List<Rect>
-
Exposes the subtraction directly: the cap behaviour it guarantees is a
privacy property (keep the whole mask rather than under-mask), and
driving it through widgets would need dozens of contrived surfaces.