From 5f8de423f190bbb79a62f804151bc24824fa32d8 Mon Sep 17 00:00:00 2001 From: "Matt A. Tobin" Date: Fri, 2 Feb 2018 04:16:08 -0500 Subject: Add m-esr52 at 52.6.0 --- .../test/leak/test-leak-event-dom-closed-window.js | 29 ++++++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 addon-sdk/source/test/leak/test-leak-event-dom-closed-window.js (limited to 'addon-sdk/source/test/leak/test-leak-event-dom-closed-window.js') diff --git a/addon-sdk/source/test/leak/test-leak-event-dom-closed-window.js b/addon-sdk/source/test/leak/test-leak-event-dom-closed-window.js new file mode 100644 index 000000000..c398462ab --- /dev/null +++ b/addon-sdk/source/test/leak/test-leak-event-dom-closed-window.js @@ -0,0 +1,29 @@ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ +'use strict'; + +const { asyncWindowLeakTest } = require("./leak-utils"); +const { Loader } = require('sdk/test/loader'); +const openWindow = require("sdk/window/utils").open; + +exports["test sdk/event/dom does not leak when attached to closed window"] = function*(assert) { + yield asyncWindowLeakTest(assert, _ => { + return new Promise(resolve => { + let loader = Loader(module); + let { open } = loader.require('sdk/event/dom'); + let w = openWindow(); + w.addEventListener("DOMWindowClose", function windowClosed(evt) { + w.removeEventListener("DOMWindowClose", windowClosed); + // The sdk/event/dom module tries to clean itself up when DOMWindowClose + // is fired. Verify that it doesn't leak if its attached to an + // already closed window either. (See bug 1268898.) + open(w.document, "TestEvent1"); + resolve(loader); + }); + w.close(); + }); + }); +} + +require("sdk/test").run(exports); -- cgit v1.2.3