Skip to content

Commit 13d72bd

Browse files
committed
fix: prevent mem leaks by removing unloaded iframes from map
1 parent fd9d274 commit 13d72bd

File tree

2 files changed

+10
-1
lines changed

2 files changed

+10
-1
lines changed

.changeset/shy-carrots-deny.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
"rrweb": patch
3+
---
4+
5+
fix potential mem leaks by deleting unloaded iframes from crossOriginIframeMap

packages/rrweb/src/record/iframe-manager.ts

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -77,12 +77,16 @@ export class IframeManager {
7777
});
7878

7979
// Receive messages (events) coming from cross-origin iframes that are nested in this same-origin iframe.
80-
if (this.recordCrossOriginIframes)
80+
if (this.recordCrossOriginIframes) {
8181
iframeEl.contentWindow?.addEventListener(
8282
'message',
8383
this.handleMessage.bind(this),
8484
);
8585

86+
iframeEl.contentWindow?.addEventListener('unload', () => {
87+
this.crossOriginIframeMap.delete(iframeEl.contentWindow!);
88+
});
89+
}
8690
this.loadListener?.(iframeEl);
8791

8892
if (

0 commit comments

Comments
 (0)