1
0
Fork 0
firefox/testing/web-platform/tests/cookies/resources/postToParent.py
Daniel Baumann 5e9a113729
Adding upstream version 140.0.
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
2025-06-25 09:37:52 +02:00

39 lines
977 B
Python

import json
from cookies.resources import helpers
from wptserve.utils import isomorphic_decode
def main(request, response):
headers = helpers.setNoCacheAndCORSHeaders(request, response)
cookies = helpers.readCookies(request)
headers.append((b"Content-Type", b"text/html; charset=utf-8"))
tmpl = u"""
<!DOCTYPE html>
<script>
var data = %s;
data.type = "COOKIES";
try {
data.domcookies = document.cookie;
} catch (e) {}
if (window.parent != window) {
window.parent.postMessage(data, "*");
if (window.top != window.parent)
window.top.postMessage(data, "*");
}
if (window.opener)
window.opener.postMessage(data, "*");
window.addEventListener("message", e => {
console.log(e);
if (e.data == "reload")
window.location.reload();
});
</script>
"""
decoded_cookies = {isomorphic_decode(key): isomorphic_decode(val) for key, val in cookies.items()}
return headers, tmpl % json.dumps(decoded_cookies)