Index: third_party/WebKit/LayoutTests/imported/wpt/clear-site-data/support/echo-clear-site-data.py |
diff --git a/third_party/WebKit/LayoutTests/imported/wpt/clear-site-data/support/echo-clear-site-data.py b/third_party/WebKit/LayoutTests/imported/wpt/clear-site-data/support/echo-clear-site-data.py |
new file mode 100644 |
index 0000000000000000000000000000000000000000..e8ec8d55327c28339c7466fcf613ff784359f2e1 |
--- /dev/null |
+++ b/third_party/WebKit/LayoutTests/imported/wpt/clear-site-data/support/echo-clear-site-data.py |
@@ -0,0 +1,40 @@ |
+import json |
+ |
+RESPONSE = """ |
+<!DOCTYPE html> |
+<html> |
+ <head> |
+ <title>Clear-Site-Data</title> |
+ <script src="test_utils.js"></script> |
+ </head> |
+ <body> |
+ <script> |
+ /** |
+ * A map between a datatype name and whether it is empty. |
+ * @property Object.<string, boolean> |
+ */ |
+ var report = {}; |
+ |
+ Promise.all(TestUtils.DATATYPES.map(function(datatype) { |
+ return datatype.isEmpty().then(function(isEmpty) { |
+ report[datatype.name] = isEmpty; |
+ }); |
+ })).then(function() { |
+ window.top.postMessage(report, "*"); |
+ }); |
+ </script> |
+ </body> |
+</html> |
+""" |
+ |
+# A support server that receives a list of datatypes in the GET query |
+# and returns a Clear-Site-Data header with those datatypes. The content |
+# of the response is a html site using postMessage to report the status |
+# of the datatypes, so that if used in an iframe, it can inform the |
+# embedder whether the data deletion succeeded. |
+def main(request, response): |
+ types = [key for key in request.GET.keys()] |
+ header = json.dumps({ "types": types }) |
+ return ([("Clear-Site-Data", header), |
+ ("Content-Type", "text/html")], |
+ RESPONSE) |