summaryrefslogtreecommitdiffstats
path: root/testing/web-platform/tests/document-policy/echo-policy.py
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 /testing/web-platform/tests/document-policy/echo-policy.py
parentInitial commit. (diff)
downloadfirefox-esr-36d22d82aa202bb199967e9512281e9a53db42c9.tar.xz
firefox-esr-36d22d82aa202bb199967e9512281e9a53db42c9.zip
Adding upstream version 115.7.0esr.upstream/115.7.0esr
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'testing/web-platform/tests/document-policy/echo-policy.py')
-rw-r--r--testing/web-platform/tests/document-policy/echo-policy.py30
1 files changed, 30 insertions, 0 deletions
diff --git a/testing/web-platform/tests/document-policy/echo-policy.py b/testing/web-platform/tests/document-policy/echo-policy.py
new file mode 100644
index 0000000000..2ad326dac7
--- /dev/null
+++ b/testing/web-platform/tests/document-policy/echo-policy.py
@@ -0,0 +1,30 @@
+# This will echo the 'Sec-Required-Document-Policy' request header in the body
+# of the response, as well as in the 'Document-Policy' response header (to
+# ensure the response is loaded by a user agent which is implementing document
+# policy.)
+import json
+
+from wptserve.utils import isomorphic_decode
+
+def main(request, response):
+ msg = {}
+ headers = [(b'Content-Type', b'text/html')]
+
+ srdp = request.headers.get(b'Sec-Required-Document-Policy')
+ if srdp:
+ msg[u'requiredPolicy'] = isomorphic_decode(srdp)
+ headers.append((b'Document-Policy', srdp))
+
+ frameId = request.GET.first(b'id',None)
+ if frameId:
+ msg[u'id'] = isomorphic_decode(frameId)
+
+ content = u"""<!DOCTYPE html>
+<script>
+top.postMessage(%s, "*");
+</script>
+%s
+""" % (json.dumps(msg), isomorphic_decode(srdp) if srdp != None else srdp)
+
+ return (200, u'OK'), headers, content
+