summaryrefslogtreecommitdiffstats
path: root/testing/web-platform/tests/document-policy/echo-policy.py
diff options
context:
space:
mode:
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
+