summaryrefslogtreecommitdiffstats
path: root/layout/generic/test/file_SlowPage.sjs
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-07 19:33:14 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-07 19:33:14 +0000
commit36d22d82aa202bb199967e9512281e9a53db42c9 (patch)
tree105e8c98ddea1c1e4784a60a5a6410fa416be2de /layout/generic/test/file_SlowPage.sjs
parentInitial commit. (diff)
downloadfirefox-esr-upstream.tar.xz
firefox-esr-upstream.zip
Adding upstream version 115.7.0esr.upstream/115.7.0esrupstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to '')
-rw-r--r--layout/generic/test/file_SlowPage.sjs43
1 files changed, 43 insertions, 0 deletions
diff --git a/layout/generic/test/file_SlowPage.sjs b/layout/generic/test/file_SlowPage.sjs
new file mode 100644
index 0000000000..1860e8cbc9
--- /dev/null
+++ b/layout/generic/test/file_SlowPage.sjs
@@ -0,0 +1,43 @@
+"use strict";
+
+let timer;
+
+const DELAY_MS = 5000;
+
+function handleRequest(request, response) {
+ response.processAsync();
+
+ response.setHeader("Content-Type", "text/html", false);
+
+ // Include paint_listener.js so that we can call waitForAllPaintsFlushed
+ // on the window in which this is opened.
+ response.write(
+ '<script type="text/javascript" src="/tests/SimpleTest/paint_listener.js"></script>'
+ );
+
+ // Allow the opening window to react to loading being complete.
+ response.write('<body onload="window.opener.fullyLoaded()">');
+
+ // Send half of the content.
+ for (let i = 0; i < 100; ++i) {
+ response.write("<p>Some text.</p>");
+ }
+
+ // Allow the opening window to react to being partially loaded.
+ response.write("<script>window.opener.partiallyLoaded();</script>");
+
+ // Wait for 5 seconds, then send the rest of the content.
+ timer = Cc["@mozilla.org/timer;1"].createInstance(Ci.nsITimer);
+ timer.init(
+ () => {
+ for (let i = 0; i < 100; ++i) {
+ response.write("<p>Some text.</p>");
+ }
+ response.write("</body>");
+
+ response.finish();
+ },
+ DELAY_MS,
+ Ci.nsITimer.TYPE_ONE_SHOT
+ );
+}