From 26a029d407be480d791972afb5975cf62c9360a6 Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Fri, 19 Apr 2024 02:47:55 +0200 Subject: Adding upstream version 124.0.1. Signed-off-by: Daniel Baumann --- dom/abort/tests/mochitest.toml | 12 ++++ dom/abort/tests/moz.build | 9 +++ dom/abort/tests/slow.sjs | 13 ++++ dom/abort/tests/test_abort_controller.html | 73 +++++++++++++++++++++ dom/abort/tests/test_abort_controller_fetch.html | 80 ++++++++++++++++++++++++ dom/abort/tests/test_event_listener_leaks.html | 43 +++++++++++++ dom/abort/tests/unit/test_abort.js | 8 +++ dom/abort/tests/unit/xpcshell.toml | 5 ++ dom/abort/tests/worker_abort_controller_fetch.js | 33 ++++++++++ 9 files changed, 276 insertions(+) create mode 100644 dom/abort/tests/mochitest.toml create mode 100644 dom/abort/tests/moz.build create mode 100644 dom/abort/tests/slow.sjs create mode 100644 dom/abort/tests/test_abort_controller.html create mode 100644 dom/abort/tests/test_abort_controller_fetch.html create mode 100644 dom/abort/tests/test_event_listener_leaks.html create mode 100644 dom/abort/tests/unit/test_abort.js create mode 100644 dom/abort/tests/unit/xpcshell.toml create mode 100644 dom/abort/tests/worker_abort_controller_fetch.js (limited to 'dom/abort/tests') diff --git a/dom/abort/tests/mochitest.toml b/dom/abort/tests/mochitest.toml new file mode 100644 index 0000000000..9faf48e655 --- /dev/null +++ b/dom/abort/tests/mochitest.toml @@ -0,0 +1,12 @@ +[DEFAULT] +support-files = [ + "worker_abort_controller_fetch.js", + "slow.sjs", + "!/dom/events/test/event_leak_utils.js", +] + +["test_abort_controller.html"] + +["test_abort_controller_fetch.html"] + +["test_event_listener_leaks.html"] diff --git a/dom/abort/tests/moz.build b/dom/abort/tests/moz.build new file mode 100644 index 0000000000..e69f90fccf --- /dev/null +++ b/dom/abort/tests/moz.build @@ -0,0 +1,9 @@ +# -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*- +# vim: set filetype=python: +# 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/. + +MOCHITEST_MANIFESTS += ["mochitest.toml"] + +XPCSHELL_TESTS_MANIFESTS += ["unit/xpcshell.toml"] diff --git a/dom/abort/tests/slow.sjs b/dom/abort/tests/slow.sjs new file mode 100644 index 0000000000..33a9c76b81 --- /dev/null +++ b/dom/abort/tests/slow.sjs @@ -0,0 +1,13 @@ +function handleRequest(request, response) { + response.processAsync(); + + let timer = Cc["@mozilla.org/timer;1"].createInstance(Ci.nsITimer); + timer.init( + function () { + response.write("Here the content. But slowly."); + response.finish(); + }, + 1000, + Ci.nsITimer.TYPE_ONE_SHOT + ); +} diff --git a/dom/abort/tests/test_abort_controller.html b/dom/abort/tests/test_abort_controller.html new file mode 100644 index 0000000000..a7181711d5 --- /dev/null +++ b/dom/abort/tests/test_abort_controller.html @@ -0,0 +1,73 @@ + + + + + Test AbortController + + + + + + + diff --git a/dom/abort/tests/test_abort_controller_fetch.html b/dom/abort/tests/test_abort_controller_fetch.html new file mode 100644 index 0000000000..2342ecda89 --- /dev/null +++ b/dom/abort/tests/test_abort_controller_fetch.html @@ -0,0 +1,80 @@ + + + + + Test AbortController in Fetch API + + + + + + + diff --git a/dom/abort/tests/test_event_listener_leaks.html b/dom/abort/tests/test_event_listener_leaks.html new file mode 100644 index 0000000000..f9684e2309 --- /dev/null +++ b/dom/abort/tests/test_event_listener_leaks.html @@ -0,0 +1,43 @@ + + + + + Bug 1450271 - Test AbortSignal event listener leak conditions + + + + + +

+ + + + diff --git a/dom/abort/tests/unit/test_abort.js b/dom/abort/tests/unit/test_abort.js new file mode 100644 index 0000000000..c1586443cb --- /dev/null +++ b/dom/abort/tests/unit/test_abort.js @@ -0,0 +1,8 @@ +/* Any copyright is dedicated to the Public Domain. + * http://creativecommons.org/publicdomain/zero/1.0/ */ + +function run_test() { + let ac = new AbortController(); + Assert.ok(ac instanceof AbortController); + Assert.ok(ac.signal instanceof AbortSignal); +} diff --git a/dom/abort/tests/unit/xpcshell.toml b/dom/abort/tests/unit/xpcshell.toml new file mode 100644 index 0000000000..2285dc8092 --- /dev/null +++ b/dom/abort/tests/unit/xpcshell.toml @@ -0,0 +1,5 @@ +[DEFAULT] +head = "" +support-files = "" + +["test_abort.js"] diff --git a/dom/abort/tests/worker_abort_controller_fetch.js b/dom/abort/tests/worker_abort_controller_fetch.js new file mode 100644 index 0000000000..571d9ffc7e --- /dev/null +++ b/dom/abort/tests/worker_abort_controller_fetch.js @@ -0,0 +1,33 @@ +function testWorkerAbortedFetch() { + var ac = new AbortController(); + ac.abort(); + + fetch("slow.sjs", { signal: ac.signal }).then( + () => { + postMessage(false); + }, + e => { + postMessage(e.name == "AbortError"); + } + ); +} + +function testWorkerFetchAndAbort() { + var ac = new AbortController(); + + var p = fetch("slow.sjs", { signal: ac.signal }); + ac.abort(); + + p.then( + () => { + postMessage(false); + }, + e => { + postMessage(e.name == "AbortError"); + } + ); +} + +self.onmessage = function (e) { + self[e.data](); +}; -- cgit v1.2.3