diff --git a/test/integration/test_utils.mjs b/test/integration/test_utils.mjs index 9d230b5af9dbd..ce05d346aec10 100644 --- a/test/integration/test_utils.mjs +++ b/test/integration/test_utils.mjs @@ -79,7 +79,13 @@ function closePages(pages) { return Promise.all( pages.map(async ([_, page]) => { // Avoid to keep something from a previous test. - await page.evaluate(() => window.localStorage.clear()); + await page.evaluate(async () => { + const viewer = window.PDFViewerApplication; + viewer.unbindWindowEvents(); + viewer.unbindEvents(); + await viewer.close(); + window.localStorage.clear(); + }); await page.close({ runBeforeUnload: false }); }) ); diff --git a/web/app.js b/web/app.js index 8bcb86f20d69e..c15aa2b02197d 100644 --- a/web/app.js +++ b/web/app.js @@ -2098,7 +2098,10 @@ const PDFViewerApplication = { unbindWindowEvents() { this._windowAbortController?.abort(); this._windowAbortController = null; - if (AppOptions.get("isInAutomation")) { + if ( + (typeof PDFJSDev !== "undefined" && PDFJSDev.test("TESTING")) || + AppOptions.get("isInAutomation") + ) { this._globalAbortController?.abort(); this._globalAbortController = null; }