summaryrefslogtreecommitdiffstats
path: root/testing/web-platform/tests/navigation-timing/resources/respond-slowly.py
diff options
context:
space:
mode:
Diffstat (limited to 'testing/web-platform/tests/navigation-timing/resources/respond-slowly.py')
-rw-r--r--testing/web-platform/tests/navigation-timing/resources/respond-slowly.py29
1 files changed, 29 insertions, 0 deletions
diff --git a/testing/web-platform/tests/navigation-timing/resources/respond-slowly.py b/testing/web-platform/tests/navigation-timing/resources/respond-slowly.py
new file mode 100644
index 0000000000..e58e16f1f0
--- /dev/null
+++ b/testing/web-platform/tests/navigation-timing/resources/respond-slowly.py
@@ -0,0 +1,29 @@
+import time
+
+
+def main(request, response):
+ head = b"""<script>
+ let navigationTiming = performance.getEntriesByType('navigation')[0];
+ let originalResponseEnd = navigationTiming.responseEnd;
+ let originalDuration = navigationTiming.duration;
+ function checkResponseEnd() {
+ let responseEndDuringLoadEvent = navigationTiming.responseEnd;
+ let durationDuringLoadEvent = navigationTiming.duration;
+ setTimeout(function() {
+ parent.postMessage([
+ originalResponseEnd,
+ originalDuration,
+ responseEndDuringLoadEvent,
+ durationDuringLoadEvent,
+ navigationTiming.responseEnd,
+ navigationTiming.duration], '*');
+ }, 0);
+ }
+ </script><body onload='checkResponseEnd()'>"""
+ response.headers.set(b"Content-Length", str(len(head) + 1000))
+ response.headers.set(b"Content-Type", b"text/html")
+ response.write_status_headers()
+ response.writer.write_content(head)
+ for i in range(100):
+ response.writer.write_content(b"1234567890")
+ time.sleep(0.01)