From 70e8d7f0c46ae59bfa7945faaa00de4575ae406d Mon Sep 17 00:00:00 2001 From: Angelina Nguyen Date: Fri, 9 Feb 2024 19:55:18 +1100 Subject: [PATCH] see pr: https://github.com/niklasvh/html2canvas/pull/2949 Squashed commit of the following: commit 96cc89a27dbd35efb3e3373fb87c3964edd41b71 Author: yuyuyzl Date: Tue Sep 6 10:36:07 2022 +0800 fix: cleanup iframe first to prevent memory leaks, see #1609 commit 485a49e45129797df556591046e4e55608de4666 Author: yuyuyzl Date: Tue Sep 6 10:28:22 2022 +0800 fix: cleanup iframe first to prevent memory leaks, see #1609 --- src/dom/document-cloner.ts | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/src/dom/document-cloner.ts b/src/dom/document-cloner.ts index ad0369524..5ae61e0ea 100644 --- a/src/dom/document-cloner.ts +++ b/src/dom/document-cloner.ts @@ -489,6 +489,16 @@ export class DocumentCloner { } static destroy(container: HTMLIFrameElement): boolean { + // cleanup iframe first to prevent memory leaks, see #1609 + try { + const iframe = container.contentWindow; + container.src = 'about:blank'; + if (iframe) { + iframe.document.write(''); + iframe.document.clear(); + iframe.close(); + } + } catch {} if (container.parentNode) { container.parentNode.removeChild(container); return true;